Skip to main content
Skip table of contents

Pricing & Availability

The availability and price of a product is computed at runtime from a combination of the AvailabilityPattern, StartTime & AvailabilityType

The following tables are defined in the entity domain:

  • SupplierPriceCategory - ie Adult, Child etc with age limits and separate prices

  • Occupancy - We need to know if a booked pax type reduces the availability (ie infants may not)

  • SupplierSeason - We need to hold prices for fixed date ranges - start and end date

  • ProductStartTime - Defines the possible start times and durations for a product. A ProductAvailabilityPattern may apply to any or all start times

  • ProductAvailabilityPattern - Defines an iCal RRule pattern of availability that will return dates and slots. Rules can override each other by adding exclusion dates. Patterns include the Capacity

  • ProductAvailabilityType - We need to hold different prices for different ticketTypes or ?? ie Bronze/Silver/Gold or Menu1 / Menu2

  • ProductAddition - We need to allow for the addition of one or more options to the Product such as Guide, Pickup, Equipment Hire potentially per AvailabilityType each with a price that may apply per availability or per person

  • SupplierTransportGroup - Defines a group of transport locations that may be used for pickup/dropoff - Linked to an ProductAddition by ID

  • SupplierTransport - Dealing with pickup and dropoff this is a special case for a ProductAddition. Price may applied per person or per availability

  • ProductPrice - The price for the ProductAvailabilityType/SupplierSeason/SupplierPriceCategory

    • VolumeDiscounts (tiered) - We need to hold reduced pricing per larger group sizes

  • Modulators - Bokun implement modulators for Duration, Discount and Booking Notice

Pricing terms

Be aware always that any price whether in code or in the DB will also require to have an associated currency and it is never reasonable to default a currency as we could end up basing off 100 GBP when it should be 100 USD.

The booking sites can be executed in a number of currencies but the existing pricing code will deal with all the exchange rates and conversions.

worth understanding that on the heart of the systems we deal with:

  • Purchase ... The pricing and currency related to Holibob's purchase of the product from the SUPPLIER

  • Base ... The pricing in GBP - it is ALWAYS the case that anything in BASE is GBP

  • Sale ... The pricing and currency related to Holibob's sale of the product to the PARTNER

There are multiple prices per each of the above with terms including GROSS and NETT essentially being before or after commissions, discounts etc etc have been applied.

Of note also is the fact that the SALE prices include both the GROSS which is what we expect the CONSUMER to pay (ie the customer of the Partner) and NETT which is what we will "charge" the PARTNER.

BusinessModels further complicate this.

There are essentially three different payment modes:

  • ON_ACCOUNT - We will "invoice" the partner generally at the end of the monthly cycle.

  • ON_RECORD - We have on record details of the partners corporate debit card and will charge this immediately the booking is confirmed.

  • REQUIRED - Use when we are running a white-label booking site on behalf of the PARTNER. We will present a payment dialog directly to the consumer and collet card details. We place a block for the full amount of the consumers card at checkout and then fully charge the same amount on confirmation of the booking usially a few minutes later.

The direction of the partner finance

If we run the booking site and take the consumer payment then we must pay the partner their proportion of the sale - we do this by sending funds to the partner on the month-end cycle.

If the partner ran the site and took the funds directly from the consumer then they owe us our proportion of the sale as so we invoice them for that.

And finally!

There is one further complexity with what are known as SWITCH sources. In this model the PARTNER has a direct commercial relationship with the SUPPLIER are we are simply a technology provided - where this is the case we charge the partner only a transaction fee and the partner and supplier do the rest of the transaction between each other.

It is possible that a single booking (with Shopping cart enabled) can have both switch and non-switch product on the same booking! 

JavaScript errors detected

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

If this problem persists, please contact our support.