POST /Sales
Sales
POST /Sales
Submit a POS sale transaction to NowBookIt. Amounts are in cents.
POST
POST /Sales
Submit a POS sale transaction to NowBookIt, optionally linking it to an existing booking. All monetary amounts are in cents (e.g.
Required body fields
Optional body fields
Price object:
Full Example Request Body
2500 = $25.00).
Your API key
Must be
application/json| Field | Type | Description |
|---|---|---|
origin.saleId | string | POS-generated unique sale ID |
source.type | string | e.g. POS, ONLINE |
type | string | SALE, REFUND, or VOID |
openedZonedDateTime | string | UTC datetime the sale was opened |
staff.id | string | Staff member ID |
table.seats | integer | Number of seats |
| Field | Type | Description |
|---|---|---|
origin.originalSaleId | string | Parent sale ID for refunds |
origin.locationId | string | POS location ID |
origin.locationName | string | POS location name |
locationId | string | NowBookIt integration location ID (required if configured) |
closedZonedDateTime | string | UTC datetime the sale was closed |
bookingId | string | NowBookIt booking ID to link this sale to |
table.number | string | Table number or label |
customer.id | string | Customer ID |
customer.name | string | Customer name |
customer.notes | string | Customer notes |
register.id | string | POS register ID |
register.name | string | POS register name |
section.id | string | Section ID |
section.name | string | Section name |
items | array | Line items — see below |
payments | array | Payment records — see below |
total | Price | Total amount |
subtotal | Price | Subtotal before tax |
tax | Price | Tax amount |
discounts | Price | Discount amount |
surcharges | Price | Surcharge amount |
{ "amount": integer (cents), "currency": "AUD" }
Item fields: id, name, category, quantity, unitPrice (Price), unitPriceTax (Price), total (Price), tax (Price)
Payment fields: method, goodsAndServicesAmount (Price), status
| Status | Description |
|---|---|
200 | Sale submitted |
400 | Sales Record '{saleId}' previously processed. — duplicate sale |
400 | Invalid Location Id {locationId} |
400 | No Venue Subscribed to your App. |
401 | X-API-KEY missing or invalid |
409 | TransactionId - {saleId} currently being processed. — retry after ~1 min |