# Settings: booking rules, cancellations and receipts

Source: https://docs.meetscarlet.com/settings/
Updated: 2026-11-06

Settings holds the rules your studio runs by: how members hold and book, when a cancel counts as late, what happens to a deposit, when reminders go out and what your receipts say. Every row explains itself and shows its default.

## Change a setting

1. **Open Settings** Owners and managers see Settings in the menu. Owners can change everything; managers can change the booking limits and see the rest read-only. Settings is a set of pages, one per job: Studio, Booking, Appointments, Cancellations and fees, Tips and tax, Payments, Emails and texts, Team, Plan and billing and Developers (webhooks). Which ones you see depends on your role. On a wide screen the pages are listed on the left and stay in view; on a phone, Settings opens on the list of pages, and each page has a back button to it. Each group of rules has a How this works link to its section here.

1. **Change what you need** Each row says what it does and shows its default. Reset to default puts one row back.
Groups for other kinds of business, such as the walk-in line on a tanning studio or open matches on a salon, wait under Other settings near the end, which names them. A group you have changed stays in view.

1. **Save** While you have unsaved edits, a bar stays at the bottom of the screen saying how many there are. Save changes saves them all at once, and Discard changes drops them. If a box has a value Scarlet can't save, the bar names it, and Show it scrolls you to it. Changes apply to new bookings straight away.
The bar is on the Studio, Booking, Appointments, Cancellations and fees, and Tips and tax pages. If you leave a page with unsaved edits, Scarlet asks first. Cards with their own button, such as Save sites for your website, the booking emails, the booking fee and webhooks, save on their own.

[Screenshot: The Settings page: the Studio card with name, time zone and currency, then Bookings, Check-in requirements and Memberships rows, each with its help text and default, and Save changes at the bottom.]

> Good to know: You can change your studio's time zone and currency until you add your first resource, membership type or booking. After that they're fixed, so set them first. When you save a new time zone or currency, Scarlet asks you to confirm. If you chose the wrong one and your studio already has bookings or sales, email hello@meetscarlet.com and we'll help you move.

## Bookings

- **No-show grace** and **Close unattended bookings as no-shows**: when the desk can mark a no-show, and whether Scarlet closes a court or bed booking nobody checked in to as a no-show by itself, a little after it ends.

- **Let a member book two things at the same time**: off by default. Turn it on for a coach or a parent who books several courts or beds at once.

- **Notice before a tanning booking**: what a member reads, with a tick box, before they confirm a bed or booth in the app. Plain words only; the session length is added after it.

- **Times one member can reserve at once** and **Total reserved time per member**: when a member picks a time, it is held for them for a few minutes while they decide, so no one else takes it, and then lapses on its own. These limit how much one member can hold like that. **Wait before reserving the same time again** is typed in seconds, and the page reads it back in minutes (300 is 5 minutes).

- **Book-and-cancel limit per day**: after this many bookings made and then cancelled within 24 hours, that member can't book again until the oldest one is a day old. Cancelling is never blocked.

## Appointments, cancellations and deposits

### Cancelling, moving and deposits

- **Free-cancel window**: how long before an appointment a member can cancel for free. Inside it, a cancel counts as late. A service can set its own.

- **Change-of-time window**: how long before an appointment members can still move it themselves. By default it follows the free-cancel window.

- **Cancellation policy wording**: shown before people confirm and again in their confirmation. Leave it empty and Scarlet writes a sentence from your free-cancel window.

- **Keep the deposit on a late cancel** or **on a no-show**, and how long you have to mark a no-show before a paid deposit is given back.

### Booking without an account

- **Let people book without an account**: anyone with your booking link can book your online services with their name, email and phone. **Confirm guests' email** adds a 6-digit code so nobody books with a made-up address.
**Right-of-withdrawal notice**: for studios selling to consumers in the EU, where a booking for a set date has no legal right to withdraw within 14 days. When it has text, people read it before they confirm and again in their confirmation email. It is only a statement: it changes no refund rule. Only an owner can change it. `{studio}` and `{service}` fill in your name and the service. Leave it empty to show nothing.

### Closed dates and reminders

