Cart event money fields are sent as decimal major currency units for most currencies. For example, Singapore dollars are sent as dollars, not cents.
Event types
cart.items_fired payload
Each payload carries the full current state of the cart, not a delta. The latest payload replaces everything you stored from earlier ones, so a missed delivery is healed by the next one.
This event fires only for staff-attended POS carts. Self-service carts (QR ordering, kiosk, online) do not fire it. A cart whose order has closed stops firing.
cart_items[].status is sent once the item has been fired to the kitchen, or held while it waits. voided: true marks a removed item. sub_items nests modifiers, using the same fields as a top-level item.
Handling deliveries
Delivery is at-least-once and unordered. Payloads carry no ordering token. Apply these rules:- Match cart events and order events for the same visit on the cart
id. It equals the order payload’scart_id. - Treat each payload as the full cart state. Replace what you stored for that cart. A stale or duplicate delivery is corrected by the next kitchen send.
- Discard
status: "open"payloads for a cart whose closing order event you have already processed.