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 ontype.
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)
| Field | Type | Description |
|---|---|---|
id | string | Admission group id |
name | string | Customer or party name |
created, modified, date, arrivalTime, arrivedAt | string (ISO date-time) | Timestamps as delivered in JSON |
organization, venue | string | Organization and venue ids |
type | string | e.g. TABLE, GUEST_LIST, TALLY, TICKET |
status | string | e.g. PENDING, DENIED, CONFIRMED, CHECKED_IN, CHECKED_IN_FULL, CHECKED_IN_PARTIAL, CLOSED, CANCELLED |
receipts | array | Line items with payment/totals |
posTickets | array | POS ticket summaries |
guestCounts | array | Per-inventory guest breakdowns when present |
guestsExpected* / guestsCheckedIn* | number | Guest 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
- Getting Started — API keys and base URL.
- Rate Limits — inbound API throttling.
- POS — bulk
TABLEspend and closed state from a POS.
Updated 19 days ago
