You are viewing a non-production environment — the API surface may differ from production.
Booking API

Booking Groups

Grouping of related bookings

GET
/api/v1/booking-groups/{id}

Authorization

ApiKeyAuth
X-API-Key<token>

API key authentication. Format: karma_live_* or karma_dev_*

In: header

Path Parameters

id*string

Booking group ID

Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/booking-groups/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{  "status": "success",  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "locationId": 0,    "name": "string",    "description": "string",    "sortOrder": 0,    "isActive": true,    "schedule": [      {        "dayOfWeek": 0,        "startTime": "string",        "endTime": "string"      }    ],    "scheduleId": "b7b4f318-018f-4d71-ac1a-f61e4bfaefbe",    "scheduleRules": [      {        "dayOfWeek": 0,        "startTime": "string",        "endTime": "string",        "ruleType": "WEEKDAY",        "startDate": "string",        "endDate": "string",        "isAvailable": true      }    ],    "tableIds": [      "0f15e971-bb89-4712-9d06-bc444ed39ebe"    ],    "slotIntervalMinutes": 0,    "defaultDurationMinutes": 0,    "maxPartySize": 0,    "minAdvanceHours": 0,    "maxAdvanceDays": 0,    "paymentHoldMinutes": 0,    "confirmationMode": "string",    "requiredItems": [      {        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "inventoryItemId": 0,        "quantityPer": "booking",        "itemName": "string",        "itemPrice": 0      }    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z"  },  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "executionTimeMs": 0  }}
DELETE
/api/v1/booking-groups/{id}

Authorization

ApiKeyAuth
X-API-Key<token>

API key authentication. Format: karma_live_* or karma_dev_*

In: header

Path Parameters

id*string

Booking group ID

Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X DELETE "https://example.com/api/v1/booking-groups/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{  "status": "success",  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "locationId": 0,    "name": "string",    "description": "string",    "sortOrder": 0,    "isActive": true,    "schedule": [      {        "dayOfWeek": 0,        "startTime": "string",        "endTime": "string"      }    ],    "scheduleId": "b7b4f318-018f-4d71-ac1a-f61e4bfaefbe",    "scheduleRules": [      {        "dayOfWeek": 0,        "startTime": "string",        "endTime": "string",        "ruleType": "WEEKDAY",        "startDate": "string",        "endDate": "string",        "isAvailable": true      }    ],    "tableIds": [      "0f15e971-bb89-4712-9d06-bc444ed39ebe"    ],    "slotIntervalMinutes": 0,    "defaultDurationMinutes": 0,    "maxPartySize": 0,    "minAdvanceHours": 0,    "maxAdvanceDays": 0,    "paymentHoldMinutes": 0,    "confirmationMode": "string",    "requiredItems": [      {        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "inventoryItemId": 0,        "quantityPer": "booking",        "itemName": "string",        "itemPrice": 0      }    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z"  },  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "executionTimeMs": 0  }}
PUT
/api/v1/booking-groups/{id}

Authorization

ApiKeyAuth
X-API-Key<token>

API key authentication. Format: karma_live_* or karma_dev_*

In: header

Path Parameters

id*string

Booking group ID

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

