Session statuses, explained
The status dot, the status badge, and the lifecycle they describe — how to read where a session sits inside a project-based booking at a glance, and the one place Delete and Drop look the same but aren't.
A project-based booking holds one or more sessions, and each session has its own status that's separate from the booking-level status. The Management tab of a booking surfaces that per-session status in two places: a small dot on the session tab at the top, and a badge next to the Session N title once the tab is open. This page is the map for what each colour and label means.
Time-based bookings (piercer, permanent makeup, laser) don't have this layer — there's exactly one session and the booking-level status covers everything. The dots and badges below are project-based only.
The session tab dot
Each session tab carries a small coloured dot. Five colours, in lifecycle order:
- 🟠 Orange — your turn to act. At least one field on the session is yours to propose or re-propose, or the session is mid-drop / mid-cancellation awaiting your move.
- 🟡 Yellow — the client's turn. Every field is proposed; you're waiting on them to accept or reject.
- 🟢 Green — the session is fully confirmed (every field agreed, deposit handled), or it's been completed and not yet reviewed.
- 🔵 Blue — the session is completed and the client has left a review on the booking.
- ⚪ Grey — the session is dropped (by you) or cancelled (by the client), and the refund flow, if any, is closed.
The orange/yellow split is from your seat as the practitioner — the client sees orange when it's their turn and yellow when it's yours. Same dot, mirror reading.
The session header badge
Tap a tab and the active session opens with Session N as its title plus a status badge to the right. The badge labels what the dot was telling you, in words. Eight labels, ordered by lifecycle:
- Action Needed (orange) — at least one field on the session needs your move.
- Waiting (yellow) — every field is proposed; you're waiting on the client.
- Confirmed (green) — all six fields agreed (date, time, duration, price, location, deposit), the appointment is locked in.
- Completed (green) — you've tapped Mark Complete on the session.
- Reviewed (blue) — the client has left a review on the booking.
- Dropping (orange or yellow) — you started the drop flow and the refund is in progress; orange when your move is next, yellow when the client's is.
- Cancelling (orange or yellow) — the client started the cancel flow and the refund is in progress; same orange/yellow rule.
- Dropped (grey) — you dropped the session and the refund flow, if any, has closed.
- Cancelled (grey) — the client cancelled the session and the refund flow, if any, has closed.
How the lifecycle moves
A session walks through these states on a project-based booking:
1. Pending — the session exists; one or more fields are still being negotiated. The badge reads Action Needed or Waiting depending on whose turn it is. The session shows on your day timeline as soon as date, time, and duration are all set, even while still pending. 2. Confirmed — every field is agreed and the deposit is either received or marked "not required". The badge reads Confirmed and the appointment is locked in. When the last session on a booking flips to confirmed, the booking-level status flips to Confirmed too. 3. Started — the appointment time has arrived. The badge stays Confirmed, but the booking moves out of the Confirmed tab and into Bookings → Requests → Review, where you can mark the session complete or drop it. 4. Completed — you've tapped Mark Complete. The badge turns Completed, then Reviewed once the client leaves a review on the booking. 5. Dropped or Cancelled — the work didn't happen. Whichever side initiated the drop decides the label.
A confirmed session isn't permanently locked: re-proposing any field on it (tap the field, queue the change, Submit Proposal) flips the field, the session, and the booking back to pending until the client accepts the new value.
The booking itself completes when every session is either Completed or Dropped (with at least one Completed). If every session is Dropped, the booking lands under Review → Dropped.
Drop vs Delete on the session header
Below the badge, the session header gives you up to two destructive actions: a small trash icon (Delete) and a red Drop button. They aren't synonyms.
Delete appears only when the session has no deposit transaction (no amount set, or set to zero, or the client hasn't sent the money) and the booking has more than one session. Tapping it removes the session from the booking and renumbers the others to close the gap. Nothing else happens — no refund flow, no notification to the client.
Drop appears in every other case: single-session bookings, sessions with a deposit, or sessions that are confirmed but not yet completed. Drop opens a bottom-sheet for a reason and an optional note, and routes through the refund flow if a deposit has changed hands. On a single-session booking, dropping the session also drops the whole booking — there's no separate "Drop Booking" button on the project-based side.
If a session is already completed or already dropped, neither button shows. If a session is mid-drop (waiting for refund), Drop is greyed out until the refund flow closes.
Frequently asked questions
- A session tab dot is orange but the badge reads **Dropping**. Same colour, different word — why?
Because both are describing whose turn it is, not the lifecycle stage. The dot is always orange-when-yours / yellow-when-theirs as long as something is in motion — including refund flows. The badge gets more specific: Dropping (or Cancelling) tells you the session is mid-refund-flow rather than mid-negotiation. Once the refund flow closes, the badge becomes Dropped (or Cancelled) and the dot turns grey.
- A session is **Confirmed** but the booking still shows up under **Pending**. Bug?
No — that's the rollup at work. The booking is Confirmed only when every session is confirmed, so a multi-session booking with one confirmed session and one still-negotiating session shows in Pending and Confirmed at the same time. See Booking statuses, explained for the full booking-level rollup rules.
- I re-proposed a field on a confirmed session and the booking went back to **Pending**. Was that meant to happen?
Yes. Re-proposing flips the field from
confirmedback topending, which flips the session, which flips the booking. The client gets the standard "new proposals" notification — same as a first-round proposal. They cannot do the equivalent from their side: confirmed fields are locked from theirs.- I added a session and the client doesn't seem to know about it.
That's today's behaviour. Adding a session on its own doesn't fire a push to the client — they only see the new session next time they open the booking, or when you submit your first batch of field proposals on it (the standard "new proposals" push). If you want them to know right away, propose at least one field on the new session and Submit Proposal before leaving the screen.
See this in action
- Making proposals on a project-based sessionWhat each per-field proposal modal looks like, the rules it enforces, and the gotchas worth knowing — Date, Time, Duration, Price, Deposit, and Location, from the practitioner's seat.
- Responding to a project-based booking requestHow to read, respond to, add or drop sessions on, and (if needed) walk away from a project-based booking request — the practitioner's playbook, from the moment a tattoo or body-modification client's request lands in your Pending tab to the first proposal you send back.
- Updating a confirmed bookingHow either side changes the date, time, location, price, deposit, or duration on a booking that's already confirmed — what's editable on each booking model, what it does to the booking's status, and when it's smarter to cancel and re-book instead.
Was this helpful?