Update Booking
Update an existing booking's details. All fields are optional — only the fields you include will be changed.
This endpoint is protected by RMS idempotency middleware. You must send an
Idempotency-Key header.
Authorization
bearerAuth Supports two token types:
- Restaurant tokens — API tokens with
restaurant-apiability, issued per restaurant. - User tokens — Personal access tokens with
mobile-accessability (e.g. for the mobile app). When managing multiple restaurants, includeX-Restaurant-Id: <id>header.
In: header
Path Parameters
Booking ID (integer) or reference string (e.g. API-ABC123).
Header Parameters
Unique idempotency key for this update request.
^[a-zA-Z0-9-]{1,64}$1 <= length <= 64Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://devrms.tabdevx.com/api/restaurant/bookings/string" \ -H "Idempotency-Key: string" \ -H "Content-Type: application/json" \ -d '{ "adults": 6, "comment": "Updated — now 6 guests", "table_ids": [ 1, 3 ] }'{
"data": {
"id": 0,
"reference": "string",
"status": "confirmed",
"date": "2019-08-24T14:15:22Z",
"end_time": "2019-08-24T14:15:22Z",
"adults": 0,
"children": 0,
"no_of_adults": 0,
"no_of_children": 0,
"comment": "string",
"private_comment": "string",
"company": "string",
"room_number": "string",
"custom_field": "string",
"waiting_list": true,
"created_by": "string",
"is_reconfirmed": true,
"is_reconfirmation_request_sent": true,
"dining_area": {
"id": 0,
"name": "string"
},
"tables": [
{
"id": 0,
"name": "string",
"min_covers": 0,
"max_covers": 0
}
],
"capabilities": {
"can_cancel": true,
"can_no_show": true,
"can_check_in": true
},
"patron": {
"id": 0,
"name": "string",
"email": "user@example.com",
"mobile_number": "string",
"comments": "string",
"walkin": true,
"tags": {
"is_vip": true,
"is_wine_lover": true,
"is_vegan": true,
"is_vegetarian": true,
"is_always_late": true,
"is_low_spender": true,
"is_high_spender": true,
"is_with_pet": true,
"is_gluten_intolerant": true,
"is_lactose_intolerant": true,
"is_allergic_to_nuts": true,
"is_allergic_to_shellfish": true
},
"stats": {
"total_bookings": 0,
"cancelled_bookings": 0,
"no_show_bookings": 0,
"last_booking_date": "string"
}
},
"booking_source": {
"id": 0,
"name": "string"
},
"booking_tags": [
{
"id": 0,
"name": "string",
"icon": "string"
}
],
"concierge": "string"
},
"meta": {
"timestamp": "2019-08-24T14:15:22Z",
"restaurant_id": 0
}
}{
"error": {
"code": "string",
"message": "string",
"details": {}
},
"meta": {
"timestamp": "2019-08-24T14:15:22Z"
}
}{
"error": {
"code": "string",
"message": "string",
"details": {}
},
"meta": {
"timestamp": "2019-08-24T14:15:22Z"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Booking not found.",
"details": null
},
"meta": {
"timestamp": "2026-03-18T10:00:00Z"
}
}{
"message": "Booking cannot be cancelled in its current status",
"current_status": "cancelled"
}{
"error": {
"code": "string",
"message": "string",
"details": {}
},
"meta": {
"timestamp": "2019-08-24T14:15:22Z"
}
}