Booking Payload

Booking Payload Format

Each booking webhooks notification we send you uses the following format.

ChangeDateTime

This field contains the UTC timestamp of when the change was made..

Booking

This field contains the latest version of the booking that was changed.

Changes

This field contains an array of changes that were made to the booking. Each type of change that can be notified will be detailed in the next section.

{
    "ChangeDateTime": "2018-11-12T09:40:24.4443332Z",
    "Booking": {
        "Id": 11101,
        "ProviderId": 1000,
        "Reference": "BHCQ66D",
        "RestaurantName": "Testaurant",
        "MicrositeName": "Testaurant",
        "VisitDate": "2018-11-08T00:00:00",
        "VisitTime": "19:15:00",
        "PartySize": 6,
        "ChannelCode": "INTERNAL",
        "SpecialRequests": null,
        "IpAddress": "127.0.0.1",
        "IsLeaveTimeConfirmed": false,
        "Customer": {
            "Id": 863,
            "Title": "",
            "FirstName": "Badger",
            "Surname": "Beatty",
            "Mobile": "2",
            "Phone": "",
            "Company": "Animalania",
            "Email": "[email protected]",
            "ReceiveGroupEmailMarketing": true,
            "GroupEmailOptInDateTime": "2018-11-12T09:40:00",
            "GroupEmailOptInText": "Would you like to receive news and offers from Laharna by Email",
            "ReceiveGroupSmsMarketing": false,
            "GroupSmsOptInDateTime": null,
            "GroupSmsOptInText": "",
            "ReceiveRestaurantEmailMarketing": false,
            "RestaurantEmailOptInDateTime": null,
            "RestaurantEmailOptInText": "",
            "ReceiveRestaurantSmsMarketing": false,
            "RestaurantSmsOptInDateTime": null,
            "RestaurantSmsOptInText": "",
            "MembershipId": "",
            "CustomField": null,
            "IsFavourite": false,
            "Birthday": null,
            "Anniversary": null,
            "CustomerType": null,
            "CustomerCodes": [],
            "IsVip": false,
            "OperaId": null,
            "CustomerComments": "",
            "CustomerIpAddress": "127.0.0.1"
        },
        "BookingReasonIds": [],
        "BookingStatus": "Confirmed",
        "BookingDateTime": "2018-11-12T09:40:08",
        "Promotions": [],
        "ArrivalStatus": "NotArrived",
        "MealStatus": "Free",
        "FunctionSheetUrl": null,
        "PreOrderUrl": null,
        "TableIds": [479, 507],
        "TableNumbers": "1, 11",
        "PhantomTableIds": [509],
        "PhantomTableNumbers": "x.2",
        "AreaIdList": [82, 86],
        "BookingExtras": [
            {
                "Id": 1,
                "Name": "Super Extra",
                "Description": "Example extra",
                "IsPrepayable": false,
                "Quantity": 3,
                "OriginalPrice": 10,
                "OverridePrice": 10,
                "TotalPrice": 30,
                "PromotionId": null
            }
        ],
        "Payments": [],
        "BookingCodes": [],
        "RoomNumber": "",
        "CustomerSpend": 0,
        "BookingDuration": 60,
        "CancellationReason": {
            "Id": 10,
            "Name": "No Show",
            "DoesBlock": false,
            "IsNoShow": true
        },
        "BookingComments": null
    },
    "Changes": [
        {
            "ChangeType": "BookingCreated",
            "OldValue": null,
            "NewValue": "BHCQ66D"
        }
    ]
}

Payload Notes

Booking Extras

Booking Extra’s can be added to a booking in their own right or as part of a promotion package. In the event that a booking has both the booking extra will appear twice one with a promotion id and the second without the promotion id.

Booking Event Types

The following changes can be notified.

Booking Arrival Status Changed

This occurs if the arrival status of a booking is changed. The change format looks like the following:

The OldValue contains the old arrival status, and the NewValue contains the new arrival status.

A booking can have the following arrival statuses:

NotArrived

The customer has not arrived.

FullySeated

The full party is seated at the table.

PartiallySeated

Some of the party are seated at the table.

WaitingInBar

The customers are waiting in the bar.

Decline

The booking has been declined from the Standby List.

Booking Cancelled

This occurs if an existing booking is cancelled. The change format looks like the following:

