Services
Pricing Rules
Create dynamic pricing rules that automatically adjust service prices by day, time, or date. Set peak surcharges or off-peak discounts. Available on all plans.
Last updated 9 August 2026
Create dynamic pricing rules that automatically adjust service prices based on the day of the week, time of day, or a specific date, so you can charge more during peak hours or offer discounts to fill quiet periods.
Where to find it. Web: Sidebar → Settings → Pricing → Pricing rules. Mobile: Settings → Pricing. “Smart pricing” remains a supported search term.
TL;DR
- Pricing rules automatically adjust service prices based on day of week, time of day, or a specific date
- Available on all plans: only Owners and Managers can create or edit rules
- Rules never stack, only one applies per booking slot (specific-date rules beat weekly rules)
- Use the Pricing rules switch in each service's Advanced settings to opt individual services in or out
Overview
Pricing rules let you:
- Set percentage or fixed-amount surcharges for peak times (e.g. +15% on Saturdays)
- Create off-peak discounts to fill quiet time slots (e.g. -$10 on Tuesday mornings)
- Schedule one-off pricing for special dates (e.g. New Year's Eve premium)
- Control which services are eligible via the per-service Pricing rules switch
- Enable or disable rules without deleting them
Pricing rules are available on all plans. Only venue owners and managers can create, edit, or delete rules.
Creating a pricing rule
On web
- Go to Settings in the sidebar.
- Open Pricing, then select Pricing rules.
- Click Add rule.
- Fill in the rule form:
Rule name
Enter a descriptive name (2 to 50 characters). Examples: "Weekend Surcharge", "Happy Hour Discount", "Christmas Eve Premium".
Schedule
Choose a schedule type:
| Tab | What it does | Fields |
|---|---|---|
| Weekly Recurring | Rule repeats on selected days each week | Day-of-week toggles (Su, Mo, Tu, We, Th, Fr, Sa). Default: Mon-Fri. |
| Specific Date | Rule applies once on a single calendar date | Date picker (YYYY-MM-DD format) |
Optionally check Limit to specific hours to restrict the rule to a time window:
- Start time: default 09:00 (24-hour format)
- End time: default 17:00 (24-hour format)
If you don't limit to specific hours, the rule applies all day (00:00 to 23:59).
Price adjustment
| Setting | Options |
|---|---|
| Action | Increase by (surcharge) or Decrease by (discount) |
| Type | % (percentage) or $ (fixed amount) |
| Value | The amount to adjust (e.g. 10 for 10% or $10) |
- Click Create Rule (mobile) or confirm the dialog (web).
On mobile
- Open Pricing from settings.
- Tap Add pricing rule.
- Fill in the same fields as web, the mobile form uses button groups for day selection and action/type toggles.
- Tap Create Rule.
Tip
Start with small adjustments (5 to 15%) and monitor for a few weeks before increasing. Customers are more sensitive to visible price differences than you might expect.
How rules are applied
When a customer selects a booking time slot, OpenChair checks all active smart pricing rules to see if any match the slot's date and time.
Matching logic
A rule matches a time slot if:
- The rule is active (
isActive = true) - The slot falls on a matching day of week (for weekly rules) or specific date (for one-off rules)
- The slot falls within the rule's time window (if one is set)
Conflict resolution
If multiple rules match the same time slot, only one rule is applied: rules do not stack.
The winning rule is selected by:
- Priority: specific-date rules (priority 10) beat weekly rules (priority 0)
- Largest adjustment: among equal-priority rules, the one with the biggest absolute adjustment wins
Price calculation
| Type | Calculation |
|---|---|
| Percentage increase | Final price = base price + (base price × value / 100) |
| Percentage decrease | Final price = base price − (base price × value / 100) |
| Fixed increase | Final price = base price + value |
| Fixed decrease | Final price = base price − value |
Fixed amount rules also have an Apply adjustment setting:
- Each service: the fixed amount is applied to every eligible selected service.
- Once per booking: the fixed amount is applied once to the whole booking total.
The final price is never less than $0. Percentage decreases are capped at 100%.
Service opt-in
Each service has a Pricing rules switch that controls whether pricing rules apply to it.
- Default: On (new services are eligible for pricing rules)
- Location: Service edit form → Advanced section → Pricing rules switch
- Label: "Adjust price based on demand"
When pricing rules are enabled on a service, the form shows:
- If rules exist: "N enabled rule(s) configured. Manage →" (links to Pricing settings)
- If no rules: "No pricing rules configured yet. Set up rules →"
Services with pricing rules switched off always use their base price, regardless of enabled rules.
Managing existing rules
Toggling a rule on or off
Each rule card has an Enabled/Paused switch. Tap or click the switch to change the rule immediately. This is useful for:
- Seasonal adjustments (disable summer rules in winter)
- Testing the impact of a pricing change
- Temporarily pausing a rule without losing the configuration
Editing a rule
On web, click the pencil icon on the rule card. The Edit Pricing Rule dialog opens with the rule's current name, schedule, hours, adjustment, scope, and active state pre-filled. Update the fields and save.
On mobile, existing rules can be enabled, paused, or deleted from the Pricing rules screen. To change the rule details, create a replacement rule and delete the old one.
Deleting a rule
On mobile, tap the trash icon on the rule card and confirm. On web, use the delete action on the rule.
Rule card display
Each rule card shows:
| Element | Example |
|---|---|
| Name | "Weekend Surcharge" |
| Badge | "Weekly" (grey) or "One-off" (blue) |
| Summary | "Increases price by 15%" or "Decreases price by $10" |
| Schedule tags | Unambiguous day abbreviations (Mon, Tue, Wed) or date |
| Time tag | "09:00 - 17:00" (if time-limited) |
| Status badge | "Paused" (if not enabled) |
| Toggle | Enabled/Paused switch |
Empty state
When no rules have been created:
- Web: The Pricing rules tab shows a first-run empty state with the Add rule button.
- Mobile: A DollarSign icon with "No pricing rules yet" and "Create rules to adjust prices by time, day, or date" with an Add Pricing Rule button.
Platform differences
| Feature | Web | Mobile |
|---|---|---|
| Navigation | Settings → Pricing → Pricing rules | Settings → Pricing |
| Create rule | Dialog (modal overlay) | Full-screen form |
| Day selection | 7 toggle buttons in dialog | 7 circular day buttons |
| Date picker | HTML date input | Native DateTimePicker (iOS inline, Android modal) |
| Time picker | HTML time input | Native DateTimePicker |
| Delete rule | Delete action on rule | Trash icon with confirmation alert |
| Status toggle | Enabled/Paused switch on rule card | Enabled/Paused switch on rule card |
| Empty state | Text + How it works section | Icon + text + CTA button |
| Edit rule | Pencil icon opens pre-filled Edit Pricing Rule dialog | Not available, delete and recreate |
Troubleshooting
| Issue | Solution |
|---|---|
| Rule is not affecting prices | Check that the rule is Enabled. Verify the day/date and time window match the booking slot. Also check the service has pricing rules enabled in its settings. |
| Prices seem wrong | Only one rule applies per time slot, rules do not stack. If you have multiple matching rules, the one with the highest priority (specific date beats weekly) and largest adjustment wins. |
| Cannot create or edit rules | Only venue owners and managers can manage smart pricing rules. If you are a team member, ask the venue owner. |
| Discount reduced price to $0 | Percentage decreases are capped at 100%. Fixed-amount decreases can reduce the price to $0 but never below. Check the adjustment value isn't too large for the service price. |
| Customer does not see the adjusted price | The adjustment is applied when the booking slot is selected. If the customer is viewing the service list (not a specific slot), they see the base price. |
| Want to apply different rules to different services | Individual services can opt out via the Pricing rules switch in the service edit form. However, you cannot target a rule to specific services; rules apply to all eligible services. |
FAQ
What are pricing rules?
Pricing rules automatically increase or decrease service prices based on the day of the week, time of day, or a specific date.
Do pricing rules stack?
No, only one rule applies per time slot. If multiple rules match, the one with the highest priority (specific-date beats weekly) and largest adjustment wins.
How do I stop a rule from applying to a specific service?
Turn off Pricing rules on the service in its Advanced settings. That service will always use its base price regardless of enabled rules.
Can I temporarily disable a rule without deleting it?
Yes. Switch an Enabled rule to Paused without losing its configuration.
Proficiency-linked pricing
Settings → Pricing → Staff pricing hosts the Staff pricing toggle and venue-defined staff levels (PRO) on web and native. Create, edit, reorder, deactivate, reactivate, and assign replacement levels there. Set service-level prices from Services → Staff pricing.
Blank pricebook cells inherit the service base price. An entered price remains an explicit override even when it equals the base price; clear it to return to inheritance. On phone, choose a service to edit its level prices. Tablet and web use a matrix.
The two systems compose: staff pricing resolves the base price, then pricing rules adjust it. See Staff Services & Proficiency for full setup.