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

Bookings Waitlist

Booking waitlist management

GET
/api/v1/booking-waitlist

Authorization

ApiKeyAuth
X-API-Key<token>

API key authentication. Format: karma_live_* or karma_dev_*

In: header

Query Parameters

locationId?number

Filter by location ID

status?string

Waitlist entry status

Value in

  • "waiting"
  • "notified"
  • "converted"
  • "expired"
  • "removed"
requestedDate?string

Filter by requested date

Formatdate
page?number

Page number

Range1 <= value
Default1
limit?number

Items per page

Range1 <= value <= 100
Default50

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-waitlist"
{  "status": "success",  "data": {    "entries": [      {        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "locationId": 0,        "userId": 0,        "requestedDate": "2019-08-24",        "preferredStartTime": "string",        "preferredEndTime": "string",        "partySize": 0,        "status": "waiting",        "convertedBookingId": "a1d8c3e7-a506-472a-95fb-17ff87b579ec",        "expiresAt": "2019-08-24T14:15:22Z",        "notifiedAt": "2019-08-24T14:15:22Z",        "createdAt": "2019-08-24T14:15:22Z",        "updatedAt": "2019-08-24T14:15:22Z",        "userName": "string",        "userEmail": "string",        "userPhone": "string"      }    ],    "pagination": {      "page": 1,      "limit": 1,      "total": 0,      "totalPages": 0    }  },  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "executionTimeMs": 0  }}
POST
/api/v1/booking-waitlist

Authorization

ApiKeyAuth
X-API-Key<token>

API key authentication. Format: karma_live_* or karma_dev_*

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

locationId*number

Location ID

userId*number

User ID

requestedDate*string

Requested date

Formatdate
partySize*number

Number of guests

Range1 <= value
preferredStartTime?string

Preferred start time

preferredEndTime?string

Preferred end time

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/booking-waitlist" \  -H "Content-Type: application/json" \  -d '{    "locationId": 0,    "userId": 0,    "requestedDate": "2019-08-24",    "partySize": 1  }'
{  "status": "success",  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "locationId": 0,    "userId": 0,    "requestedDate": "2019-08-24",    "preferredStartTime": "string",    "preferredEndTime": "string",    "partySize": 0,    "status": "waiting",    "convertedBookingId": "a1d8c3e7-a506-472a-95fb-17ff87b579ec",    "expiresAt": "2019-08-24T14:15:22Z",    "notifiedAt": "2019-08-24T14:15:22Z",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "userName": "string",    "userEmail": "string",    "userPhone": "string"  },  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "executionTimeMs": 0  }}
DELETE
/api/v1/booking-waitlist/{id}

Authorization

ApiKeyAuth
X-API-Key<token>

API key authentication. Format: karma_live_* or karma_dev_*

In: header

Path Parameters

id*string

Waitlist entry 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-waitlist/497f6eca-6276-4993-bfeb-53cbbbba6f08"
{  "status": "success",  "data": {    "deleted": true  },  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "executionTimeMs": 0  }}
POST
/api/v1/booking-waitlist/{id}/convert

Authorization

ApiKeyAuth
X-API-Key<token>

API key authentication. Format: karma_live_* or karma_dev_*

In: header

Path Parameters

id*string

Waitlist entry ID

Formatuuid

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

tableId?string

Table to assign

Formatuuid
startTime*string

Start time

endTime*string

End time

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/booking-waitlist/497f6eca-6276-4993-bfeb-53cbbbba6f08/convert" \  -H "Content-Type: application/json" \  -d '{    "startTime": "string",    "endTime": "string"  }'
{  "status": "success",  "data": {    "customFields": [      {        "fieldId": "string",        "key": "string",        "label": "string",        "group": "string",        "type": "string",        "displayValue": "string",        "value": null,        "version": 0,        "status": "string"      }    ],    "metadata": {      "customFields": {}    },    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "locationId": 0,    "tableId": "073fbfcb-cd05-4203-be18-a1ce6f8e4d2d",    "bookingDate": "2019-08-24",    "startTime": "string",    "endTime": "string",    "timezone": "string",    "primaryUserId": null,    "guestCount": 0,    "occasion": "none",    "specialRequests": "string",    "internalNotes": "string",    "notes": [      {        "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",        "note": "string",        "sortOrder": 0,        "createdByRetailerUserId": 0,        "updatedByRetailerUserId": 0,        "createdAt": "2019-08-24T14:15:22Z",        "updatedAt": "2019-08-24T14:15:22Z"      }    ],    "status": "pending",    "paymentType": "none",    "depositAmountCents": 0,    "purchaseId": 0,    "confirmationCode": "string",    "bookingSource": "direct",    "estimatedRevenueCents": 0,    "guestName": "string",    "guestEmail": "string",    "guestPhone": "string",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "confirmedAt": "2019-08-24T14:15:22Z",    "seatedAt": "2019-08-24T14:15:22Z",    "completedAt": "2019-08-24T14:15:22Z",    "cancelledAt": "2019-08-24T14:15:22Z",    "tabId": "string",    "defaultTabStrategy": "single",    "resources": [      {        "qrCodeId": "8a619d64-dbe8-4c9d-9490-babe22a53a28",        "isPrimary": true,        "position": 0      }    ],    "userName": "string",    "userEmail": "string",    "userPhone": "string",    "tableName": "string",    "location": {      "id": 0,      "name": "string",      "city": "string",      "latitude": 0,      "longitude": 0,      "logoImageUrl": "string"    },    "attribution": {      "firstTouch": {        "capturedAt": "2019-08-24T14:15:22Z",        "utmSource": "string",        "utmMedium": "string",        "utmCampaign": "string",        "utmContent": "string",        "utmTerm": "string",        "referrer": "string",        "landingPage": "string"      },      "bookingTouch": {        "capturedAt": "2019-08-24T14:15:22Z",        "utmSource": "string",        "utmMedium": "string",        "utmCampaign": "string",        "utmContent": "string",        "utmTerm": "string",        "referrer": "string",        "landingPage": "string"      },      "reportedSource": "string",      "recordedAt": "2019-08-24T14:15:22Z"    }  },  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "executionTimeMs": 0  }}
POST
/api/v1/booking-waitlist/{id}/notify

Authorization

ApiKeyAuth
X-API-Key<token>

API key authentication. Format: karma_live_* or karma_dev_*

In: header

Path Parameters

id*string

Waitlist entry ID

Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/booking-waitlist/497f6eca-6276-4993-bfeb-53cbbbba6f08/notify"
{  "status": "success",  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "locationId": 0,    "userId": 0,    "requestedDate": "2019-08-24",    "preferredStartTime": "string",    "preferredEndTime": "string",    "partySize": 0,    "status": "waiting",    "convertedBookingId": "a1d8c3e7-a506-472a-95fb-17ff87b579ec",    "expiresAt": "2019-08-24T14:15:22Z",    "notifiedAt": "2019-08-24T14:15:22Z",    "createdAt": "2019-08-24T14:15:22Z",    "updatedAt": "2019-08-24T14:15:22Z",    "userName": "string",    "userEmail": "string",    "userPhone": "string"  },  "meta": {    "requestId": "string",    "timestamp": "2019-08-24T14:15:22Z",    "executionTimeMs": 0  }}