The OldValue contains the old booking status, and the NewValue contains the new booking status.

Booking Created

This occurs if a new booking is created. The change format looks like the following:

The OldValue is always null, and the NewValue contains the booking reference.

Booking Customer Changed

This occurs if the customer on the booking has changed to a different customer, or where a walk-in has had a customer record added, or an existing booking has been changed to a walk-in. This change does not notify you of changes to an individual customer's details, but notifies you if the customer stored against the booking is changed to a different one.

The change format looks like the following:

The OldValue is the old customer Id (or 0 for walk-ins), and the NewValue is the new customer Id (or 0 for walk-ins).

Booking Party Size Changed

This occurs if the number of people against the booking changes. The change format looks like the following:

The OldValue contains the old party size, and the NewValue contains the new party size.

Booking Meal Status Changed

This occurs if the meal status of a booking is changed. The change format looks like the following:

The OldValue contains the old meal status, and the NewValue contains the new meal status.

A booking can have the following meal statuses:

Free

The meal has not started

Drink

The customers are having drinks

Appetizer

The company are having their starters

Main

The customers are having their main meals

Dessert

The customers are having their desserts

Check

The customers are waiting for their bill

Cleaning

The table is being cleaned before the next booking

Settlement

The customers are paying for their meal

Closed

The booking is complete

CleanedAndReady

The table is cleaned and ready for the next booking

Booking Promotions Changed

This occurs if the promotions booked changes. The change format looks like the following:

The OldValue contains the promotions that were previously applied to the booking, and the NewValue contains the current promotions. This can be triggered by either the promotions booked changing, or by the quantity of each promotion booked changing.

Booking Tables Changed

This occurs if the tables the booking is on changes. The change format looks like the following:

The OldValue contains an array of table Ids the booking used to be on, and the NewValue contains an array of table Ids the booking is on now.

Booking Visit Date / Time Changed

This occurs if the visit date or time of the booking changes. The change format looks like the following:

The OldValue contains the old timeslot the booking was for, and the NewValue contains the new timeslot. Both times are in the restaurant's local timezone.

Booking Status Changed

This occurs if the status of the booking changes. The following example shows a booking being displaced/bumped in the diary:

The following list shows all the possible booking statuses used in these changes.

Unconfirmed

NOT A BOOKING - The booking is only provisional. This usually means that it requires a deposit to be paid or credit card details to be stored before it can be marked as confirmed

Booked

BOOKING - The booking is confirmed on the diary. This is effectively the same as the "Confirmed" status

Confirmed

BOOKING - The booking is confirmed on the diary

Closed

BOOKING - The booking has been closed (i.e. the meal is complete and the customer has left the restaurant)

Cancelled

The booking has been cancelled. This is typically because the customer can't make it, or because they are a no show

Wait

The customer is on the standby list

Declined

The customer has been declined from the standby list

Bumped

BOOKING - The booking has temporarily been unallocated, and no-longer appears on the diary. A member of the restaurant staff needs to move it back onto a table on the diary

WaitListQueued

The customer has been added to the W8LIST

WaitListQueueDeclined

The customer has been declined from the W8LIST

WaitListQueueAccepted

The customer has accepted their table and should be coming back to the restaurant

WaitListQueueReAdded

The customer has been re-added to the W8LIST. This may be because they were previously declined, or because they were seated, but haven't arrived yet

Locked

NOT A BOOKING - Not a real booking. Used internally to indicate that the particular timeslot cannot be booked because a booking is in process on it. You should never receive bookings in this status from the API

Expired

NOT A BOOKING - Unused

Booking Payments Changed

This occurs if the payments required by or made against a booking change. The change format looks like the following:

The OldValue contains the payments that were previously required by and made against the booking, and the NewValue contains the current payments. This can be triggered by either the payment required for a booking changing or a payment being made against the booking. The payment amount still required for the booking is contained in the payment element where IsOutstandingAmount is true.

Booking Provider Changed

This occurs if booking is moved from one Provider (i.e. Restaurant) to another. When this happens, you will get two changes reported - one for the ProviderId, and the other for the MicrositeName. The change format looks like the following:

The OldValue contains the old Provider Id or Microsite Name, and the NewValue contains the new Provider Id or Microsite Name.

Last updated

Was this helpful?