How Advik Booking Works
A 5-minute tour of the data model. Once you understand these four concepts, the whole plugin becomes obvious.
The four building blocks
Advik Booking is built on top of a small, flexible data model. The same model powers a one-page salon booking and a 7-layer cleaning quote.
1. Item Fields — the question
An item field is a single question. It can be:
- Property type — dropdown of (House, Flat, Studio, FlatShare)
- Number of bedrooms — stepper (1–10)
- Oven size — radio (Standard 60cm / Wide 90cm)
- Laundry included — checkbox
- Property address — text area
Each field has a type, a label, optional choices, and (this is the magic) optional price per unit and duration per unit.
Field library
Fields live in a shared library. Create the Number of bedrooms field once and attach it to as many services as you need. Update the price-per-unit in one place and every service updates.Full reference: Item Fields.
2. Services — the bundle
A service is what the customer actually books. It is:
- A name, description, image, base price, base duration.
- A list of item fields (the questions to ask).
- Optional list of add-ons.
- One or more categories it belongs to.
- One or more staff members who can deliver it.
The service doesn't store its own price — it calculates it from base_price + (field_value × price_per_unit) + addons. This is what lets the same field drive pricing across many services.
Full reference: Services.
3. Add-ons — the upsell
An add-on is an extra the customer can add to any service in a category. They have a price and an optional duration. Add-ons can also have their own item fields (e.g. Type of mattress appears only when Mattress cleaning is selected).
Full reference: Add-ons.
4. Staff — the deliverer
A staff member has a working schedule, breaks, holidays, and a list of services they can perform. A booking is always for one service × one staff × one time slot — but the customer can choose "Any available" to let Advik Booking pick.
Full reference: Staff.
How a booking is created
When the customer hits Pay, the plugin assembles:
- Service base price
- + (field values × price-per-unit)
- + (selected add-ons)
- − (coupon discount, if any)
- + tax (if enabled, on the discounted subtotal)
- = total
That same payload is also written to the Google Sheet, pushed to the staff's Google Calendar, and emailed to the admin and customer.
Why this model is powerful
- Reusability. Define a field once, use it across many services.
- Conditional by default. Add a field to a service → it appears on that service's form. Add it to an add-on → it only appears when the add-on is selected.
- Pricing travels with the question. Change the field's price-per-unit and every service using it updates its quote in real time.
- Easy to refactor. Move a field from one service to another in 2 clicks — no broken data.
Ready to model your business?
Start with Item Fields and follow the chain.