Reservation states: pending, confirmed, completed, no-show, cancelled

Updated on Friday 22 May 2026

The 6 states of a booking, when it transitions between them, and what notifications each change generates.

Every booking in Citauno is in one of 6 states at each point of its life cycle. This is the complete reference.

States table

State Color Meaning
pending 🟡 Amber Awaiting confirmation (manual or deposit).
confirmed 🟢 Emerald Approved. Customer and professional notified.
rescheduled 🔵 Blue Time changed. Customer notified.
completed 🟣 Indigo Customer served successfully.
no_show 🔴 Pink Customer didn’t show up.
cancelled 🔴 Pink Cancelled (by the customer or the business).

Transition diagram

                    ┌─────────────┐
       (comes in)──►│  pending    │
                    └──────┬──────┘
                           │ confirm
                    ┌─────────────┐
                    │  confirmed  │◄──────┐
                    └──────┬──────┘       │
                           │              │ (move time)
            ┌──────────────┼──────────────┘
            ▼              ▼              ▼
       ┌─────────┐   ┌────────────┐  ┌──────────┐
       │completed│   │  no_show   │  │ cancelled│
       └─────────┘   └────────────┘  └──────────┘

Terminal states: completed, no_show, cancelled. A booking in these states no longer transitions (except for manually restoring from “cancelled” to “confirmed” if the slot is still available).

When each state applies

pending

When it appears: depends on the business’s confirmation mode:

  • Automatic mode: it never goes through pending — it comes in straight to confirmed.
  • Manual mode: any incoming booking stays pending until the admin confirms or rejects it.
  • Deposit-required mode: it stays pending until the customer pays the deposit.

Holds the slot: yes (so it isn’t double-booked while you decide or the customer pays).

Time limit: depends on the mode:

  • Manual: no limit, you confirm whenever you can.
  • Deposit: 24 hours (configurable) — after that it expires automatically.

confirmed

When it appears: when the admin accepts a pending booking, when the deposit is paid, or when a booking comes in under automatic mode.

Notifies: email + WhatsApp to the customer with the confirmation + an .ics file.

Notifies the team: the professional receives an .ics if they have “Receive calendar invitations” enabled.

rescheduled

When it appears: when you or the customer change the date/time.

Notifies: email to the customer with the new time. If the option is on, WhatsApp too.

Special behavior: the rescheduled state is temporary — within a few hours it moves to confirmed automatically. It’s mainly used so the customer notices the change in their booking list.

completed

When it appears: when you manually mark “Completed” after the appointment. Some businesses automate it: the system marks it as completed automatically X hours after the scheduled time if it wasn’t changed to another state.

Notifies: optionally, an email/WhatsApp asking for a review.

Appears in: revenue reports, professional statistics, customer history.

no_show

When it appears: when you manually mark “No-show” after the appointment.

Notifies: doesn’t notify the customer by default (configurable).

If deposit mode: the customer loses the deposit they paid.

Appears in: the customer’s no-show statistics (visible when they book again).

cancelled

When it appears: when it’s explicitly cancelled. This can be:

  • The customer cancels from their confirmation link.
  • The admin cancels from the dashboard.
  • The system cancels a pending booking that expired.

Notifies: email to the customer confirming the cancellation + (optional) WhatsApp.

If deposit mode: the refund depends on the cancellation policy:

  • If they cancel before the cutoff: full refund.
  • If they cancel after, or don’t show up: no refund.

Intermediate payment states (if deposit mode)

When the mode is “Deposit required”, the booking has a payment sub-state:

Sub-state Description
awaiting_deposit Waiting for the customer to pay the deposit. The booking is pending.
deposit_paid The customer paid the deposit. The booking moves to confirmed.
deposit_refunded Deposit refunded due to an early cancellation.
balance_due Service provided, the balance is still owed (60-100% of the price).
balance_paid The customer paid the balance. Booking is completed.

Booking source

Independent of the state, every booking has a source that indicates how it was created:

Source Description
online The customer booked from the public link (citauno.com/your-business/book).
admin The admin created it from the calendar.
walk_in A customer who showed up without a prior booking.
phone The admin created it after a call.
waitlist Came from the waitlist (when a slot frees up, the system notifies).
import Imported from another system (CSV, migration).

The source doesn’t change over time; it’s only set at creation.

Transition rules

From state To state Who can do it
pending confirmed Admin (manual) or system (deposit payment)
pending cancelled Admin (rejection) or system (expiration)
confirmed rescheduled Admin or customer
confirmed completed Admin or system (post-appointment)
confirmed no_show Admin
confirmed cancelled Admin or customer
rescheduled confirmed System (after a few hours)
cancelled confirmed Admin (restore — only if the slot is still free)

Behavior on the calendar

State Visual behavior
pending Amber block, holds the slot, isn’t double-booked
confirmed Emerald block
rescheduled Blue block
completed Indigo block (more opaque)
no_show Pink block with an X icon
cancelled Doesn’t appear on the calendar (filterable)

Reports and metrics

Metric States included
Total bookings All except cancelled
Revenue completed
No-show rate no_show / (completed + no_show + cancelled)
Pending conversion confirmed from pending / total pending
Late cancellations cancelled with less than X hours of notice

How to change a state manually

  1. Go to the Calendar and tap the booking.
  2. In the side panel, tap the matching button:
    • Confirm if it’s pending.
    • Mark completed or Mark no-show if it’s confirmed and the time has passed.
    • Cancel from any active state.
  3. Optionally check the “Notify the customer” box if you want an email/WhatsApp sent to them.

How to restore a cancelled booking

If you cancelled by mistake:

  1. Go to Bookings → Filter: Cancelled.
  2. Tap the booking.
  3. Tap “Restore” if the time is still available.
  4. If the time was taken by someone else, it can’t be restored — create a new one.