Append booking data

Overview

Airship can store full table booking history for each contact.

Having booking data attached to contacts is useful to measure and target recent or lapsed visitors based on their last visit.

Storing bookings

To store booking history, simply append a bookings object to your contact as you send it to us. All new and updated bookings can use the same endpoint / payload - Airship will determine if the booking is a New booking, or an Update to an existing booking based on if we have the Booking_reference stored against another reservation.

Field

Notes

source_id

1 = Website

9 = In House

10 = Third Party

etc.

You can also retrieve booking source IDs from the /booking/sources endpoint.

stage_value

1 = New

100 = Complete

550 = Cancelled

You can also retrieve stage values from `booking/stage_values` endpoint. We use ranges to represent more granular booking stages, though the three values above satisfy most requirements.

unit_id

The unit_id representing the physical location for which this booking relates.

type_id

13 = General Booking

You can also map more granular booking types using a type retrieved from the booking_types endpoint.

provider_id

This ID is unique per partner. See your airship integration contact to get this ID

table_numbers

If the table numbers are assigned against the booking, then these can be passed in an array Optional

"account_id": 3,
"email: "johnsmith@gmail.com",
//...etc...

"bookings" : [
    {
        "source_id"          : 1, // Website, In-house etc.
        "party_size"         : 10, // how many guests in this booking
        "stage_value"        : 1, // New, complete, cancelled etc 
        "type_id"            : 2, // General booking, Birthday etc.
        "unit_id"            : 67, 
        "party_datetime"     : "2021-04-27 20:30:00", // seated date
        "party_enquirytime"  : "2021-04-27 21:00:06", // enquiry date
        "deposit_paid"       : 0, // if applicable
        "hpbr_drink"         : 0, // deposit split against drink
        "hpbr_food"          : 0, // deposit split against food
        "hpbr_entertainment" : 0, // deposit split against entertainment
        "booking_reference"  : "4355-GH3TG-AERA", // unique booking reference for booking
        "provider_id"        : 5, // this ID is unique to the partner - see your airship contact
        "table_numbers": [
            "1",
            "24",
            "34"
        ],
        "data": {
            "element_01"     : "juice",   // dynamic field content that can be stored against reservation
        }
        "notes" : [ // optional notes
            {
                "text" : "Test note on bookingID 5",
                "time"  : "2021-04-27 21:00:06"
            }
        ]
    }
]

What are data_elements?

Data elements can store any alphanumeric string, so are, in effect, placeholders for any custom data you wish to store. Airship can store up to 20 data element fields against a reservation which aren't covered in the native fields.

Last updated