Troubleshooting & Common Questions
This article covers the most common issues across OpenChair — from login problems and payment failures to SMS not sending and payout delays. Jump to the section that matches your issue.
Quick navigation:
Can't Log In
OpenChair uses a magic link (sign-in link sent to your email) to authenticate. There are no passwords to remember, but the links have a short expiry window.
Common login errors
| Error message |
Cause |
Fix |
| "That sign-in link has expired. Please request a new one." |
The link is older than 15 minutes |
Return to the sign-in page and request a fresh link |
| "That sign-in link has already been used. Please request a new one." |
The link was clicked more than once |
Request a new link — each link is single-use |
| "That sign-in link is invalid. Please request a new one." |
The link was forwarded, copied incorrectly, or the URL was broken |
Copy the full link directly from the email, or request a new one |
| "Couldn't send sign-in link — please check your email address." |
The email address is not recognised or contains a typo |
Double-check the address you entered |
| "Couldn't reach our servers — check your connection and try again." |
Network or connectivity issue |
Check your internet connection and try again |
| "Your session has expired. Please sign in again." (mobile) |
Your authentication session has timed out |
Log out of the app and sign in again |
Login troubleshooting steps
- Check your Spam or Junk folder — magic links are occasionally filtered.
- Make sure you are using the same email address you were invited with. If your venue owner invited you to another address, log in with that address.
- If using Google sign-in, confirm you are selecting the correct Google account (if you have more than one). If you declined the Google consent screen, return to the sign-in page and try again.
- If the link opens a blank page or an error: copy the full URL from the email and paste it into a fresh browser tab.
- If none of the above works, ask your venue owner to re-send your invitation from Settings → Team.
Note
Only venue owners can manage team member invitations and re-send sign-in links. If you are the owner and cannot log in, use the Forgot sign-in link option on the login page.
Payment Failure
Payment failures during checkout cover card declines, missing card-on-file consent, gift card issues, and terminal problems.
Common payment errors
| Error message |
Cause |
Fix |
card_declined |
Card was declined by the card network |
Ask the client to use a different card or payment method |
insufficient_funds |
Card does not have enough funds |
Ask the client to use a different card |
| "Customer does not have an active card on file with consent" |
No saved card, or consent was not captured at booking |
Collect payment manually at checkout; prompt the client to save a card next time |
| "Gift card is invalid or has no remaining balance" |
Gift card code not found or fully redeemed |
Verify the gift card code and check its balance in Payments → Gift Cards |
| "Stripe Connect not configured for venue" |
Stripe has not been connected to this venue |
The owner must complete Stripe setup in Settings → Payments |
| "No balance due" |
The invoice has already been fully paid |
Check the booking history — payment may have been collected earlier |
| "Insufficient payment: $X paid of $Y due" |
The amount collected does not cover the total |
Collect the remaining balance before closing the checkout |
| "Tap to Pay setup took too long. Check your internet connection and try again." |
Tap to Pay timed out during initialisation |
Check your internet connection and try again |
| "NFC isn't available for Tap to Pay on this device." |
The device does not support NFC |
Use a Stripe Reader or collect payment by another method |
What happens after a card failure
When a charge fails, OpenChair automatically marks the client's card-on-file status as needs update. The client will need to provide a new card before their next card-on-file charge can proceed. You can see this status on the client's profile.
Tip
For recurring clients, enabling card-on-file collection during online booking reduces checkout friction and prevents payment failures for future appointments.
Deposit-specific errors
| Error message |
Cause |
| "Deposit payment is not in a valid state." |
The deposit intent is in an unexpected status — contact support if this persists |
| "Deposit amount does not match the service rule." |
A service rule was changed after the deposit was created |
| "No deposit required for these services." |
Deposit was collected but the services no longer require one |
SMS Not Sending
SMS availability depends on your subscription plan, your market, and whether a dedicated phone number has been provisioned.
SMS availability by market
| Market |
SMS available |
Notes |
| Australia (AU) |
Yes |
Requires PRO + dedicated number provisioned |
| United Kingdom (UK) |
Yes |
Requires PRO + dedicated number provisioned |
| New Zealand (NZ) |
No |
SMS is not available in New Zealand — use email campaigns instead |
Common SMS errors and states
| Message or state |
Cause |
Fix |
| "SMS is not available in New Zealand. Use email campaigns instead." |
NZ market restriction |
Use Campaigns → Email for marketing messages |
| "Upgrade to Pro to unlock inbox, campaigns, automations, and dedicated two-way SMS." |
Free plan |
Upgrade to OpenChair Pro |
| "OpenChair Pro is required before you can provision a dedicated number." |
No Pro subscription |
Upgrade to Pro, then provision a number |
| "Dedicated phone numbers are only available for AU and UK venues." |
NZ venue attempting provisioning |
SMS is not available for NZ venues |
| "Unknown tag(s): {tag_name}. Did you mean {{customerName}}, {{venueName}}, {{bookingUrl}}?" |
Unrecognised merge tag in message body |
Check the tag spelling — valid tags are {{customerName}}, {{venueName}}, and {{bookingUrl}} |
| "Message exceeds 160 characters — it will be split into multiple SMS parts and may incur additional charges." |
Message too long |
Shorten the message to stay under 160 characters |
| "Unable to determine your SMS status. Please refresh the page or contact support." |
Unexpected error state |
Refresh the page; if the problem persists, contact support |
Number status guide
| Status shown |
Meaning |
What to do |
| Active and receiving messages |
Dedicated number is live |
No action needed |
| "Your dedicated number will be released at the end of your billing period." |
Number is in grace period |
Nothing — it will be released automatically |
| "Your dedicated number has been released." |
Number has been released |
Provision a new number to restore two-way SMS |
| No number provisioned |
Number has not been set up |
Go to Engage → SMS and tap Provision Number |
SMS troubleshooting steps
- Confirm your venue is on a PRO plan — SMS requires Pro.
- Check your venue's country in Settings → Venue — SMS is only available in AU and UK.
- Go to Engage → SMS and check the number status. If not provisioned, provision a dedicated number.
- Check your remaining SMS allocation in Engage → SMS Allocation. If exhausted, additional messages will be billed as overages or queued for the next period.
- Review your message for merge tag typos — unrecognised tags block sending.
Booking Conflicts
Booking conflicts occur when a time slot is unavailable due to existing bookings, venue closures, or staff availability. Some conflicts are hard blocks; others are soft warnings that you can override.
Hard conflicts (cannot override)
These conflicts prevent the booking from being saved:
| Message |
Reason |
| "This slot is already booked." |
Another booking occupies that time for the same staff member |
| "The venue is closed on this day" |
The selected date falls on a venue closure day |
| "Booking falls outside venue operating hours" |
The time is before opening or after closing |
| "This slot overlaps with blocked time." |
A blocked-out period exists for that slot |
| "This slot was just taken. Please choose another." |
Two bookings were created simultaneously — a race condition |
| "Cannot create a booking in the past" |
The selected time has already passed |
To resolve a hard conflict: choose a different time slot, staff member, or date.
Soft conflicts (can override)
These are warnings that you can override by confirming in the dialog that appears:
| Message |
Reason |
Override? |
| "[Staff name] is rostered off on [day]." |
Staff member is not scheduled that day |
Yes — confirm to proceed |
| "Outside [staff name]'s working hours on [day]." |
Booking falls outside their rostered hours |
Yes — confirm to proceed |
| "[Staff name] is rostered off and this booking falls outside working hours on [day]." |
Both — off-roster and outside hours |
Yes — confirm to proceed |
When you override a soft conflict, the booking is saved and a toast confirms the action. The staff member's roster is not changed — you are simply booking outside it.
Note
Double-booking protection is enforced at the database level. If two bookings are submitted for the same slot simultaneously, only one will succeed — the other will receive "This slot was just taken."
Troubleshooting booking conflicts
- Check the staff member's roster in Team → [Staff Name] → Schedule.
- Check venue operating hours in Settings → Operating Hours.
- Check for existing blocked time on the calendar for that staff member and date.
- If a client cannot book online, check Booking Rules — minimum notice periods or service restrictions may be blocking the slot.
Calendar Not Loading
The calendar may fail to load data or display a blank view due to network issues, stale data, or filter configurations.
What you'll see
| State |
What it means |
| Spinning or skeleton loader |
Calendar data is being fetched — wait a few seconds |
| "Failed to load calendar range data" (toast notification) |
The calendar could not retrieve data for the selected date range |
| "Showing the last loaded queue while the calendar range catches up." |
The calendar is displaying cached data while retrying in the background |
| Blank calendar with no bookings |
Filters may be hiding bookings, or there are genuinely no bookings for that view |
The calendar degrades gracefully — if a data fetch fails, it continues showing the last successfully loaded data rather than showing an error screen. A fresh load is attempted automatically.
Calendar troubleshooting steps
- Check your internet connection. The calendar requires a live connection for real-time data.
- Hard refresh the page (Ctrl+Shift+R on Windows, Cmd+Shift+R on Mac) to clear any cached state.
- Check the date range. Navigate back to today's date — data outside the loaded range triggers a fresh fetch.
- Check active filters. If you have filtered by a specific staff member or resource, ensure they have bookings for the date you're viewing.
- Try a different browser. If the issue is browser-specific, clearing cache or switching browsers resolves most loading problems.
- Check your venue's operating hours. If hours are not configured, the calendar may display unexpectedly.
Mobile App Crashing or Freezing
The OpenChair mobile app uses isolated error handling per tab. If one tab encounters an error, the other tabs continue to work normally.
What you'll see when a tab crashes
This section ran into a problem
This section encountered an error. Other tabs still work.
[error detail]
[Try Again]
Recovery steps
- Tap Try Again on the affected tab — this reloads that section without restarting the app.
- Switch to another tab (e.g., from Today to Calendar) — your other tabs are unaffected.
- If the error persists: close the app completely and reopen it.
- Check your internet connection — many errors are caused by network issues, and the app shows "No internet connection. Please check your network." in this case.
- Update the app — outdated app versions can cause crashes when the API has been updated. Check the App Store (iOS) or Google Play (Android) for updates.
Common mobile error messages
| Message |
Cause |
Fix |
| "No internet connection. Please check your network." |
Device is offline or on a poor connection |
Connect to Wi-Fi or move to better mobile coverage |
| "Your session has expired. Please sign in again." |
Authentication session timed out |
Sign out and sign back in |
| "You do not have permission to perform this action." |
Your role does not have access to this feature |
Contact your venue owner to check your role and permissions |
| "Something went wrong. Please try again." |
Unexpected server error |
Tap Try Again; if persistent, contact support |
| "Could not update booking status" |
Booking status change failed |
Check your connection and try again |
Tip
If the app crashes repeatedly on the Today tab after an update, try uninstalling and reinstalling the app. This clears local cache that can conflict with newer versions.
Stripe Connection Issues
Stripe Connect must be fully set up before you can accept card payments or receive payouts. Incomplete onboarding is the most common cause of payment processing issues.
Stripe account status badges
When you visit Settings → Payments, your Stripe account shows one of these statuses:
| Status |
Meaning |
| Charges Enabled |
You can accept card payments |
| Payouts Enabled |
Funds can be paid out to your bank account |
| Requirements Pending |
Stripe needs additional information — see Stripe's instructions |
| No Stripe Account Linked |
Stripe Connect setup has not been started |
Troubleshooting Stripe connection
| Problem |
Fix |
| "No Stripe Account Linked" error |
Go to Settings → Payments and complete the Stripe Connect onboarding |
| "Requirements Pending" — charges or payouts blocked |
Log in to your Stripe dashboard and provide the requested documents or information |
| Payments processing but payouts blocked |
Stripe may require identity verification — check your Stripe dashboard for outstanding requirements |
| Stripe Reader not appearing in checkout |
The reader may not be paired — reconnect it from the checkout screen. Check the hardware guide for setup steps. |
| Card reader connection drops during checkout |
Move closer to your router; the reader requires a stable Wi-Fi or mobile data connection |
How long does Stripe verification take?
Stripe typically verifies accounts within 1–3 business days. During this time, you may be able to accept charges but payouts may be held. Once verification is complete, Stripe will email you and your account status updates automatically. You can also click Sync with Stripe in Settings → Payments to refresh the status manually.
Note
Stripe Connect onboarding is required for every venue separately. If you operate multiple venues, each venue needs its own connected Stripe account.
Payout Delays
Payouts are initiated from your OpenChair Wallet balance to your connected bank account. Several conditions affect when payouts are processed.
Payout requirements
All of the following must be true for a payout to proceed:
| Requirement |
Details |
| Stripe connected and verified |
Both Charges Enabled and Payouts Enabled must show in Settings → Payments |
| Minimum balance reached |
AU: $50 AUD / UK: £50 GBP minimum in available balance |
| Payout schedule configured |
Monthly (all plans) or Weekly (PRO only) |
Common payout issues
| Issue |
Cause |
Fix |
| No payout received this period |
Balance below minimum threshold |
Collect more payments to bring the wallet above the minimum |
| Weekly payouts not available |
Weekly schedule requires PRO subscription |
Upgrade to Pro, or use the default monthly schedule |
| Payout shows as "failed" in history |
Stripe could not transfer funds to the bank account |
Check your bank account details in Stripe dashboard; ensure the account is active |
| Payout is late |
Bank processing times vary (typically 2–5 business days after initiation) |
Allow the processing window to complete; check your bank statement |
| Payout missing after Stripe requirements added |
Stripe placed a hold pending identity verification |
Complete the verification steps in your Stripe dashboard |
Payout schedule
Payouts are automatically initiated on the following schedule:
- Monthly (all plans): once per calendar month
- Weekly (PRO only): once per week
You can check your payout schedule and history in Settings → Payments → Payouts.
Note
UK venues: Surcharging (passing card processing fees to customers) is not permitted. The fee absorption setting is fixed to absorb all fees.
Australian venues: Surcharging regulations apply — see your payment settings for the current rules in your region.
Missing Notifications
Notifications in OpenChair cover booking confirmations, reminders, team alerts, and marketing messages. If notifications are not arriving, the cause is usually a settings or permission issue.
Notification types and delivery channels
| Notification type |
Delivery channel |
| Booking confirmations (to clients) |
SMS and/or email (set by notification templates) |
| Booking reminders (to clients) |
SMS and/or email (set by notification templates) |
| In-app alerts (to team) |
Push notification + in-app notification panel |
| Campaign messages |
SMS or email (sent manually or via automation) |
Troubleshooting missing notifications
For in-app and push notifications (team members):
| Issue |
Fix |
| No push notifications on mobile |
Go to your phone's Settings → Notifications → OpenChair and ensure notifications are allowed |
| Push notifications stopped arriving after reinstalling the app |
Sign out and sign back in — this re-registers your device for push notifications |
| Notification panel shows no new alerts |
Check Settings → Notifications in the app to confirm notification types are enabled |
| "No access to this venue" error in notification panel |
You may be viewing the wrong venue — switch to the correct venue from the venue selector |
For client booking notifications (SMS/email):
| Issue |
Fix |
| Client did not receive booking confirmation |
Verify the client's mobile number and email address are correct on their profile |
| Automated reminders not sending |
Check Settings → Notification Templates — ensure the reminder template is active |
| SMS reminders not sending |
Confirm your venue has a dedicated number provisioned and your SMS allocation has not been exhausted |
| Client receiving no notifications |
Check the client's profile — notification opt-out may be set |
Default notification preferences
New team member accounts have these notification preferences enabled by default:
- Booking updates: on
- Booking reminders: on
- Promotional messages: off
You can change your preferences in Settings → Notifications.
Tip
If clients report not receiving SMS reminders, check Engage → SMS to confirm your dedicated number is active. A number in "grace" or "released" state will not send outbound messages.
Related Articles
Last updated: April 2026