- **Closed dates**: days no appointment can be booked, online or at the desk, picked on a calendar with [Add closed dates](#holidays), each with an optional reason. Appointments already booked stay.

- **Send appointment reminders**, with a **First reminder** and a short-notice **Second reminder**. On Scarlet Pro, reminders can also go as texts to clients who opted in (coming soon).

### Requests, time off and booking again

- **Answer a booking request within**: for services that need approval, how long a request waits before it's declined and the time is freed.

- **Let staff edit their own time off**: lets team members add and remove their own time off. Time off never moves or cancels a booked appointment.

- **Close unattended appointments as no-shows**: a little after an appointment ends, one nobody checked in to is closed as a no-show, with no fee and no kept deposit. Off: only your team marks no-shows, and an unmarked appointment counts as a visit.

- **Service photos on the booking page**: how a service shows its photos: **None**, **Cover** (a wide photo above the name) or **Thumbnail** (a small one beside it).

- **Suggest booking again after**: under a finished appointment, the app offers to book the same service again this many weeks later (4 to start with; 0 turns the offer off). A service can set its own gap.

**Walk-in line** and **Tips after a visit** have their own groups: see [running a walk-in line](https://docs.meetscarlet.com/appointments/#walk-in-line) and [tips](https://docs.meetscarlet.com/payments/#tips).

## Close on public holidays

Under Closed dates, pick your country (United States, United Kingdom, Canada, Australia or Poland) and choose Load public holidays for …. The country's public holidays from today to the end of next year are added to the list, each with its name. Dates already there stay, and a day already in the list isn't added twice. Nothing changes until you choose Save changes.

The list has the main national holidays: federal holidays for the US, and England and Wales for the UK. Some of them aren't kept in every Canadian province or Australian state, so check the list against your region, remove any you stay open on, and add local days by hand. The list holds up to 1,500 characters; if a holiday doesn't fit, the admin says so, and you can remove old dates and load again.

On a closed date, nobody can book or move an appointment onto it, online or at the desk. Appointments already booked that day stay booked, and classes aren't affected: see [cancelling a class or a whole day](https://docs.meetscarlet.com/classes/#cancel).

To close any other day, such as a stocktake or a staff training, choose Add closed dates and pick the day, or the first and last day, on the calendar. Each closed day shows in the list with its reason. The pencil beside it adds or changes the reason, and the × takes the day out. To paste many days at once, choose Edit as text: one line per day or range, like `2026-12-24 Christmas Eve` or `2026-12-31..2027-01-01 New Year`, and the list follows. Press Save to keep the change.

[Screenshot: The Closed dates list: Thu, Dec 24, 2026 Christmas Eve, Dec 31, 2026 to Jan 1, 2027 New Year, and Mon, Feb 15, 2027 Staff training, each with a pencil for its reason and an × to remove it, then Add closed dates, Edit as text and the public holiday loader.]

## Check-in requirements and memberships

- **Waiver on file** and **Minimum age**: what someone needs before checking in to a booking paid at the desk. See [checking members in](https://docs.meetscarlet.com/check-in/).

- **Owner adjustment limit** and **Manager adjustment limit**: the most credits, minutes or visits one adjustment can add to or take off a membership. Keep the manager limit low.

## Fees for missed bookings and split payments

**Charge late-cancel and no-show fees automatically** is off by default. When it's on, Scarlet charges the fee to the card the member saved when they paid in the app; without a saved card, the fee waits for the desk. Turning it on asks you to confirm before it saves. Courts can also let members **split a booking between players**, each paying their share from a link. See [late-cancel and no-show fees](https://docs.meetscarlet.com/payments/#fees).

## Tax receipts

Turn on **Number every payment as a tax receipt** and each online payment gets a numbered receipt (INV-000001, INV-000002 and so on) showing your tax rate and the tax inside the price. Prices are treated as tax included, and tips are left out. Set the **Tax rate**, **Tax name** (such as VAT or GST), **Legal business name**, **Tax ID** and **Business address** to print on them. Only an owner can change these, and receipts already issued keep the details they were issued with.

> Good to know: Type the tax rate as a percent, such as 23 or 12.5. Check it with your accountant.

## Your booking link and website embed

On the Booking page, Booking link and embed gives you the link to your booking page and two lines of code to put the booking form on your own website. Under Websites allowed to show your form, the owner lists the websites that may show it; any other website shows a blank space where the form would be. The link works for people without an account only while booking without an account is on.

[Screenshot: The Booking link and embed card: the booking link go.meetscarlet.com/halo-bronze/book with a copy button, two lines of code for your website with a copy button, and the list of sites that may show the booking form with Save sites.]

## Booking emails, email delivery and texts

- **Booking emails**: change the subject and first paragraph of each booking email, in your own words and per language, with a preview and Reset to default. The time, the manage link and the policy are added by Scarlet.

- **Email delivery**: whether booking emails are going out, and any that needed a second try this past week.

- **Text messages** (coming soon): your studio's texting number on Scarlet Pro, and who opted out. Clients sign up by texting START to it, so nobody can be switched on from here.

[Screenshot: The Booking emails card: a language picker set to English, then each email (Booking confirmed, Request received, Booking moved, Booking cancelled, Reminder, After the visit and more) marked Default with an Edit button, and the Text messages card below it.]

## Webhooks: send bookings to your own tools

A webhook tells another tool, such as your CRM, a spreadsheet tool or Zapier, the moment something happens to a booking. Scarlet sends a signed message to each web address you add, naming the booking and the person. Only the owner sees Webhooks, and adding, switching off or removing an address needs [two-step sign-in](https://docs.meetscarlet.com/invite-your-team/#two-step) on, because the messages carry your clients' names, emails and phone numbers.

1. **Get an address from your tool** Your tool or developer gives you a web address that starts with https://. It must be a public website name, not an IP address or a local name, with no username or password in it. Scarlet never follows a redirect, so use the final address.

1. **Add it** Under Webhooks, choose Add address, paste it in, add a note so you remember what it is, and tick what to send: New booking, Booking moved, Booking cancelled, No-show and Booking paid.

1. **Save the signing secret** Scarlet shows a signing secret once. Copy it into your tool: it's how your tool checks that a message really came from Scarlet. Then choose I have saved it.

1. **Send a test** Choose Send test event. You'll see whether your tool answered, and if not, why.

Each address shows whether it's Active, Having trouble or Switched off, when something was last delivered, and how many messages couldn't be delivered. If your tool is down, Scarlet keeps trying each message for about a day, then sets it aside for 90 days. After 10 failed deliveries in a row it switches the address off and says why. Once your tool is fixed, choose Switch on. Edit changes the address or what it receives, Remove stops it for good, and New secret replaces the secret straight away, so paste the new one into your tool at once. You can add up to 10 addresses.

[Screenshot: The Webhooks card with one address, crm.example.com, marked Active: the events it sends, when it last delivered, the end of its secret, and the Send test event, Switch off, Edit, New secret and Remove buttons.]

### For your developer

Each message is a `POST` with a JSON body: `id`, `type` (`booking.created`, `booking.rescheduled`, `booking.cancelled`, `booking.no_show`, `booking.paid`, or `webhook.test` from the test button), `created` (Unix seconds), `studio_id` and `data`. Booking events carry `data.booking` and `data.member`; `booking.paid` adds `data.paid`. A booking made from a tracked link also carries `data.lead_source` with the UTM source, medium and campaign and the referring site.

Check the `Scarlet-Signature` header, `t=<unix seconds>,v1=<hex>`: compute HMAC-SHA256 with the signing secret over `t`, a dot and the raw, unparsed body, compare in constant time, and reject a `t` more than 5 minutes away from your clock. In Node.js:

```
const crypto = require("node:crypto");
const m = /^t=(\d+),v1=([0-9a-f]{64})$/.exec(header ?? "");
const want = crypto.createHmac("sha256", secret).update(`${m?.[1]}.${rawBody}`).digest();
const ok = !!m && Math.abs(Date.now() / 1000 - Number(m[1])) <= 300 &&
  crypto.timingSafeEqual(want, Buffer.from(m[2], "hex"));
```

Answer with any 2xx status within 10 seconds. Timeouts, network errors, 408, 425, 429 and 5xx are retried after 1, 5 and 15 minutes, then 1, 3, 6 and 12 hours; 401 and 403 are retried only for the first three tries. Other 4xx answers and any redirect are not retried. Each retry is signed again with a new `t`, so ignore repeats by `Scarlet-Delivery-Id`, which stays the same. The other headers are `Scarlet-Event-Id`, `Scarlet-Event-Type` and `Scarlet-Delivery` (the try number). Answering 410 switches the address off.
