Appointments Troubleshooting & Access
Resolve add-on access, offering and team limits, unavailable resources or times, expired holds, manage-link problems, and disabled controls.
Appointment visibility is a chain. Start at the Appointments add-on, then check the offering, resource, availability, and finally the customer session.
Appointments requires the add-on
What it means: the sidebar route exists, but the store does not have an active Appointments add-on. Every covered admin Appointments page uses this entitlement gate.
What to do: a store owner can select View Appointments add-on to open Settings → Billing & Plan → Add-ons, then select Buy Add-on. If the card reads Cancelled · active until [date], Appointments remains available through that date and is not renewed. If the paid period has ended, select Buy Add-on to reactivate it. Immediate cancellation is limited to a grant with no identifiable paid period, such as a free or complimentary/non-billable grant or an older record with no future add-on or active-plan end date. The card then returns to Buy Add-on; contact support if that is earlier than the paid period you expected.
Appointments is briefly blank
The feature gate renders nothing while entitlement data is still loading. Wait for the subscription check to finish. If the page resolves to the add-on prompt, access is not active; if the normal page appears, no action is needed.
The add-on is required on every plan
What it means: no standard plan includes Appointments. Free, Starter, Growth, Pro, and Max stores all need an active Appointments add-on. The plan separately supplies the offering cap and Users-based team-member allowance; the Appointments add-on raises neither. See Plans, Add-ons & Team Allowances.
What to do: use Settings → Billing & Plan → Add-ons to buy or reactivate Appointments.
Staff or vendor users see contact the store owner
What it means: staff and vendor users cannot manage billing. When Appointments is unavailable, they see Appointments is not available for this store right now. Contact the store owner for help. They do not get View Appointments add-on or another purchase action.
What to do: ask a store owner to open Settings → Billing & Plan → Add-ons and buy or reactivate Appointments.
I can't add another team member
What it means: every active Person in Sales & Orders → Appointments → Team & Resources uses the plan's team-member allowance: Free 1, Starter 2, Growth 6, Pro 15, and Max unlimited. The page shows, for example, 1 of 2 team members used from your plan; the numbers follow your active team members and plan allowance. At the limit it changes to 2 of 2 team members used — you've reached your plan's allowance. Saving another Person keeps Add team member open and shows You have reached the limit for staff members in your current plan. Space and Equipment do not count.
What to do: select Upgrade plan to open /settings/billing and choose a plan with a larger
allowance, or deactivate an active Person that is no longer needed. Do not look for a team-member
product in Add-ons; the catalogue does not offer one.
Why didn't the guest get a code?
What it means: booking verification sends a six-digit code to the required Email address from the guest's Details screen. The Verify your booking screen masks that address and sends on entry. It does not deliver the verification code by SMS or WhatsApp.
What to do: if the screen says We couldn't send the code to your email. Check the address and try again., use the back arrow at the top of the step (accessible label Go back), correct the email, and continue. Otherwise wait for Resend code in 60s to become Resend code; the number counts down from 60 during the cooldown. Then send again. The code expires after 10 minutes, and five incorrect attempts exhaust it. A guest cannot reach Confirm until Verify code succeeds.
Why does booked include a no-show?
What it means: on Sales & Orders → Appointments → Calendar → Day, booked today measures appointments that occupied the day. It excludes Cancelled appointments but deliberately includes No-show appointments. The separate no-show cell identifies those bookings. unassigned follows a different rule: it excludes both Cancelled and No-show appointments and only appears above zero.
What to do: use no-show to identify the missed appointments; do not subtract them from booked today. For revenue, use collected and due at counter, whose money totals exclude Cancelled and No-show appointments.
Why can't I rename a team member?
What it means: once a team member, space, or equipment resource is created, its Name and Type fields are disabled in the Edit dialog — neither can be changed afterward. This applies to every resource type, including a Person linked to a staff user account: the resource's saved Name is a separate value set at creation time and is not read back from that user's own profile, so editing the linked user's account name elsewhere does not update what customers and admins see for this resource.
What to do: renaming is not currently supported. If a resource needs a different name, deactivate the existing entry (see Deactivate a resource) and add a new one with the correct name.
A team member can't open Offerings, Resources, or Settings
What it means: a Staff login only reaches three appointments screens: My Day (the calendar root, shown in place of the full calendar), My Availability, and New Appointment. Offerings (including its form builder), Resources (including each resource's availability editor), and Settings are admin-only — a Store Admin or Super Admin login is required. This isn't just a hidden sub-nav item: typing or bookmarking one of those URLs directly is blocked the same way, so a staff member can't reach them by deep-linking around the navigation either.
A blocked screen shows an Access Restricted message reading "Your role does not have permission to access this page. Please contact the Store Super Admin." instead of the page itself — the page's data is never fetched or rendered underneath it.
What to do: if a team member reports a missing tab or a blocked screen, check their role first. Staff-role logins are expected to see only My Day, My Availability, and New Appointment in Appointments — this is correct behaviour, not a bug. To give someone access to Offerings, Resources, or Settings, an admin needs to change that person's role outside Appointments (Store Admin or Super Admin), not just add them as a Team & Resources Person; a Person resource controls scheduling, not admin permissions.
I can't add another offering
What it means: the store's plan caps how many active offerings it can have: Free allows 3, Starter 5, Growth 10, Max 50, and Pro is unlimited (see Plans, Add-ons & Team Allowances → How many offerings can I create?). Add offering stays open and shows a warning banner above the form fields reading "You have reached the limit for services in your current plan.", with an Upgrade plan button. This only blocks creating a new offering — editing an existing one is unaffected.
What to do: click Upgrade plan, or deactivate an offering that is no longer needed before adding a new one. Deactivation frees an active slot without deleting the offering. Existing offerings are kept when a new lower cap applies; the cap does not delete them.
A customer can't reach the payment step
Booking payment (the mid-funnel Payment step and My Bookings' Pay deposit, Pay now, or Pay balance action) uses the Appointments entitlement. After the add-on ends, starting a new online deposit or balance payment is blocked. Verification remains available for a gateway order that was already created. Existing bookings can still be viewed, rescheduled, or cancelled. Confirm the store's Appointments add-on is active before troubleshooting a new-payment symptom; see Plans, Add-ons & Team Allowances → After the add-on ends.
Why does a booking with a deposit only get one invoice, not two?
What it means: a booking's order is created once, for the offering's full price, at the moment the booking is confirmed — the deposit and the balance are just the first and second payment against that single order, not two separate orders. Invoicing is tied to the order, so both payments finalize the same invoice. See Calendar & My Day → Collect and record payment for how the two legs show up in the detail panel.
What to do: if a customer or your accountant expects a "deposit invoice" separate from a "balance invoice," there isn't one to find — point them at the single invoice on the booking's order, which already reflects both amounts once the order is fully paid.
A customer never got a booking confirmation, reminder, or cancellation message
Booking lifecycle messages — booking confirmed, appointment reminders, cancelled, no-show, and the merchant's new-booking alert — use their WhatsApp templates. Booking-code verification is a separate required email, and a merchant reschedule alert is also emailed. Payment reminders use their configured email and WhatsApp channels; a disconnected WhatsApp channel is skipped without stopping configured email delivery. Three things commonly explain a missing lifecycle message:
- All six message templates are still Meta drafts, not yet approved for live sending (see the same caveat in Booking Settings & Presets → How reminder delivery works). Until Meta approves them, do not treat a configured reminder cadence, or the fact that a booking was confirmed in the system, as proof any WhatsApp message actually reached the customer or the merchant.
- A booking with no phone number on file is silently skipped — there's no error surfaced anywhere in the admin panel when this happens, so a missing message with a phone-less guest or customer record is expected, not a delivery failure to chase.
- A deposit-required booking never gets a "confirmed" message at all, even after the deposit is paid — the confirmation notification only fires for bookings made without a deposit requirement. If a customer asks why they never received a booking-confirmed message for a paid-deposit offering, this is expected behavior today, not a missing/delayed send.
For a missing booking code, check email rather than WhatsApp; the sender is the store's brand name, then owner name, then Your store. For a reschedule alert, the system-seeded merchant email says A customer rescheduled a booking from [old time] to [new time]. A store that customised the prior template keeps its own wording.
Customers see no bookable services
Find the offering
In the classic admin sidebar, go to Sales & Orders → Appointments → Offerings. In the new admin sidebar, go to sell. → Appointments → Offerings. Turn off Active only if needed so inactive rows are visible.
Check both visibility controls
The row must be Active. Open Edit and make sure Visible for online booking is on.
Check the customer route configuration
The /book route can be disabled by the store's page configuration. When disabled, the customer is
redirected to the home page and sees This page is currently unavailable.
Customers see a service but no resource choice
If the flow advances straight to Time, exactly one eligible person was returned and the Choose step auto-selected that person. That is expected. Any available is shown only when at least two eligible people are returned.
If Choose says no one is available, go to Sales & Orders → Appointments → Team & Resources and check that the required person is Active and Bookable online. Then edit the offering and confirm that person is selected under Team members / resources.
If the offering already carries a Space or Equipment link, the form keeps that selected chip and shows its saved name (type). It does not make that item eligible as booking staff: new choices and the public Choose step still use people only. Unavailable resource means a saved link can no longer be resolved; remove it and select an active Person instead.
Why can't I choose a room or equipment item as booking staff?
What it means: appointment staff selection is people-only. The Team member pickers in the compact New booking dialog, full New appointment form, and Reschedule appointment dialog list Person resources. The public booking Choose step also removes Space and Equipment, even when they are active and bookable online. Leaving Anyone available selected still assigns an eligible person.
What to do: choose an active person for the appointment. Keep rooms and equipment in Team & Resources when you need to manage their availability, and use the compact composer's Block time mode when you need to reserve one. Its Resource picker intentionally includes Person, Space, and Equipment.
Customers see no times
Check the weekly rule
Open Sales & Orders → Appointments → Team & Resources, then click Manage availability. A resource with no weekly shift is never available.
Check blocks
Look under Date overrides & blocks for a Blocked interval covering the requested time.
Check the visible horizon
The customer time picker requests the next 14 days. A working day beyond that window is not listed yet.
Try another time after a collision
If confirmation says the time was just taken, click Pick another time and create a new hold.
The held time expired
The public flow holds a selected time for five minutes. On expiry it clears the dead hold, shows a message, and returns to Time. Select another time and complete Details and Confirm before the new countdown ends.
The manage link does not work
- Re-copy the complete
/book/manage/:tokenURL; a shortened or mistyped token receives the same invalid-link state as an expired token. - For a temporary connection failure, click Try again. The invalid-link state instead offers Book a new appointment.
- If the confirmation showed the already-confirmed message, use the original manage link. An idempotent retry cannot recover the raw token.
Cancel booking cannot be clicked
Customer self-service cancel and reschedule are fully working, not a stub
An earlier version of this page said Cancel booking was always disabled on the signed-in and public manage-booking detail pages, with no working online cancellation action. That's no longer accurate — both Cancel booking and Change time work online for a customer, gated per-booking by the same server-computed cancellation window the business's refund policy uses. See My Bookings & Private Manage Links → Cancellation control and → Reschedule control for the full behaviour, including every reason the button can still be disabled.
If the button is disabled for a specific booking, the reason shown next to it is the answer — it always matches what the server currently allows for that booking, not a generic "coming soon" state. The most common reason customers ask about is the cancellation window: once a booking is within the store's configured Cancellation window (hrs), the online button disables itself and directs the customer to contact the business via WhatsApp instead.
The Reschedule button isn't on this appointment
Reschedule only shows in the detail panel for a Confirmed appointment. It's hidden for Awaiting payment, Checked in, In progress, Completed, Cancelled, and No-show — rescheduling isn't a status change (the appointment stays Confirmed), so every other status simply has no control for it. Move the appointment back to a status this doesn't cover isn't possible; if it's past Confirmed, cancel and rebook instead. See Reschedule an appointment.
The appointment's current time isn't in the Reschedule time list
This is expected, not a fault: the Reschedule dialog deliberately removes the appointment's own
current date, start time, and team-member combination from the returned choices. The read-only
Currently booked: {{time}} line above the picker shows the existing time in 12-hour format instead. Pick a
different date, team member, or time — if you only opened the dialog to confirm the time is right,
close it with Cancel rather than trying to re-select the current slot. See Reschedule an
appointment.
A customer's Change time picks a slot that's already gone
This is a collision, not a bug: two customers (or a customer and a walk-in booked from the admin panel) picked the same slot at nearly the same moment. The customer's own Pick a new time dialog shows “That time was just taken. Please pick another.”, clears the selection, and reloads the available times for the same date without closing the dialog — no need to reopen Change time. This is the customer-facing dialog at My Bookings & Private Manage Links → Reschedule control; it is a distinct control from the admin's own Reschedule covered above.
Scheduled delivery orders do not appear on Calendar
What it means: the calendar includes orders only when they have a scheduled Delivery date. Pickup orders do not appear. The feed is also hidden when Show orders is off and on a staff-only My Day calendar.
What to do: open the administrator calendar at Sales & Orders → Appointments (or sell. → Appointments in the new sidebar), turn on Show orders, and choose the Day, Week, or Month range containing the delivery date. If you see Couldn't load orders for this range., keep the appointments visible and wait for the next 30-second refresh or change the calendar range to try again. Select a visible order chip to open its order page.
Intake submissions are empty or unavailable
What it means: Submissions is scoped to the offering whose form builder you opened. A valid filter with no matching appointments shows No submissions found. A staff-only account cannot open this page and instead sees Access Restricted; Store Admin or Super Admin access is required.
What to do: open the offering through Sales & Orders → Appointments → Offerings → Edit → Manage intake questions, select Submissions, and check From, To, and Status before selecting Apply. Both dates are required, and the range must be 366 days or less. If an export is too large, narrow the dates before selecting Export CSV again.
An add-on payment shows failed
What it means: if the payment gateway supplies a reason, the error toast shows that description. Payment failed. Please try again. is only the fallback when no gateway description is available.
What to do: capture the complete toast before retrying; its gateway-specific wording is the most useful support detail. Start the purchase again and choose an available method in Razorpay's hosted Checkout. Closing it without paying is not a failure: the plan flow says Checkout closed. No payment was made. and leaves the purchase incomplete.
Admin controls that are visible but not active
| Control | Current behaviour |
|---|---|
| Offering Manage intake questions | Disabled only until the offering is first saved, with a tooltip reading "Save this offering first to add intake questions." Once saved, it opens a working intake-form builder — see Offering Intake Questions. |
Deposit policy is fully working, not a stub
An earlier version of this page listed the offering's Deposit policy control here as a coming-soon stub. That's no longer accurate — see Create & Manage Offerings → Deposit policy for the working mode selector, and Customer Booking Flow → Paying a deposit for what a customer sees when a store has one configured.
Calendar Week and Month are fully working, not coming-soon
An earlier version of this page listed Calendar Week and Month here as showing a coming-soon message. That's no longer accurate — both buttons switch to a fully working layout with no plan or config gate, and every appointment action available on Day (opening the detail panel, checking in, collecting payment, cancelling) works identically from Week and Month. See Calendar, New Appointment & My Day → Week view and → Month view for what differs by design (no day-money bento, no Jump to now on Month).
Still blocked?
Capture the exact page, role, selected offering, selected resource, requested date, and displayed message before contacting support. Those details separate a plan gate from an offering, resource, availability, hold, or manage-link problem.
