SeatBasedPrepaidCredits

Seats that come with credits. Each seat is charged unitPrice every period, as for SeatBasedPerUnit, and each unit of eventName uses creditCost credits. A signal's credits come first from the seat of the user it names (data.external_user_id), which a credit benefit with recipient: seat fills, then from the customer's shared credits. Credits used beyond those are billed in arrears at the end of each period, at the overage price as for UsagePrepaidCredits.

Example: 3000 (USD 30.00) a seat a month, a benefit of 50 credits per seat, and contract_reviewed at 1 credit. 2 seats cost USD 60.00 a month. A reviewer with a seat who reviews 70 contracts uses their seat's 50 credits, and the other 20 are overage.

  • Credits each unit of eventName uses.

  • The pricing type. It decides the charge's other fields and how it bills.

  • How often the charge is billed: every 1, 3, 6 or 12 months, or with Custom every billingFrequencyCustomMonths months. Amounts (the price, credit benefits) are per billing period: a quarterly fee is charged once a quarter.

    values
    MonthlyQuarterlySemi-AnnuallyAnnualCustom
  • With billingFrequency: Custom, the length of the billing period in months.

  • When each period is billed. Advance: at the start of the period, for the period ahead. Arrears: at the end, for the period just ended. Usage charges, and the overage of seats that come with credits, are always billed in arrears. Default: Arrears for usage charges, Advance for the rest.

    values
    AdvanceArrears
  • Set by Spondo Billing from pricingType: the kind of charge. Returned, never sent.

  • The credits currency (cc_…) this charge spends. Left out or null: the first one this charge's own credit benefits name, else your default credits currency.

  • The signal event name whose units use credits. Without it (or a meterId), the charge bills its seats only.

  • A meter of the charge's product (mtr_…) to bill in place of eventName: each signal counts its quantity on the meter. Send eventName or meterId, not both. A charge on a meter takes no pricingInput: the meter says what each signal counts.

  • Price of each credit used beyond the customer's credits, in minor units (cents for USD) of the order's currency. Fractions are allowed.

  • Overage price per credit by currency (ISO 4217 code to minor units). Overrides overageUnitPrice in that currency.

    Properties: 1
  • One price point per currency. An order uses the one in its currency, else the first. unitPrice is the fee per seat per period.

    Properties: 5
  • Where a charge that counts signals reads each signal's quantity. Without it, a signal counts the number in data.quantity, else 1. There is no formula language: the quantity is one number read from the signal. It is read once, when the signal arrives, with the pricingInput of a charge on the customer's active orders that prices its event.

    Properties: 1
  • Set by Spondo Billing from pricingType: how the charge is priced. Returned, never sent.

Examples
{
  "pricingType": "SeatBasedPrepaidCredits",
  "eventName": "contract_reviewed",
  "creditCost": 1,
  "billingFrequency": "Monthly",
  "billingType": "Advance",
  "pricePoints": [
    {
      "currency": "USD",
      "unitPrice": 3000
    }
  ]
}