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.

The data model
attached toacceptsassigned toItem FieldThe questionServiceBundle of fields + priceAdd-onOptional extraStaffWho delivers itBookingWhat customer books

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.

i

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:

  1. Service base price
  2. + (field values × price-per-unit)
  3. + (selected add-ons)
  4. − (coupon discount, if any)
  5. + tax (if enabled, on the discounted subtotal)
  6. = 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.