Webhooks

Configure webhooks and understand event payloads from TablelistPro.

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 sends an HTTP POST to your configured webhook URL. The body is JSON with this shape:

{
  "id": "kn23knx9023nkl",
  "type": "ADMISSION_GROUP_CREATED",
  "created": "2025-05-22T13:45:30.123Z",
  "payload": {}
}
  • id — unique identifier for the webhook delivery event.
  • type — event type (see Events below).
  • created — ISO 8601 timestamp.
  • payload — object whose fields depend on type.

Events

ADMISSION_GROUP_CREATED, ADMISSION_GROUP_UPDATED

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

RESERVATION_REQUEST_CREATED

Triggered when a reservation request or lead is created.

Example payload (admission group events)

The following is representative of payload for admission group–related types. Omitted fields may be null or absent depending on the record.

{
  "id": "507f1f77bcf86cd799439011",
  "name": "Jane Doe",
  "created": "2025-05-22T13:45:30.123Z",
  "modified": "2025-05-22T14:00:00.000Z",
  "organization": "507f191e810c19729de860ea",
  "venue": "507f191e810c19729de860eb",
  "type": "TABLE",
  "status": "CONFIRMED",
  "date": "2025-05-24T00:00:00.000Z",
  "arrivalTime": "2025-05-24T22:00:00.000Z",
  "arrivedAt": null,
  "receipts": [
    {
      "subtotal": 100,
      "tax": 8,
      "tip": 20,
      "total": 128,
      "paymentType": "ADVANCE",
      "paymentStatus": "DEPOSIT"
    }
  ],
  "posTickets": [
    {
      "subtotal": 50,
      "tax": 4,
      "tip": 10,
      "total": 64
    }
  ],
  "guestCounts": [],
  "guestsExpected": 4,
  "guestsExpectedUnisex": 4,
  "guestsExpectedMale": 0,
  "guestsExpectedFemale": 0,
  "guestsCheckedIn": 0,
  "guestsCheckedInUnisex": 0,
  "guestsCheckedInMale": 0,
  "guestsCheckedInFemale": 0,
  "guestsCheckedInTotal": 0
}

Field notes (payload)

FieldTypeDescription
idstringAdmission group id
namestringCustomer or party name
created, modified, date, arrivalTime, arrivedAtstring (ISO date-time)Timestamps as delivered in JSON
organization, venuestringOrganization and venue ids
typestringe.g. TABLE, GUEST_LIST, TALLY, TICKET
statusstringe.g. PENDING, DENIED, CONFIRMED, CHECKED_IN, CHECKED_IN_FULL, CHECKED_IN_PARTIAL, CLOSED, CANCELLED
receiptsarrayLine items with payment/totals
posTicketsarrayPOS ticket summaries
guestCountsarrayPer-inventory guest breakdowns when present
guestsExpected* / guestsCheckedIn*numberGuest counts

Exact fields may vary by event type and venue configuration; treat this as a reference and validate in your integration.

When admission groups are updated from outside TPRO (for example POS spend sync), webhook payloads can reflect new receipts / posTickets on the next ADMISSION_GROUP_UPDATED delivery, which may feed reporting or downstream systems that consume those fields.

Related