Usage based pricing

Overview

Xyte supports both flat pricing and usage-based pricing. Manufacturers can attach multiple counters to a single Device and price each counter independently.

Examples:

  1. Charge a car by distance driven.
  2. Charge a SIM card by data consumed.
  3. Charge a 3D printer by raw material used.
  4. Charge a printer by pages printed.

To support this, the Device emits a Telemetry key per tracked counter — Xyte uses these keys to compute the bill.

Setting up a usage-based product

When creating the product in the Partner Portal, select Usage Based Pricing. The option is available for both Physical Products billed by usage and Digital Products that ship as optional Licenses on top of an existing Device.

For each counter, define:

  1. Tracking telemetry — the Telemetry key that carries the counter value.
  2. Unit price — the price per unit (for example, $1 per 1 km driven).
  3. License name — the name of the License issued when the product is purchased.

When an End User purchases a usage-based product, Xyte generates a License and assigns it to the target Device — automatically during checkout, or manually from the Partner or Customer Portal.

When the Device sees the License via the Send Telemetry response, it resets the Tracking telemetry to 0 and begins reporting it on subsequent Telemetry calls.

Tracking telemetry rules

After the Device acknowledges a pending usage-based License via the Update License API, it must start sending the Tracking telemetry.

Every tracked counter must:

  • Start at 0 when the License is applied.
  • Only increase over time (monotonic).
  • Be an integer.
  • Persist across resets and reboots.

Tracking telemetry doesn't have to ride on every Telemetry call — once an hour is plenty to give the End Customer an accurate view of usage and projected cost.