Skip to content

Money and timezones

Amounts are not in one unit across the API. Check the field’s description in the API reference; the partner endpoints use these:

Where Unit Example
Loyalty card balance (stored value) integer cents 1250 = $12.50
Menu item sales report: item_price, plate_cost, gross_amount, discount_amount, discounted_price, net_amount, margins dollars, decimal 12.5 = $12.50
Loyalty points points, not money 340
Loyalty units whatever unit the code names 12.4 gallons

All amounts are US dollars.

Each restaurant has a timezone, and the API works in it.

  • restaurant_timezone in every response is the IANA name of the token’s restaurant timezone, e.g. America/Chicago.
  • Timestamps in payloads (created_at, redeemed_at, a report’s start_at / end_at) are YYYY-MM-DD HH:MM:SS in that restaurant’s local time, with no offset. Combine them with restaurant_timezone to get an absolute time.
  • response_at is MM/DD/YYYY hh:mmam in the same timezone. Use it for logging only.

Report date parameters (start_at, end_at) are calendar dates, MM/DD/YYYY, and mean business days. A restaurant can start its business day later than midnight, for example at 4:00 am, so sales at 1:30 am count towards the previous day. The response echoes the exact range that was used:

{ "start_at": "2026-10-01 04:00:00", "end_at": "2026-11-01 03:59:59" }