Appointment Settings & Presets
Set store-wide booking rules, use a data-backed preset as a starting point, and understand the setup checklist, validation, and recovery states.
Use Settings to set the store-wide defaults that shape the appointment slot search and the customer cancellation policy. It also has a first-run checklist and data-backed preset starting points; a preset is not a separate version of the product.
Open Settings
Screen: In the classic admin sidebar, go to Sales & Orders → Appointments, then select the Settings tab. In the new admin sidebar, go to sell. → Appointments → Settings. The direct route is /appointments/settings.
The appointments sub-navigation contains Calendar, Offerings, Team & Resources, and Settings. Only store administrators and super administrators can open Settings; other roles see the access-restricted route. The Appointments feature must also be enabled for your plan before the page is available.
Work through Getting set up
The Getting set up card marks each item with a completed or pending icon. It is a live summary, not a separate checklist you can tick manually.
| Checklist item | When it is complete | What you can do there |
|---|---|---|
| Add your first service | At least one active offering is returned. | Select the item to open Offerings. |
| Add a team member or resource | At least one active resource is returned. | Select the item to open Team & Resources. |
| Set booking rules | Default deposit (₹) or No-show fee (%) is above zero. | Set one of those values in Booking rules on this page. |
| Set reminder cadence | The reminder field contains at least one non-blank comma-separated entry. | Edit Reminder cadence in Booking rules. |
The last two rows are status indicators only; they do not open another screen. A store can save booking rules with both the deposit and no-show fee at zero, but that leaves Set booking rules pending. Likewise, clearing the reminder field leaves Set reminder cadence pending.
Start from a preset
Under Start from a preset, each returned preset is shown as a clickable chip. Selecting a chip opens a confirmation dialog before anything changes — applying a preset now replaces every booking rule field below with that preset's defaults, including fields you've already customised and saved. Read the dialog's warning, then select Apply preset to confirm or Cancel to back out with no change. A confirmed apply updates the form with the returned values and shows Preset applied.
Presets are data records, not vertical-specific code paths. Their names and available choices come from the store's preset list, so use the chip label shown on your page rather than expecting a fixed set of choices. After applying, you can still adjust individual fields and select Save settings to keep the values you want — the preset only sets the starting point, it does not lock the fields.
No preset chip is not an error
If the preset list is successfully empty, this card has no chips. You can still configure every booking-rule field manually.
Set booking rules
The form starts with the values already saved for the store. Enter numeric values in the six number fields, use commas to separate reminder offsets, and turn the team-member switch on or off.
| Control | What it changes | Accepted saved value |
|---|---|---|
| Minimum notice (mins) | Excludes slots that begin before the required notice period. An offering can supply its own notice value, which takes precedence over this store setting. | Whole number from 0 to 10,080. |
| Booking horizon (days) | Limits returned booking dates to the horizon from the current time. | Whole number from 1 to 365. |
| Slot increment (mins) | Sets the interval used when the availability service enumerates bookable start times. | Whole number from 5 to 120. |
| Cancellation window (hrs) | Sets how long before an appointment starts a customer may cancel. | Number from 0 to 720. |
| No-show fee (%) | Stores the no-show fee percentage used by the appointment settings. | Number from 0 to 100. |
| Default deposit (₹) | Stores the default deposit setting. The current service validates it as a percentage of the offering price, where 0 means no deposit, despite the rupee label in the form. | Number from 0 to 100. |
| How long to hold an unpaid booking (mins) | Sets how long a confirmed booking with an unpaid deposit stays reserved before the automatic deposit-timeout sweep releases it. | Whole number from 5 to 10,080 (5 minutes to 7 days). |
| Reminder cadence (mins before, comma-separated) | Stores minute offsets before the appointment. For example, 1440,60 means one day and one hour before. | A comma-separated list of unique whole numbers from 0 to 525,600; an empty list is allowed. |
| Let customers pick a specific team member | Stores the customer team-member-choice setting. This Settings page has no booking-page preview. | On or off. |
Choose the slot boundaries
Set Minimum notice (mins), Booking horizon (days), and Slot increment (mins). These three values control how soon, how far ahead, and at what intervals the availability service can return slots.
Set policy values
Enter Cancellation window (hrs), No-show fee (%), and Default deposit (₹) as needed. Use zero for no cancellation lead time, no no-show fee, or no deposit respectively. Set How long to hold an unpaid booking (mins) to how long a booking with an unpaid deposit stays reserved before it's automatically released — from 5 minutes up to 7 days (10,080 minutes); saving a value outside that range shows an inline error and blocks the save.
Set reminders and team choice
Enter the reminder offsets as comma-separated minutes, such as 1440,60, then set Let customers pick a specific team member to the customer-choice policy you want.
Save
Select Save settings. The button changes to Saving… and is disabled while the save request is in progress. On success, the page shows Booking settings saved and keeps the saved response as the current form values.
What decides whether the resource and payment steps exist at all
Two of the settings above do double duty: they also decide whether a step in the booking funnel is reachable at all, not just how it behaves.
| Setting | Step it gates | What happens when it's off (or zero) |
|---|---|---|
| Let customers pick a specific team member | Staff / resource picker | The funnel skips straight to Time — see Customer Booking Flow → Choose who or what is available. In Booking Experience Editor → Step Format, the Staff / resource picker row shows disabled with an Open settings link back here. |
| Default deposit (₹) | Payment screen | For an offering whose own Deposit policy was never saved, a positive store default becomes its effective policy, so Payment appears and is included in the step count. For every offering with a saved policy (the normal case), that policy decides the step instead — see Customer Booking Flow → Paying a deposit and Create & Manage Offerings → Deposit policy. Payment has no row in the Step Format panel either way. |
Settings always win over anything saved in the Booking page editor — turning Let customers pick a specific team member off removes the resource step from the funnel even if that step's format was customised, and there is no editor-side switch that can turn it back on while the setting is off. The reverse direction is narrower: with this setting left on, the editor's own Staff / resource picker on/off switch can shift the funnel's step count and progress labels, but it does not stop the resource-picker screen itself from being visited for an offering with more than one available resource — see Booking Experience Editor → When the on/off switch reaches the live funnel.
Validation and failed saves
The page converts every numeric input to a number when you edit it, but it does not show field-level validation before saving. The service rejects values outside the ranges in the table, non-whole numbers where a whole number is required, an invalid team-picker value, or a reminder list with a duplicate, a negative value, a decimal, or an offset beyond one year. A failed save keeps the form available and shows the returned error notification; correct the value and save again.
For reminders, spaces around comma-separated values are ignored. Text that cannot be read as a number is removed before saving, so recheck the field rather than assuming a typed label or stray text will be preserved.
Reminder cadence is not a delivery log
This page stores the cadence; it does not show sent reminders, delivery status, or a messaging-channel selector. Similarly, No-show fee (%) and Default deposit (₹) are stored policy values here; this page does not collect a charge or configure a payment action.
How reminder delivery works
The saved offsets are now used by the scheduled reminder sweep. While the jobs service is running, it checks due confirmed or checked-in bookings on its configured five-minute schedule, asks the booking service to claim each due cadence once, and sends a reminder through the existing notification path. A booking that is cancelled, already started, or has already claimed that cadence for its current booked time is not selected again. Rescheduling a booking to a new time is not blocked by an earlier claim: the claim is tied to the booked time, so a cadence that already fired for the old time can fire again for the new one if it now falls due.
This is intentionally not a delivery guarantee or a customer-visible history. The durable claim prevents duplicate selection, but a failure after the claim and before the notification call can leave a reminder unsent. The Settings screen has no resend control or delivery log, so use the booking record and the notification operations path when investigating a missing reminder.
Do not treat configured cadence as live-template approval
The appointment reminder template is a draft awaiting Meta approval — and it isn't the only one. Every appointment message (booking confirmed, reminder, cancelled, no-show, and the merchant's new-booking alert) sends over WhatsApp using its own draft template, none of them approved yet. Existing evidence is mock or sandbox evidence, not proof that a live WhatsApp delivery reached a customer. Keep the cadence configured if it is useful for readiness, but confirm the approved template and the active notification channel before promising delivery of any appointment message, not just reminders.
Loading and recovery
Settings initially loads the active offerings, active team/resources, saved settings, and presets together. While any initially empty source is still loading, the page shows a form skeleton instead of a partial checklist or form.
If any initially empty source fails, the page shows Couldn't load appointment settings. with Retry. Retry reloads all four sources. If a source has already returned entries, a later refresh failure does not replace the populated page with that initial-load error state.
Troubleshoot booking rules
- If customers cannot choose a near-term slot, check Minimum notice (mins). Also inspect the offering itself: an offering-specific notice value overrides the store default.
- If a future date has no returned slots, compare it with Booking horizon (days), then check the offering's assigned resources and their availability.
- If customers cannot cancel, check Cancellation window (hrs). Once the current time reaches the appointment start time minus that window, the customer cancellation action is unavailable.
- If a configured reminder was not received, first confirm that the booking remains Confirmed or Checked in, that its start time is still in the future, and that the configured offset has passed. Then have an administrator check the notification operations path; this Settings page cannot show whether a specific dispatch succeeded.
- If the checklist stays pending after you save, check the exact conditions above: it needs an active offering, an active resource, a positive deposit or no-show fee, or at least one reminder entry. It does not infer completion from related setup work.
- Applying a preset overwrites every booking-rule field with that preset's defaults, even fields you've already customised and saved — this is intentional (the confirmation dialog says so) and cannot be undone once applied. If you didn't mean to reset a customised field, re-enter its previous value and select Save settings afterward, or select Cancel in the confirmation dialog next time instead of Apply preset.
- If Retry keeps returning the loading error, confirm the Appointments feature is available to the store plan and ask a store administrator to check the appointment configuration service.
