πŸ”— Webhooks

TablelistPro supports webhooks to notify your system of real-time events, such as reservations, cancellations, check-ins, and more.

πŸ“ Setting Up a Webhook

To create or manage webhooks, go to:

Organization β†’ Webhooks in the TablelistPro web app.

There, you can define a publicly accessible URL where TablelistPro will send event data.


πŸ”” How It Works

Whenever a relevant event occurs, TablelistPro will send a POST request to your configured webhook URL. The request body will be a JSON object with the following structure:

{
  "id": "kn23knx9023nkl", //webhook event id
  "type": "ADMISSION_GROUP_CREATED",
  "created": "2025-05-22T13:45:30.123Z",
  "payload": {
    // event-specific data
  }
}

Payload Field Descriptions

FieldTypeDescription
idstringUnique identifier for the event
typestringEvent type (e.g. ADMISSION_GROUP_CREATED)
createdstringISO date string
payloadobjectEvent-specific data (structure depends on type)

πŸ“˜ Events

Here's a list of supported webhook event types and their corresponding payload structures.

ADMISSION_GROUP_CREATED, ADMISSION_GROUP_UPDATED

Triggered when a new reservation, guestlist, tally or ticket is created or updated.

RESERVATION_REQUEST_CREATED is triggered when a reservation request or lead is created.

{
  "id": string, //webhook event id
  "type": "ADMISSION_GROUP_CREATED",
  "created": date,
  "payload": {
    "id": string,
    "name": string, //customer's name
    "created": date,
    "modified": date,
    "organization": string,
    "venue": string,
    "type": "TABLE", //TABLE, GUEST_LIST, TALLY, TICKET
    "status": "PENDING", //PENDING, DENIED, CONFIRMED, CHECKED_IN, CHECKED_IN_FULL, CHECKED_IN_PARTIAL, CLOSED, CANCELLED
    "date": date, //date of the event
    "arrivalTime": date, //time of the event
    "arrivedAt": date,
    "receipts": [{
      "subtotal": number,
      "tax": number,
      "tip": number,
      "total": number,
      "paymentType": string, //ADVANCE, ADVANCE_DEPOSIT, VENUE, NONE
      "paymentStatus": string, //FULL, DEPOSIT, CREDIT_CARD_ON_FILE, NONE
    }], 
    "posTickets": [{
      "subtotal": number,
      "tax": number,
      "tip": number,
      "total": number,
    }],
    "guestCounts": array,
    "guestsExpected": number, //number of guests expected
    "guestsExpectedUnisex": number,
    "guestsExpectedMale": number,
    "guestsExpectedFemale": number,
    "guestsCheckedIn": number, //number of guests checked in
    "guestsCheckedInUnisex": number,
    "guestsCheckedInMale": number,
    "guestsCheckedInFemale": number,
    "guestsCheckedInTotal": number,
  }
}