cashless.read for everything read-only, cashless.write to top up
(requires manual activation).
All amounts are integers in cents.
2500 is €25.00. The event’s currency is
in GET /event.Reading a wristband
It is addressed by its radio code, NFC or UHF, which is what your application has after a scan:Anonymous wristbands — the ones sold at the top-up point with no ticket
attached — return
attendee.name: null and anonymous: true. They have no
identified holder, and the internal name they carry is synthetic.Negative balance
balance can be negative. It is not a bug on your side: when a terminal
charges without connectivity and the sale syncs later, the drink has already been
served, and VENTRY would rather record the overdraft than unbalance the till. The
overdraft is capped by the event’s policy.
Purchases
Top-ups and withdrawals
direction: "withdraw" entries are balance refunds to the attendee. amount is
always positive; the direction is given by direction.
Topping up
Only if you havecashless.write. Meant for integrators who charge the top-up on
their own platform — an online top-up app, for instance — and need to reflect it
in VENTRY.
422 topup_failed.
Reconciliation
To pull the takings into your own system:Always group by occurred_at
Always group by occurred_at
A sale made at 22:00 without connectivity and synced at 02:00 carries an
occurred_at of 22:00. If you group by created_at, Friday night’s takings
will appear split between Friday and Saturday.Overlap the window when syncing
Overlap the window when syncing
For the same reason: go back a few hours from your last pass and deduplicate
by
id. See Pagination.unconsumed_balance is not revenue
unconsumed_balance is not revenue
It is the balance left unspent on wristbands. Some will be refunded to
attendees and some will not. Do not add it to sales.
If your key is limited to specific days
If your key is limited to specific days
GET /reports/sales-summary without day returns 422 day_required. This is
deliberate: silently handing you a truncated total would look like the whole
event’s total and would not be. Request each day separately.