Skip to main content
Skip table of contents

Booking Domain

Overview

Bookings represent all the data pertaining to a given consumer (or group of consumers) planning to experience one or more Products on given dates and times. The booking encompasses all of the data relating to the purchase of the product(s) from the supplier and the sale of these product(s) via the Partner to the Consumer.

A single Booking represents a collection of availabilities purchased by a single consumer at the same time.

Whilst the purchase will have been made by a single consumer (lead passenger) it is likely that they will have included multiple persons (pax) in the transaction and that these persons may qualify for different pricing categories such as Adult / Child. Records are persisted in the booking system for each person that is part of a booking

Availability is an instance of a product on a given date and time and configured per any options made available by the operator or the product.

Each availability will be purchased from the supplier via the source and sold to the consumer via the partner.

Depending on the configuration of the channel and mechanisms used at the time of the transaction, payment from the consumer may be taken by the partner or by holibob. Thus any commissions and fees resulting from the transaction may be due from the partner to holibob (where the partner received the gross amount from the consumer) or from holibob to the partner (where holibob received the gross amount from the consumer).

Depending on the business model used at the time of the transaction, payment to the supplier may become the liability of holibob or the partner. Where the partner has the full liability to pay the supplier (the switch model) holibob will change the partner a transaction fee for use of the holibob technology platform.

The finance tables within the booking system record all of the transaction detail necessary to raise invoices between the various partners and ultimately reconcile payments.

The booking system is responsible for securing the availability of the product from the supplier and for the confirmation of the booking to the partner. The booking system will retrieve tickets from the supplier via the source systems as may be necessary and append these to the vouchers generated at the time of booking. The vouchers will be transmitted (typically by email) to the consumer either directly by holibob or indirectly via the partner.

Key properties of a booking include:

  • Id - our unique reference for the booking (this is a 36 character long UUID - not human friendly!)

  • code - our unique 6 character alphanumeric reference for the booking - this is human friendly and will appear on vouchers, emails etc and can be used on the manageMyBooking pages to retrieve a booking.

  • leadPassengerName - As it suggests! The name of the lead passenger as given at time of booking.

  • partnerExternalReference - any reference provided by the partner at the time of the booking. Will generally be included in finance reports sent to the partner to aid them in reconciling transactions.

Database Tables

The following tables are defined in the entity domain:

Table Name

Purpose

Booking

The header record represents the total purchase made by a single consumer. This booking may include multiple availabilities with each purchase for multiple persons.

BookingAvailability

Details each availability that was included in the booking

BookingAvailabilityFinance

Details all of the financial information that pertains directly to the purchase and sale of the availability. The total prices however will be the sum of this in this table and in the BookingAvailabilityFinancePerson table.

BookingAvailabilityOption

Details any configuration options that were available to the consumer at the time of booking and the answers they provided.

BookingAvailabilityPerson

Details a single record per PAX booked on the availability. This is inclusive of all pax so a booking for 2 adults and 2 children will result in four records. There are exceptions to this case where the booking is of a group priced product.

BookingAvailabilityPersonFinance

Details all of the financial information that pertains to the purchase and sale of the availability.

BookingAvailabilityPersonQuestion

Details any questions that were presented to the consumer in relation to each person on the availability at the time of booking and the answers they provided. The system has some provision for the automatic defaulting of certain answered via the PartnerChannelAnswer table and if this was is the source of an answer it will be indicated in the data.

BookingAvailabilityQuestion

Details any questions that were presented to the consumer in relation to the entire availability at the time of booking and the answers they provided. The system has some provision for the automatic defaulting of certain answered via the PartnerChannelAnswer table and if this was is the source of an answer it will be indicated in the data.

BookingAvailabilityVoucher

Details information retrieved from the source at the time of booking and likely to be used in the generation of the booking voucher.

BookingCardPayment

Details the information relating to the payment gateway and transaction. This includes the paymentIntentID and the current status of any payment. when taking card details from a consumer we interact with a third party payment gateway to place a reservation on the card for the given amount. We confirm the booking and apply to the gateway to have the funds taken from the card.

BookingQuestion

Details any questions that were presented to the consumer in relation to the entire booking at the time of booking and the answers they provided. The system has some provision for the automatic defaulting of certain answered via the PartnerChannelAnswer table and if this was is the source of an answer it will be indicated in the data.

BookingQuestionSource

Not yet implemented

BookingVoucher

Details details of the voucher generated for the booking. The id in this record can be used as a key to the S3 file storage system where the PDF document will have been stored.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.