Create Sale
curl --request POST \
--url https://ipos.dev.nowbookit.com/Sales \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"origin": {
"saleId": "<string>",
"originalSaleId": "<string>",
"locationId": "<string>",
"locationName": "<string>"
},
"source": {
"type": "<string>",
"other": "<string>"
},
"type": "<string>",
"openedZonedDateTime": "2023-11-07T05:31:56Z",
"staff": {
"id": "<string>"
},
"table": {
"seats": 123,
"number": "<string>"
},
"locationId": "<string>",
"status": "<string>",
"closedZonedDateTime": "2023-11-07T05:31:56Z",
"customer": {
"id": "<string>",
"name": "<string>",
"notes": "<string>"
},
"register": {
"id": "<string>",
"name": "<string>"
},
"section": {
"id": "<string>",
"name": "<string>"
},
"bookingId": "<string>",
"items": [
{
"id": "<string>",
"name": "<string>",
"unitPrice": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"unitPriceTax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"quantity": 123,
"total": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"tax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"category": "<string>",
"description": "<string>",
"sku": "<string>",
"barcode": "<string>",
"modifiers": [
{
"id": "<string>",
"name": "<string>",
"unitPrice": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"unitPriceTax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"quantity": 123,
"total": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"tax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"category": "<string>",
"description": "<string>",
"sku": "<string>",
"barcode": "<string>",
"discounts": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
],
"surcharges": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
]
}
],
"discounts": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
],
"surcharges": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
]
}
],
"payments": [
{
"method": "<string>",
"goodsAndServicesAmount": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"acquirer": {
"name": "<string>",
"transactionReference": "<string>",
"terminalId": "<string>"
},
"tipAmount": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"surchargeAmount": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"status": "<string>"
}
],
"tax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"discounts": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
],
"surcharges": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
],
"total": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"subtotal": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
}
'import requests
url = "https://ipos.dev.nowbookit.com/Sales"
payload = {
"origin": {
"saleId": "<string>",
"originalSaleId": "<string>",
"locationId": "<string>",
"locationName": "<string>"
},
"source": {
"type": "<string>",
"other": "<string>"
},
"type": "<string>",
"openedZonedDateTime": "2023-11-07T05:31:56Z",
"staff": { "id": "<string>" },
"table": {
"seats": 123,
"number": "<string>"
},
"locationId": "<string>",
"status": "<string>",
"closedZonedDateTime": "2023-11-07T05:31:56Z",
"customer": {
"id": "<string>",
"name": "<string>",
"notes": "<string>"
},
"register": {
"id": "<string>",
"name": "<string>"
},
"section": {
"id": "<string>",
"name": "<string>"
},
"bookingId": "<string>",
"items": [
{
"id": "<string>",
"name": "<string>",
"unitPrice": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"unitPriceTax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"quantity": 123,
"total": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"tax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"category": "<string>",
"description": "<string>",
"sku": "<string>",
"barcode": "<string>",
"modifiers": [
{
"id": "<string>",
"name": "<string>",
"unitPrice": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"unitPriceTax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"quantity": 123,
"total": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"tax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"category": "<string>",
"description": "<string>",
"sku": "<string>",
"barcode": "<string>",
"discounts": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
],
"surcharges": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
]
}
],
"discounts": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
],
"surcharges": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
]
}
],
"payments": [
{
"method": "<string>",
"goodsAndServicesAmount": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"acquirer": {
"name": "<string>",
"transactionReference": "<string>",
"terminalId": "<string>"
},
"tipAmount": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"surchargeAmount": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"status": "<string>"
}
],
"tax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"discounts": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
],
"surcharges": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
],
"total": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"subtotal": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
origin: {
saleId: '<string>',
originalSaleId: '<string>',
locationId: '<string>',
locationName: '<string>'
},
source: {type: '<string>', other: '<string>'},
type: '<string>',
openedZonedDateTime: '2023-11-07T05:31:56Z',
staff: {id: '<string>'},
table: {seats: 123, number: '<string>'},
locationId: '<string>',
status: '<string>',
closedZonedDateTime: '2023-11-07T05:31:56Z',
customer: {id: '<string>', name: '<string>', notes: '<string>'},
register: {id: '<string>', name: '<string>'},
section: {id: '<string>', name: '<string>'},
bookingId: '<string>',
items: [
{
id: '<string>',
name: '<string>',
unitPrice: {amount: 123, currency: '<string>', description: '<string>'},
unitPriceTax: {amount: 123, currency: '<string>', description: '<string>'},
quantity: 123,
total: {amount: 123, currency: '<string>', description: '<string>'},
tax: {amount: 123, currency: '<string>', description: '<string>'},
category: '<string>',
description: '<string>',
sku: '<string>',
barcode: '<string>',
modifiers: [
{
id: '<string>',
name: '<string>',
unitPrice: {amount: 123, currency: '<string>', description: '<string>'},
unitPriceTax: {amount: 123, currency: '<string>', description: '<string>'},
quantity: 123,
total: {amount: 123, currency: '<string>', description: '<string>'},
tax: {amount: 123, currency: '<string>', description: '<string>'},
category: '<string>',
description: '<string>',
sku: '<string>',
barcode: '<string>',
discounts: [{amount: 123, currency: '<string>', description: '<string>'}],
surcharges: [{amount: 123, currency: '<string>', description: '<string>'}]
}
],
discounts: [{amount: 123, currency: '<string>', description: '<string>'}],
surcharges: [{amount: 123, currency: '<string>', description: '<string>'}]
}
],
payments: [
{
method: '<string>',
goodsAndServicesAmount: {amount: 123, currency: '<string>', description: '<string>'},
acquirer: {name: '<string>', transactionReference: '<string>', terminalId: '<string>'},
tipAmount: {amount: 123, currency: '<string>', description: '<string>'},
surchargeAmount: {amount: 123, currency: '<string>', description: '<string>'},
status: '<string>'
}
],
tax: {amount: 123, currency: '<string>', description: '<string>'},
discounts: [{amount: 123, currency: '<string>', description: '<string>'}],
surcharges: [{amount: 123, currency: '<string>', description: '<string>'}],
total: {amount: 123, currency: '<string>', description: '<string>'},
subtotal: {amount: 123, currency: '<string>', description: '<string>'}
})
};
fetch('https://ipos.dev.nowbookit.com/Sales', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://ipos.dev.nowbookit.com/Sales",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'origin' => [
'saleId' => '<string>',
'originalSaleId' => '<string>',
'locationId' => '<string>',
'locationName' => '<string>'
],
'source' => [
'type' => '<string>',
'other' => '<string>'
],
'type' => '<string>',
'openedZonedDateTime' => '2023-11-07T05:31:56Z',
'staff' => [
'id' => '<string>'
],
'table' => [
'seats' => 123,
'number' => '<string>'
],
'locationId' => '<string>',
'status' => '<string>',
'closedZonedDateTime' => '2023-11-07T05:31:56Z',
'customer' => [
'id' => '<string>',
'name' => '<string>',
'notes' => '<string>'
],
'register' => [
'id' => '<string>',
'name' => '<string>'
],
'section' => [
'id' => '<string>',
'name' => '<string>'
],
'bookingId' => '<string>',
'items' => [
[
'id' => '<string>',
'name' => '<string>',
'unitPrice' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'unitPriceTax' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'quantity' => 123,
'total' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'tax' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'category' => '<string>',
'description' => '<string>',
'sku' => '<string>',
'barcode' => '<string>',
'modifiers' => [
[
'id' => '<string>',
'name' => '<string>',
'unitPrice' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'unitPriceTax' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'quantity' => 123,
'total' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'tax' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'category' => '<string>',
'description' => '<string>',
'sku' => '<string>',
'barcode' => '<string>',
'discounts' => [
[
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
]
],
'surcharges' => [
[
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
]
]
]
],
'discounts' => [
[
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
]
],
'surcharges' => [
[
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
]
]
]
],
'payments' => [
[
'method' => '<string>',
'goodsAndServicesAmount' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'acquirer' => [
'name' => '<string>',
'transactionReference' => '<string>',
'terminalId' => '<string>'
],
'tipAmount' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'surchargeAmount' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'status' => '<string>'
]
],
'tax' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'discounts' => [
[
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
]
],
'surcharges' => [
[
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
]
],
'total' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'subtotal' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://ipos.dev.nowbookit.com/Sales"
payload := strings.NewReader("{\n \"origin\": {\n \"saleId\": \"<string>\",\n \"originalSaleId\": \"<string>\",\n \"locationId\": \"<string>\",\n \"locationName\": \"<string>\"\n },\n \"source\": {\n \"type\": \"<string>\",\n \"other\": \"<string>\"\n },\n \"type\": \"<string>\",\n \"openedZonedDateTime\": \"2023-11-07T05:31:56Z\",\n \"staff\": {\n \"id\": \"<string>\"\n },\n \"table\": {\n \"seats\": 123,\n \"number\": \"<string>\"\n },\n \"locationId\": \"<string>\",\n \"status\": \"<string>\",\n \"closedZonedDateTime\": \"2023-11-07T05:31:56Z\",\n \"customer\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"notes\": \"<string>\"\n },\n \"register\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\"\n },\n \"section\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\"\n },\n \"bookingId\": \"<string>\",\n \"items\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"unitPrice\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"unitPriceTax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"quantity\": 123,\n \"total\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"tax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"category\": \"<string>\",\n \"description\": \"<string>\",\n \"sku\": \"<string>\",\n \"barcode\": \"<string>\",\n \"modifiers\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"unitPrice\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"unitPriceTax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"quantity\": 123,\n \"total\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"tax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"category\": \"<string>\",\n \"description\": \"<string>\",\n \"sku\": \"<string>\",\n \"barcode\": \"<string>\",\n \"discounts\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"surcharges\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n }\n ],\n \"discounts\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"surcharges\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n }\n ],\n \"payments\": [\n {\n \"method\": \"<string>\",\n \"goodsAndServicesAmount\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"acquirer\": {\n \"name\": \"<string>\",\n \"transactionReference\": \"<string>\",\n \"terminalId\": \"<string>\"\n },\n \"tipAmount\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"surchargeAmount\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"status\": \"<string>\"\n }\n ],\n \"tax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"discounts\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"surcharges\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"total\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"subtotal\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://ipos.dev.nowbookit.com/Sales")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"origin\": {\n \"saleId\": \"<string>\",\n \"originalSaleId\": \"<string>\",\n \"locationId\": \"<string>\",\n \"locationName\": \"<string>\"\n },\n \"source\": {\n \"type\": \"<string>\",\n \"other\": \"<string>\"\n },\n \"type\": \"<string>\",\n \"openedZonedDateTime\": \"2023-11-07T05:31:56Z\",\n \"staff\": {\n \"id\": \"<string>\"\n },\n \"table\": {\n \"seats\": 123,\n \"number\": \"<string>\"\n },\n \"locationId\": \"<string>\",\n \"status\": \"<string>\",\n \"closedZonedDateTime\": \"2023-11-07T05:31:56Z\",\n \"customer\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"notes\": \"<string>\"\n },\n \"register\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\"\n },\n \"section\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\"\n },\n \"bookingId\": \"<string>\",\n \"items\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"unitPrice\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"unitPriceTax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"quantity\": 123,\n \"total\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"tax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"category\": \"<string>\",\n \"description\": \"<string>\",\n \"sku\": \"<string>\",\n \"barcode\": \"<string>\",\n \"modifiers\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"unitPrice\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"unitPriceTax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"quantity\": 123,\n \"total\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"tax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"category\": \"<string>\",\n \"description\": \"<string>\",\n \"sku\": \"<string>\",\n \"barcode\": \"<string>\",\n \"discounts\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"surcharges\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n }\n ],\n \"discounts\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"surcharges\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n }\n ],\n \"payments\": [\n {\n \"method\": \"<string>\",\n \"goodsAndServicesAmount\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"acquirer\": {\n \"name\": \"<string>\",\n \"transactionReference\": \"<string>\",\n \"terminalId\": \"<string>\"\n },\n \"tipAmount\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"surchargeAmount\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"status\": \"<string>\"\n }\n ],\n \"tax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"discounts\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"surcharges\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"total\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"subtotal\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://ipos.dev.nowbookit.com/Sales")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"origin\": {\n \"saleId\": \"<string>\",\n \"originalSaleId\": \"<string>\",\n \"locationId\": \"<string>\",\n \"locationName\": \"<string>\"\n },\n \"source\": {\n \"type\": \"<string>\",\n \"other\": \"<string>\"\n },\n \"type\": \"<string>\",\n \"openedZonedDateTime\": \"2023-11-07T05:31:56Z\",\n \"staff\": {\n \"id\": \"<string>\"\n },\n \"table\": {\n \"seats\": 123,\n \"number\": \"<string>\"\n },\n \"locationId\": \"<string>\",\n \"status\": \"<string>\",\n \"closedZonedDateTime\": \"2023-11-07T05:31:56Z\",\n \"customer\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"notes\": \"<string>\"\n },\n \"register\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\"\n },\n \"section\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\"\n },\n \"bookingId\": \"<string>\",\n \"items\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"unitPrice\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"unitPriceTax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"quantity\": 123,\n \"total\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"tax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"category\": \"<string>\",\n \"description\": \"<string>\",\n \"sku\": \"<string>\",\n \"barcode\": \"<string>\",\n \"modifiers\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"unitPrice\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"unitPriceTax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"quantity\": 123,\n \"total\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"tax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"category\": \"<string>\",\n \"description\": \"<string>\",\n \"sku\": \"<string>\",\n \"barcode\": \"<string>\",\n \"discounts\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"surcharges\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n }\n ],\n \"discounts\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"surcharges\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n }\n ],\n \"payments\": [\n {\n \"method\": \"<string>\",\n \"goodsAndServicesAmount\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"acquirer\": {\n \"name\": \"<string>\",\n \"transactionReference\": \"<string>\",\n \"terminalId\": \"<string>\"\n },\n \"tipAmount\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"surchargeAmount\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"status\": \"<string>\"\n }\n ],\n \"tax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"discounts\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"surcharges\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"total\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"subtotal\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_bodySales
POST /Sales
Submit a POS sale transaction to NowBookIt. Amounts are in cents.
POST
/
Sales
Create Sale
curl --request POST \
--url https://ipos.dev.nowbookit.com/Sales \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"origin": {
"saleId": "<string>",
"originalSaleId": "<string>",
"locationId": "<string>",
"locationName": "<string>"
},
"source": {
"type": "<string>",
"other": "<string>"
},
"type": "<string>",
"openedZonedDateTime": "2023-11-07T05:31:56Z",
"staff": {
"id": "<string>"
},
"table": {
"seats": 123,
"number": "<string>"
},
"locationId": "<string>",
"status": "<string>",
"closedZonedDateTime": "2023-11-07T05:31:56Z",
"customer": {
"id": "<string>",
"name": "<string>",
"notes": "<string>"
},
"register": {
"id": "<string>",
"name": "<string>"
},
"section": {
"id": "<string>",
"name": "<string>"
},
"bookingId": "<string>",
"items": [
{
"id": "<string>",
"name": "<string>",
"unitPrice": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"unitPriceTax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"quantity": 123,
"total": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"tax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"category": "<string>",
"description": "<string>",
"sku": "<string>",
"barcode": "<string>",
"modifiers": [
{
"id": "<string>",
"name": "<string>",
"unitPrice": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"unitPriceTax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"quantity": 123,
"total": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"tax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"category": "<string>",
"description": "<string>",
"sku": "<string>",
"barcode": "<string>",
"discounts": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
],
"surcharges": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
]
}
],
"discounts": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
],
"surcharges": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
]
}
],
"payments": [
{
"method": "<string>",
"goodsAndServicesAmount": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"acquirer": {
"name": "<string>",
"transactionReference": "<string>",
"terminalId": "<string>"
},
"tipAmount": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"surchargeAmount": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"status": "<string>"
}
],
"tax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"discounts": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
],
"surcharges": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
],
"total": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"subtotal": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
}
'import requests
url = "https://ipos.dev.nowbookit.com/Sales"
payload = {
"origin": {
"saleId": "<string>",
"originalSaleId": "<string>",
"locationId": "<string>",
"locationName": "<string>"
},
"source": {
"type": "<string>",
"other": "<string>"
},
"type": "<string>",
"openedZonedDateTime": "2023-11-07T05:31:56Z",
"staff": { "id": "<string>" },
"table": {
"seats": 123,
"number": "<string>"
},
"locationId": "<string>",
"status": "<string>",
"closedZonedDateTime": "2023-11-07T05:31:56Z",
"customer": {
"id": "<string>",
"name": "<string>",
"notes": "<string>"
},
"register": {
"id": "<string>",
"name": "<string>"
},
"section": {
"id": "<string>",
"name": "<string>"
},
"bookingId": "<string>",
"items": [
{
"id": "<string>",
"name": "<string>",
"unitPrice": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"unitPriceTax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"quantity": 123,
"total": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"tax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"category": "<string>",
"description": "<string>",
"sku": "<string>",
"barcode": "<string>",
"modifiers": [
{
"id": "<string>",
"name": "<string>",
"unitPrice": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"unitPriceTax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"quantity": 123,
"total": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"tax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"category": "<string>",
"description": "<string>",
"sku": "<string>",
"barcode": "<string>",
"discounts": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
],
"surcharges": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
]
}
],
"discounts": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
],
"surcharges": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
]
}
],
"payments": [
{
"method": "<string>",
"goodsAndServicesAmount": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"acquirer": {
"name": "<string>",
"transactionReference": "<string>",
"terminalId": "<string>"
},
"tipAmount": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"surchargeAmount": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"status": "<string>"
}
],
"tax": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"discounts": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
],
"surcharges": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
],
"total": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
},
"subtotal": {
"amount": 123,
"currency": "<string>",
"description": "<string>"
}
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
origin: {
saleId: '<string>',
originalSaleId: '<string>',
locationId: '<string>',
locationName: '<string>'
},
source: {type: '<string>', other: '<string>'},
type: '<string>',
openedZonedDateTime: '2023-11-07T05:31:56Z',
staff: {id: '<string>'},
table: {seats: 123, number: '<string>'},
locationId: '<string>',
status: '<string>',
closedZonedDateTime: '2023-11-07T05:31:56Z',
customer: {id: '<string>', name: '<string>', notes: '<string>'},
register: {id: '<string>', name: '<string>'},
section: {id: '<string>', name: '<string>'},
bookingId: '<string>',
items: [
{
id: '<string>',
name: '<string>',
unitPrice: {amount: 123, currency: '<string>', description: '<string>'},
unitPriceTax: {amount: 123, currency: '<string>', description: '<string>'},
quantity: 123,
total: {amount: 123, currency: '<string>', description: '<string>'},
tax: {amount: 123, currency: '<string>', description: '<string>'},
category: '<string>',
description: '<string>',
sku: '<string>',
barcode: '<string>',
modifiers: [
{
id: '<string>',
name: '<string>',
unitPrice: {amount: 123, currency: '<string>', description: '<string>'},
unitPriceTax: {amount: 123, currency: '<string>', description: '<string>'},
quantity: 123,
total: {amount: 123, currency: '<string>', description: '<string>'},
tax: {amount: 123, currency: '<string>', description: '<string>'},
category: '<string>',
description: '<string>',
sku: '<string>',
barcode: '<string>',
discounts: [{amount: 123, currency: '<string>', description: '<string>'}],
surcharges: [{amount: 123, currency: '<string>', description: '<string>'}]
}
],
discounts: [{amount: 123, currency: '<string>', description: '<string>'}],
surcharges: [{amount: 123, currency: '<string>', description: '<string>'}]
}
],
payments: [
{
method: '<string>',
goodsAndServicesAmount: {amount: 123, currency: '<string>', description: '<string>'},
acquirer: {name: '<string>', transactionReference: '<string>', terminalId: '<string>'},
tipAmount: {amount: 123, currency: '<string>', description: '<string>'},
surchargeAmount: {amount: 123, currency: '<string>', description: '<string>'},
status: '<string>'
}
],
tax: {amount: 123, currency: '<string>', description: '<string>'},
discounts: [{amount: 123, currency: '<string>', description: '<string>'}],
surcharges: [{amount: 123, currency: '<string>', description: '<string>'}],
total: {amount: 123, currency: '<string>', description: '<string>'},
subtotal: {amount: 123, currency: '<string>', description: '<string>'}
})
};
fetch('https://ipos.dev.nowbookit.com/Sales', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://ipos.dev.nowbookit.com/Sales",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'origin' => [
'saleId' => '<string>',
'originalSaleId' => '<string>',
'locationId' => '<string>',
'locationName' => '<string>'
],
'source' => [
'type' => '<string>',
'other' => '<string>'
],
'type' => '<string>',
'openedZonedDateTime' => '2023-11-07T05:31:56Z',
'staff' => [
'id' => '<string>'
],
'table' => [
'seats' => 123,
'number' => '<string>'
],
'locationId' => '<string>',
'status' => '<string>',
'closedZonedDateTime' => '2023-11-07T05:31:56Z',
'customer' => [
'id' => '<string>',
'name' => '<string>',
'notes' => '<string>'
],
'register' => [
'id' => '<string>',
'name' => '<string>'
],
'section' => [
'id' => '<string>',
'name' => '<string>'
],
'bookingId' => '<string>',
'items' => [
[
'id' => '<string>',
'name' => '<string>',
'unitPrice' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'unitPriceTax' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'quantity' => 123,
'total' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'tax' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'category' => '<string>',
'description' => '<string>',
'sku' => '<string>',
'barcode' => '<string>',
'modifiers' => [
[
'id' => '<string>',
'name' => '<string>',
'unitPrice' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'unitPriceTax' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'quantity' => 123,
'total' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'tax' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'category' => '<string>',
'description' => '<string>',
'sku' => '<string>',
'barcode' => '<string>',
'discounts' => [
[
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
]
],
'surcharges' => [
[
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
]
]
]
],
'discounts' => [
[
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
]
],
'surcharges' => [
[
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
]
]
]
],
'payments' => [
[
'method' => '<string>',
'goodsAndServicesAmount' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'acquirer' => [
'name' => '<string>',
'transactionReference' => '<string>',
'terminalId' => '<string>'
],
'tipAmount' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'surchargeAmount' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'status' => '<string>'
]
],
'tax' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'discounts' => [
[
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
]
],
'surcharges' => [
[
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
]
],
'total' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
],
'subtotal' => [
'amount' => 123,
'currency' => '<string>',
'description' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://ipos.dev.nowbookit.com/Sales"
payload := strings.NewReader("{\n \"origin\": {\n \"saleId\": \"<string>\",\n \"originalSaleId\": \"<string>\",\n \"locationId\": \"<string>\",\n \"locationName\": \"<string>\"\n },\n \"source\": {\n \"type\": \"<string>\",\n \"other\": \"<string>\"\n },\n \"type\": \"<string>\",\n \"openedZonedDateTime\": \"2023-11-07T05:31:56Z\",\n \"staff\": {\n \"id\": \"<string>\"\n },\n \"table\": {\n \"seats\": 123,\n \"number\": \"<string>\"\n },\n \"locationId\": \"<string>\",\n \"status\": \"<string>\",\n \"closedZonedDateTime\": \"2023-11-07T05:31:56Z\",\n \"customer\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"notes\": \"<string>\"\n },\n \"register\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\"\n },\n \"section\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\"\n },\n \"bookingId\": \"<string>\",\n \"items\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"unitPrice\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"unitPriceTax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"quantity\": 123,\n \"total\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"tax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"category\": \"<string>\",\n \"description\": \"<string>\",\n \"sku\": \"<string>\",\n \"barcode\": \"<string>\",\n \"modifiers\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"unitPrice\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"unitPriceTax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"quantity\": 123,\n \"total\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"tax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"category\": \"<string>\",\n \"description\": \"<string>\",\n \"sku\": \"<string>\",\n \"barcode\": \"<string>\",\n \"discounts\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"surcharges\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n }\n ],\n \"discounts\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"surcharges\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n }\n ],\n \"payments\": [\n {\n \"method\": \"<string>\",\n \"goodsAndServicesAmount\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"acquirer\": {\n \"name\": \"<string>\",\n \"transactionReference\": \"<string>\",\n \"terminalId\": \"<string>\"\n },\n \"tipAmount\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"surchargeAmount\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"status\": \"<string>\"\n }\n ],\n \"tax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"discounts\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"surcharges\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"total\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"subtotal\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://ipos.dev.nowbookit.com/Sales")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"origin\": {\n \"saleId\": \"<string>\",\n \"originalSaleId\": \"<string>\",\n \"locationId\": \"<string>\",\n \"locationName\": \"<string>\"\n },\n \"source\": {\n \"type\": \"<string>\",\n \"other\": \"<string>\"\n },\n \"type\": \"<string>\",\n \"openedZonedDateTime\": \"2023-11-07T05:31:56Z\",\n \"staff\": {\n \"id\": \"<string>\"\n },\n \"table\": {\n \"seats\": 123,\n \"number\": \"<string>\"\n },\n \"locationId\": \"<string>\",\n \"status\": \"<string>\",\n \"closedZonedDateTime\": \"2023-11-07T05:31:56Z\",\n \"customer\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"notes\": \"<string>\"\n },\n \"register\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\"\n },\n \"section\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\"\n },\n \"bookingId\": \"<string>\",\n \"items\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"unitPrice\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"unitPriceTax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"quantity\": 123,\n \"total\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"tax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"category\": \"<string>\",\n \"description\": \"<string>\",\n \"sku\": \"<string>\",\n \"barcode\": \"<string>\",\n \"modifiers\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"unitPrice\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"unitPriceTax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"quantity\": 123,\n \"total\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"tax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"category\": \"<string>\",\n \"description\": \"<string>\",\n \"sku\": \"<string>\",\n \"barcode\": \"<string>\",\n \"discounts\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"surcharges\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n }\n ],\n \"discounts\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"surcharges\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n }\n ],\n \"payments\": [\n {\n \"method\": \"<string>\",\n \"goodsAndServicesAmount\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"acquirer\": {\n \"name\": \"<string>\",\n \"transactionReference\": \"<string>\",\n \"terminalId\": \"<string>\"\n },\n \"tipAmount\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"surchargeAmount\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"status\": \"<string>\"\n }\n ],\n \"tax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"discounts\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"surcharges\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"total\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"subtotal\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://ipos.dev.nowbookit.com/Sales")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"origin\": {\n \"saleId\": \"<string>\",\n \"originalSaleId\": \"<string>\",\n \"locationId\": \"<string>\",\n \"locationName\": \"<string>\"\n },\n \"source\": {\n \"type\": \"<string>\",\n \"other\": \"<string>\"\n },\n \"type\": \"<string>\",\n \"openedZonedDateTime\": \"2023-11-07T05:31:56Z\",\n \"staff\": {\n \"id\": \"<string>\"\n },\n \"table\": {\n \"seats\": 123,\n \"number\": \"<string>\"\n },\n \"locationId\": \"<string>\",\n \"status\": \"<string>\",\n \"closedZonedDateTime\": \"2023-11-07T05:31:56Z\",\n \"customer\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"notes\": \"<string>\"\n },\n \"register\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\"\n },\n \"section\": {\n \"id\": \"<string>\",\n \"name\": \"<string>\"\n },\n \"bookingId\": \"<string>\",\n \"items\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"unitPrice\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"unitPriceTax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"quantity\": 123,\n \"total\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"tax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"category\": \"<string>\",\n \"description\": \"<string>\",\n \"sku\": \"<string>\",\n \"barcode\": \"<string>\",\n \"modifiers\": [\n {\n \"id\": \"<string>\",\n \"name\": \"<string>\",\n \"unitPrice\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"unitPriceTax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"quantity\": 123,\n \"total\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"tax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"category\": \"<string>\",\n \"description\": \"<string>\",\n \"sku\": \"<string>\",\n \"barcode\": \"<string>\",\n \"discounts\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"surcharges\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n }\n ],\n \"discounts\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"surcharges\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ]\n }\n ],\n \"payments\": [\n {\n \"method\": \"<string>\",\n \"goodsAndServicesAmount\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"acquirer\": {\n \"name\": \"<string>\",\n \"transactionReference\": \"<string>\",\n \"terminalId\": \"<string>\"\n },\n \"tipAmount\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"surchargeAmount\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"status\": \"<string>\"\n }\n ],\n \"tax\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"discounts\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"surcharges\": [\n {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n ],\n \"total\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n },\n \"subtotal\": {\n \"amount\": 123,\n \"currency\": \"<string>\",\n \"description\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_bodySubmit 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).
string
required
Your API key
string
required
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
curl --location '[BASE_URL]/Sales' \
--header 'X-API-KEY: your_api_key_here' \
--header 'Content-Type: application/json' \
--data '{ "origin": { "saleId": "pos-sale-9981" }, "source": { "type": "POS" }, "type": "SALE", "openedZonedDateTime": "2024-03-20T19:05:00Z", "staff": { "id": "staff-7" }, "table": { "seats": 4, "number": "5" } }'
{
"origin": { "saleId": "pos-sale-9981", "locationId": "loc-1", "locationName": "Main Venue" },
"source": { "type": "POS" },
"type": "SALE",
"openedZonedDateTime": "2024-03-20T19:05:00Z",
"closedZonedDateTime": "2024-03-20T20:45:00Z",
"bookingId": "abc-123",
"staff": { "id": "staff-7" },
"table": { "seats": 4, "number": "5" },
"total": { "amount": 18500, "currency": "AUD" },
"items": [
{
"id": "item-1",
"name": "Wagyu Steak",
"category": "food",
"quantity": 2,
"unitPrice": { "amount": 6500, "currency": "AUD" },
"unitPriceTax": { "amount": 591, "currency": "AUD" },
"total": { "amount": 13000, "currency": "AUD" },
"tax": { "amount": 1182, "currency": "AUD" }
}
],
"payments": [
{ "method": "EFTPOS", "goodsAndServicesAmount": { "amount": 18500, "currency": "AUD" }, "status": "APPROVED" }
]
}
| 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 |
Authorizations
Headers
API Key authentication header
Body
application/json
Show child attributes
Show child attributes
Show child attributes
Show child attributes
The Type of Sale. E.g. SALE, REFUND, VOID
Minimum string length:
1The time (in UTC) the sale was opened on the POS.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
The Now Book It Booking Id to associate this sale transaction with.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
OK
⌘I