Webhooks
Webhooks allow your RMS to push real-time updates to Mozrest whenever a booking or availability change occurs — no polling required. Timely webhook delivery is critical for accurate billing, availability sync, and a seamless guest experience.
Setup
To enable webhooks, provide Mozrest with:
- Your webhook endpoint URL — Mozrest will send
POSTrequests to this URL. - A non-expiring Bearer Token — included in the
Authorizationheader for authentication.
Endpoints
Send your webhook payloads to:
| Environment | URL |
|---|---|
| Sandbox | https://webhooks.sandbox.mozrest.com |
| Production | https://webhooks.mozrest.com |
All requests must include your Token in the Authorization header.
Booking Update
Triggered when a booking's details change (e.g. party size, date).
{
"entity": "booking",
"entityId": "your-booking-id",
"action": "update",
"data": {
"partySize": 2,
"date": 1719599400
}
}
| Field | Type | Description |
|---|---|---|
entity | String | Fixed: "booking" |
entityId | String | Your unique booking identifier |
action | String | Fixed: "update" |
data.partySize | Integer | Updated party size |
data.date | Integer | Slot time as UTC Unix timestamp |
Status Update
Triggered when the booking status changes at the venue.
{
"entity": "booking",
"entityId": "your-booking-id",
"action": "update",
"data": {
"status": "no-show"
}
}
| Field | Type | Description |
|---|---|---|
entity | String | Fixed: "booking" |
entityId | String | Your unique booking identifier |
action | String | Fixed: "update" |
data.status | String | New booking status (see below) |
Available statuses
| Status | Meaning |
|---|---|
confirmed | Booking confirmed by the venue |
rejected | Booking rejected by the venue |
seated | Guest has been seated |
completed | Guest has paid and left |
no-show | Guest did not attend |
Cancellation
Triggered when a booking is cancelled.
{
"entity": "booking",
"entityId": "your-booking-id",
"action": "cancel"
}
| Field | Type | Description |
|---|---|---|
entity | String | Fixed: "booking" |
entityId | String | Your unique booking identifier |
action | String | Fixed: "cancel" |
Availability Update
Triggered when a booking-related event occurs that affects venue availability. Mozrest uses this to keep availability data in sync across channels.
{
"entity": "venue",
"entityId": "c0fa91e9-ed60-4d22-bd96-1545fb98936d",
"action": "booking_creation",
"data": {
"mealDate": 1742043600,
"partySize": 2,
"areaId": "8123477f-4630-404f-a7fb-eec13fe4cd37",
"contact": {
"firstname": "John",
"lastname": "Doe",
"email": "john.doe@gmail.com",
"telephone": "44344223322",
"locale": "en"
}
}
}
| Field | Type | Description |
|---|---|---|
entity | String | Fixed: "venue" |
entityId | String | Your unique venue identifier |
action | String | One of: "booking_creation", "booking_update", "booking_cancellation" |
data.mealDate | Integer | Date in UTC Unix timestamp |
data.partySize | Integer | Party size |
data.areaId | String | Area identifier (if applicable) |
data.contact | Object | Guest contact details (see below) |
Contact fields
| Field | Type | Description |
|---|---|---|
contact.firstname | String | Guest first name |
contact.lastname | String | Guest last name |
contact.email | String | Guest email address |
contact.telephone | String | Guest phone number |
contact.locale | String | Preferred locale (ISO 639-1) |