Skip to main content
POST
/
Reservations
POST /Reservations
curl --request POST \
  --url https://{base_url}/Reservations \
  --header 'Content-Type: <content-type>' \
  --header 'X-API-KEY: <x-api-key>' \
  --data '
{
  "numOfPeople": 123,
  "bookingTimeAsUtc": "<string>",
  "time": "<string>",
  "serviceId": "<string>",
  "sectionId": "<string>",
  "bookingId": "<string>",
  "notes": "<string>",
  "duration": 123,
  "status": "<string>",
  "staffId": "<string>",
  "staffName": "<string>",
  "tables": [
    {}
  ],
  "customer": {},
  "links": [
    {}
  ]
}
'
Create a new reservation in NowBookIt from an external system such as a POS. Unlike POST /Bookings, this endpoint is designed for walk-in or POS-originated reservations and does not enforce online availability rules.
X-API-KEY
string
required
Your API key
Content-Type
string
required
Must be application/json
numOfPeople
integer
required
Number of guests (minimum 1)
bookingTimeAsUtc
string
UTC datetime. Takes precedence over time. Format: yyyy-MM-ddTHH:mm:ssZ
time
string
Venue local timezone datetime. Ignored if bookingTimeAsUtc is present. Format: yyyy-MM-dd HH:mm
serviceId
string
NowBookIt service ID. Retrieve from GET /Bookings/schedule.
sectionId
string
NowBookIt section ID
bookingId
string
External booking ID from your system
notes
string
Booking notes visible in NowBookIt
duration
integer
Duration in minutes. Overrides service default.
status
string
Booking status from POS
staffId
string
Staff member ID
staffName
string
Staff member name
tables
array
NowBookIt table IDs. Retrieve from GET /Bookings/tables.
customer
object
Customer details: id, firstName, lastName, email, phone, company, address (line1, line2, city, state, postalCode, country)
Additional links: [{ linkName, linkURL }]
curl --location '[BASE_URL]/Reservations' \
--header 'X-API-KEY: your_api_key_here' \
--header 'Content-Type: application/json' \
--data '{
  "bookingTimeAsUtc": "2024-03-20T19:00:00Z",
  "numOfPeople": 4,
  "serviceId": "svc-101",
  "notes": "Anniversary dinner"
}'
Example Request Body
{
  "bookingTimeAsUtc": "2024-03-20T19:00:00Z",
  "numOfPeople": 4,
  "serviceId": "svc-101",
  "sectionId": "sec-1",
  "notes": "Anniversary dinner, window table preferred",
  "duration": 90,
  "tables": ["tbl-5"],
  "customer": {
    "firstName": "Jane",
    "lastName": "Smith",
    "email": "jane.smith@example.com",
    "phone": "+61412345678"
  },
  "links": [
    { "linkName": "POS Order", "linkURL": "https://pos.example.com/orders/9981" }
  ]
}
StatusDescription
201Reservation created
400loggedInAppId
400No Venue Subscribed to your App.
400Invalid Booking Time passed in the payload.
400No service available for booking time '{bookingTime}' and Pax '{numOfPeople}'
400Invalid Service '{serviceId}'
401X-API-KEY missing or invalid
500An error occurred. Unable to create new reservation.