name?string
description?string|null
sortOrder?number
isActive?boolean
schedule?array<>
tableIds?array<>
slotIntervalMinutes?number
defaultDurationMinutes?number
maxPartySize?number
minAdvanceHours?number
maxAdvanceDays?number
paymentHoldMinutes?number
confirmationMode?string
requiredItems?array<>

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://example.com/api/v1/booking-groups/497f6eca-6276-4993-bfeb-53cbbbba6f08" \  -H "Content-Type: application/json" \  -d '{}'
{  "status": "success",  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "locationId": 0,    "name": "string",    "description": "string",    "sortOrder": 0,    "isActive": true,    "schedule": [      {        "dayOfWeek": 0,        "startTime": "string",        "endTime": "string"      }    ],    "scheduleId": "b7b4f318-018f-4d71-ac1a-f61e4bfaefbe",    "scheduleRules": [      {        "dayOfWeek": 0,        "startTime": "string",        "endTime": "string",        "ruleType": "WEEKDAY",        "startDate": "string",        "endDate": "string",        "isAvailable": true      }    ],    "tableIds": [      "0f15e971-bb89-4712-9d06-bc444ed39ebe"    ],    "slotIntervalMinutes": 0,    "defaultDurationMinutes": 0,    "maxPartySize": 0,    "minAdvanceHours": 0,    "maxAdvanceDays": 0,    "paymentHoldMinutes": 0,    "confirmationMode": "string",    "requiredItems": [      {        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "inventoryItemId": 0,        "quantityPer": "booking",        "itemName": "string",        "itemPrice": 0      }    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z"  },  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "executionTimeMs": 0  }}
GET
/api/v1/locations/{locationId}/booking-groups

Authorization

ApiKeyAuth
X-API-Key<token>

API key authentication. Format: karma_live_* or karma_dev_*

In: header

Path Parameters

locationId*number

Location ID

Query Parameters

includeInactive?boolean

Include inactive groups

Defaultfalse

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/locations/0/booking-groups"
{  "status": "success",  "data": {    "items": [      {        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "locationId": 0,        "name": "string",        "description": "string",        "sortOrder": 0,        "isActive": true,        "schedule": [          {            "dayOfWeek": 0,            "startTime": "string",            "endTime": "string"          }        ],        "scheduleId": "b7b4f318-018f-4d71-ac1a-f61e4bfaefbe",        "scheduleRules": [          {            "dayOfWeek": 0,            "startTime": "string",            "endTime": "string",            "ruleType": "WEEKDAY",            "startDate": "string",            "endDate": "string",            "isAvailable": true          }        ],        "tableIds": [          "0f15e971-bb89-4712-9d06-bc444ed39ebe"        ],        "slotIntervalMinutes": 0,        "defaultDurationMinutes": 0,        "maxPartySize": 0,        "minAdvanceHours": 0,        "maxAdvanceDays": 0,        "paymentHoldMinutes": 0,        "confirmationMode": "string",        "requiredItems": [          {            "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",            "inventoryItemId": 0,            "quantityPer": "booking",            "itemName": "string",            "itemPrice": 0          }        ],        "createdAt": "2019-08-24T14:15:22Z",        "updatedAt": "2019-08-24T14:15:22Z"      }    ]  },  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "executionTimeMs": 0  }}
POST
/api/v1/locations/{locationId}/booking-groups

Authorization

ApiKeyAuth
X-API-Key<token>

API key authentication. Format: karma_live_* or karma_dev_*

In: header

Path Parameters

locationId*number

Location ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

name*string

Group name

description?|

Group description

sortOrder?number

Display sort order

isActive?boolean

Whether the group is active

schedule?array<>
tableIds?array<>
slotIntervalMinutes?number
defaultDurationMinutes?number
maxPartySize?number
minAdvanceHours?number
maxAdvanceDays?number
paymentHoldMinutes?number
confirmationMode?string
requiredItems?array<>

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/locations/0/booking-groups" \  -H "Content-Type: application/json" \  -d '{    "name": "string"  }'
{  "status": "success",  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "locationId": 0,    "name": "string",    "description": "string",    "sortOrder": 0,    "isActive": true,    "schedule": [      {        "dayOfWeek": 0,        "startTime": "string",        "endTime": "string"      }    ],    "scheduleId": "b7b4f318-018f-4d71-ac1a-f61e4bfaefbe",    "scheduleRules": [      {        "dayOfWeek": 0,        "startTime": "string",        "endTime": "string",        "ruleType": "WEEKDAY",        "startDate": "string",        "endDate": "string",        "isAvailable": true      }    ],    "tableIds": [      "0f15e971-bb89-4712-9d06-bc444ed39ebe"    ],    "slotIntervalMinutes": 0,    "defaultDurationMinutes": 0,    "maxPartySize": 0,    "minAdvanceHours": 0,    "maxAdvanceDays": 0,    "paymentHoldMinutes": 0,    "confirmationMode": "string",    "requiredItems": [      {        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "inventoryItemId": 0,        "quantityPer": "booking",        "itemName": "string",        "itemPrice": 0      }    ],    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z"  },  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "executionTimeMs": 0  }}