
A booking engine grafted onto an existing site.
Les Grottes brings together a campsite, a hotel and a restaurant in Réclère, in the Swiss Jura. Our work covers one thing only, the online booking engine: the rest of the site existed before us and is not ours.
That engine does more than post a form. It knows the real stock of every unit, turns away whatever does not fit the dates or the number of travellers, recalculates its total on every change, then hands the traveller over to Stripe for payment.
Dates and traveller counts filter the catalogue live.
Everything starts with a date range and two counters, adults and children under 16. On every change the engine queries availability, drops the units whose capacity does not fit, and states in one line how many are free and how many are full. The reminder about arrival and departure times sits right under the field, where the question comes up.
- A French range calendar, open on two months, with a one-click reset of the dates.
- An availability count rewritten on every change of dates or travellers.
- Two safety rails: a horizon beyond which online booking closes, and a handover to the property for groups of more than six.
Breakfast is booked morning by morning, traveller by traveller.
The second step shows only the options tied to the chosen unit: breakfast never appears on hotel rooms, where it is already included. On the campsite units, every traveller gets their own row of mornings to tick, adults and children counted separately, and both the selection counter and the summary update on the tick.
- Four billable options in the catalogue, attached unit by unit.
- Two pricing modes for the unit, per night or per stay, and two units of measure for the options.
- A grid of mornings per traveller, offering only the days actually served during the stay.
The booking is held for as long as the payment takes.
The last step gathers the traveller's details, their country, their language and their acceptance of the terms and conditions, which open without leaving the page. They are also the details required to obtain the Jura-Pass. Moving to payment first creates the booking, with its reference and a time-limited hold, before handing the traveller over to Stripe. On the property side, an administration interface comes with the engine.
- Seven countries and four languages to choose from in the form.
- The terms and conditions in the page, with the cancellation scale recalled under the form.
- Payment handed to Stripe, once the booking is referenced and held for the length of the transaction.
More projects to explore.
Shall we work together?
A project, a question, an ambition, let's talk. Reply within 24 hours, no strings attached.










