Reservations & Privatisations
When a user lands on the /index page, they have two available booking flows:
A standard reservation

A privatisation request (booking a private space)

Each path follows a similar logic, with a few key differences explained below.
Standard Reservation Flow
To make a standard reservation, the customer must:
Select a date
Choose a time
Indicate the number of people
Once these are selected, the system displays the personal information form, where the user must enter:
First name / last name
Email
Phone number
A comment (optional)

Default Scheduling Rules
By default:
Sundays are blocked and not available for booking.
If you want to allow reservations on Sundays, simply remove the following conditional from the date picker:

As a reminder, bubble associates the days of the week with the following numbers:
Monday: 1
Tuesday: 2
Wednesday: 3
Thursday: 4
Friday: 5
Saturday: 6
Sunday: 0
Blocking Specific Dates
You can block specific dates using the BlockedDate system. This allows you to prevent:
Reservations
Privatisation requests
Or both
Just create a BlockedDate record and define the type of restriction.

After Submission
Once a request is submitted:
The customer receives an automated confirmation email.
A reservation record is created in your database.

Client Record Logic
A new client is created only if both:
The email is not found
AND the phone number is not found
If a match is found, the system uses the existing client record.

Privatisation Flow
The privatisation flow is almost identical to the standard reservation flow, with one key difference: The user must select a private space (called a room or salon), which you define and manage in the backoffice.
To appear in the form:
A room must be published (
isPublished = yes)



💳 Privatisation Fee & Payment
Once the user fills in their personal information, they are prompted to pay the privatisation fee defined for the selected room.
This amount is:
Configurable per room
Paid via Stripe directly in the form
After a successful payment:
The customer receives a payment confirmation email
The transaction appears in your connected Stripe account


🗂️ Backoffice Visibility
Once submitted:
The request appears in your admin backoffice (
/backoffice)You also receive an internal notification email for each new submission


📝 Draft Status
If a user does not complete the form or leaves before final submission:
The reservation is saved with the status:
DraftDrafts do not appear in the backoffice, but remain visible in the database
This allows you to debug or follow up manually if needed.
💡 Tips
You can customize the email templates for confirmations directly inside the related workflows.
Use the
BlockedDatesystem to easily manage holidays, special events, or closures.The payment logic for privatisations can be extended to cover deposits, minimum spend, or multi-step approval if needed.
Last updated