Holiday booking store with passenger pricing and checkout insurance
We turned a standard online store into a holiday-sales platform for a French travel company, adding age-based pricing, passenger handling, a checkout insurance module and departure-date payment rules.
Results
- Client described the custom checkout insurance module as "perfect"
- Client confirmed the old-price and special-price display fixes worked
- Customisation and support continued from late 2012 to early 2014
The challenge
A French group-travel company sold holiday packages through an online store that was built for physical products, not trips. A holiday has a limited number of places, prices that depend on the traveller's age, several passengers per booking and, often, optional travel insurance. Payment terms also depend on how close the departure date is. The out-of-the-box catalogue and checkout could not express any of this, and the store shared its database with a sister travel site in a multistore setup, so every change had to work for both.
What we did
Over a little more than a year we delivered a series of travel-specific customisations, each tested with the client before moving on.
- Places and stock. We added an initial-stock field so each departure had a fixed number of places, and made stock return automatically when an order was deleted.
- Age-based pricing. A new price tab in the admin let staff set option prices (for example by age band), with a matching option selector on the product page.
- Passengers and cart editing. Customers could set the number of passengers and change their chosen options directly in the cart. A new order-update tab in the admin let staff adjust bookings afterwards.
- Checkout insurance module. We built a custom insurance module that could be set as a percentage, a fixed amount or none. It appears in the order confirmation in the same way as shipping and can be selected by default.
- Departure-date payment rules. Cheque and bank-transfer options are hidden automatically when the departure is roughly 30 days away or less, so late bookings are paid by faster methods.
- Price display. We fixed old-price and special-price display across category, product and specials modules, and worked through backend and frontend fixes during 2013 and 2014.
Tech stack
OpenCart 1.5 (multistore), vQmod, PHP, MySQL
Project facts
- Industry
- Travel agency / group holidays
- Client
- a French group-travel and holiday company
- Country
- France
- Year
- 2012–2014
- Engagement
- Direct client
Services
Technologies
Planning something similar?
Tell us what you're building. We'll share how we'd approach it and what it would take.