Services, Extras and Fees
Two separate tabs, for two different jobs:
| Tab | Use it for | Typical example |
|---|---|---|
| Services | Things the customer chooses to add | Airport pickup, breakfast, an extra hour |
| Extras / Fees | Things you charge, whether they choose them or not | A city tourism levy, a cleaning fee, a late-checkout option |
Both appear in the booking panel on the product page and both feed straight into the live price.
Services

The tab opens with the service settings panel; the list of services is beneath it.

Click Add service and fill:
| Field | Notes |
|---|---|
| Service name | What the customer sees — Airport pickup |
| Price | The charge |
| How customer chooses it | Optional checkbox, Customer chooses quantity, or Based on booking duration |
| Vendor ID (optional) | For marketplace setups. Leave 0 otherwise |
| Required | Required services are always added |
| Hidden from customer | Hide it from the form but keep it in the system |
| Min quantity / Max quantity | Only shown for the quantity type |
| Description | Optional explanation |
| Sort order | Lower numbers appear first |
The three ways a service can be chosen
| Type | What the customer sees | Good for |
|---|---|---|
| Optional checkbox | A tick box with the price beside it | Airport pickup, a welcome pack |
| Customer chooses quantity | A number box between your minimum and maximum | Breakfasts per guest, extra towels |
| Based on booking duration | Priced from the length of the booking | An add-on that scales with nights or hours |
On the storefront they appear grouped under your Frontend Services Label (default Services):
Services
☐ Breakfast per guest +₹350.00
☐ Airport pickup +₹1,200.00
Store-wide service defaults
Global Settings → Products → Global Services:
| Section | Setting | Default |
|---|---|---|
| Module Settings | Enable Services For This Product | Enabled |
| Module Settings | Frontend Services Label | Services |
| Module Settings | Allow Required Services | Enabled |
| Extra Services | Enable Extra Services | Enabled |
| Extra Services | Taxable By Default | Disabled |
| Extra Services | Default Sort Order | 10 |
| Quantity Services | Enable Quantity Services | Enabled |
| Quantity Services | Allow Decimal Quantity | Disabled |
| Quantity Services | Max Quantity | 99 |
| Optional Addons | Enable Optional Addons | Enabled |
| Optional Addons | Addon Group Label | Optional Addons |
| Optional Addons | Max Addons Per Booking | 10 |
Extras and fees

The tab opens with the extras settings panel; the list of extras and fees is beneath it.

Click Add extra/fee and fill:
| Field | Notes |
|---|---|
| Extra / fee name | City tourism fee, Late checkout |
| Type | Fee or Extra — a label for your own organisation |
| Amount | The figure |
| Amount type | Fixed, Percent of base, Per person, Per day, Per night |
| Required | Required charges are pre-ticked and cannot be removed |
| Hidden from customer | Keep it out of the form |
| Condition | When it applies — see below |
| Condition JSON | The condition's value |
| Description | Optional explanation |
| Sort order | Lower numbers appear first |
Amount types
| Amount type | Calculated as |
|---|---|
| Fixed | A flat figure |
| Percent of base | A percentage of the base booking amount |
| Per person | Multiplied by the guest count |
| Per day | Multiplied by the number of days |
| Per night | Multiplied by the number of nights |
Conditions
A condition decides whether the extra applies at all. Each takes a small JSON value — copy the placeholder in the form and change the numbers.
| Condition | Condition JSON | Meaning |
|---|---|---|
| Always | {} | Applies to every booking |
| Minimum amount | {"threshold":200} | Only when the booking is worth at least 200 |
| Minimum persons | {"min":2} | Only from two guests up |
| Minimum nights | {"min":2} | Only from two nights up |
| Specific dates | {"dates":["2026-06-01"]} | Only on those dates |
| Specific months | {"months":[6,7]} | Only in those months |
| Specific weekdays | {"days":[0,6]} | Only on those weekdays (0 Sunday … 6 Saturday) |
Important
The JSON must be valid or the record is refused with "Please fill required fields." Keep the braces, quotes and commas exactly as shown.
On the storefront extras appear under your Frontend Extras Label (default Fees and extras). Required ones are pre-ticked and marked with an asterisk:
Fees and extras
☐ Late checkout +₹500.00
☑ City tourism fee * +₹150.00
Store-wide extras defaults
Global Settings → Products → Global Extras:
| Section | Setting | Default |
|---|---|---|
| Module Settings | Enable Extras / Fees For This Product | Enabled |
| Module Settings | Frontend Extras Label | Fees and extras |
| Module Settings | Allow Required Fees | Enabled |
| Fees | Enable Fees | Enabled |
| Fees | Taxable By Default | Disabled |
| Fees | Default Sort Order | 10 |
| Conditional Extras | Enable Conditional Extras | Enabled |
| Conditional Extras | Allow Percent Amounts | Enabled |
| Conditional Extras | Allow Hidden Fees | Enabled |
Services or extras — which should I use?
| Question | Answer |
|---|---|
| Can the customer decline it? | Yes → Service. No → Extra/Fee marked Required |
| Does it only apply in certain circumstances? | Extra/Fee with a condition |
| Does the customer choose how many? | Service with Customer chooses quantity |
| Is it a percentage of the booking? | Extra/Fee with Percent of base |
| Is it charged per night or per person? | Extra/Fee with Per night or Per person |
Worked examples
Breakfast at ₹350 per guest, optional Service · price 350 · Customer chooses quantity · min 1 · max 6.
A ₹150-per-night tourism levy nobody can opt out of Extra/Fee · type Fee · amount 150 · amount type Per night · Required · condition Always.
A 10 % cleaning surcharge, only on bookings of three nights or more Extra/Fee · amount 10 · amount type Percent of base · condition Minimum nights · condition JSON {"min":3}.
A weekend supplement Extra/Fee · amount type Fixed · condition Specific weekdays · condition JSON {"days":[0,6]}.
Checking your work
- Open the product on your storefront.
- Confirm the two groups appear with the labels you chose.
- Tick a service and watch the Estimated price rise by the right amount.
- Confirm required fees are already ticked and cannot be cleared.
- Book a date where a conditional extra should not apply and confirm it is absent.
Everything the customer selected is carried through to the cart, the checkout and the order line item — see The Customer Booking Experience.
Next step
- Pricing — how these amounts combine with the base rate.
- Location and Search — the remaining product tabs.
