Skip to content

User Manual

Module

Calendar

Your shop's day-to-day command center. Book appointments, block time, run the waitlist, scan QR check-ins, and keep the whole team on one grid.

Route
/dashboard/calendar
Roles
All team members can open the calendar. Who can create, edit, or delete depends on the role permissions set in Team → Roles.
01

Overview

The Calendar is where your team plans and runs the day. Every booking — whether taken by a receptionist, self-served through the client portal, or created from the waitlist — lives on the same grid. It shows one member's day, the whole team at once, the week ahead, or a month at a glance.

You'll use it to: take bookings, reschedule and cancel them, move clients between statuses (scheduled → confirmed → in progress → completed), block off time for lunch or meetings, run the waitlist, and check clients in with a QR code.

What you can do here

  • Book an appointment in a few clicks — click an empty cell in the grid and a pre-filled modal opens with the right member and time.
  • See every team member's day side-by-side (Day view) or the whole team's week stacked together (Week view).
  • Filter the grid to just one person, to one service, or to a subset of statuses.
  • Block off time for lunch, meetings, training, or days off — including recurring blocks.
  • Keep a waitlist and book from it when a slot opens up.
  • Check clients in with a QR code — either from the URL in their confirmation message or with your camera.
02

Opening the calendar

  1. 1Sign in to Momentfy at your workspace URL.
  2. 2Click Calendar in the main sidebar (the first item under the workspace name).
  3. 3The calendar loads with today's date in your current location.

Direct link

The URL is /dashboard/calendar. You can bookmark it, or send team members a link that opens on a specific date — see Deep links below.

Required access

All active members of the workspace see the Calendar in their sidebar. What they can do inside it depends on role permissions:

  • View only — can read the grid but not create or change anything.
  • Book & edit — can create, reschedule, and change the status of appointments.
  • Manage blocked time — needed to add, edit or delete blocked time entries.
  • Manage waitlist — needed to add entries, notify clients, and book from the waitlist.
03

Views

The Calendar has five views. Switch between them from the view selector in the top-right of the header.

Day

The default. Each active team member gets their own column. Rows are time slots. Use this to run the reception desk or see who is free at a given moment.

3 Day

Today and the next two days, laid out as day columns. Each column is the whole team stacked together. Useful for planning short-term — who is busy tomorrow, what is open the day after?

Week

Seven columns, one per day. Starts on the day you set in Settings → First day of week (Monday or Sunday). Team is stacked within each column. Good for a weekly plan or filling a gap two days out.

Month

A classic month grid. Each day shows a few appointment dots — click a day to jump straight into the Day view for that date. Best for high-level scheduling and spotting empty days.

Agenda

A clean, list-based view of the upcoming days. Each day lists its appointments in chronological order. This is what the calendar auto-switches to on phones — time-grid views aren't usable on narrow screens.

On mobile

The first time you open the calendar on a screen narrower than 768 px, the view flips to Agenda automatically. You can still switch to Month from the view selector, but Day / 3 Day / Week are deliberately gated because they need a wider grid.

04

Date navigation

Three controls in the header let you move through time.

Today
Jumps back to the current date in whatever view you're on.
‹ / ›
Steps backward or forward — by one day in Day view, three days in 3 Day, seven days in Week and Agenda, or one month in Month view.
Date label
Click the date (or date range) shown in the header. A two-month calendar opens where you can pick any date directly.

Booking-date dots

In the date-picker popover, days that already have at least one booking show a small dot beneath them. This lets you spot your busiest days without having to page through the grid — especially useful when planning a block of time off.

Keyboard-friendly

On desktop you can swipe horizontally on the grid to scroll dates, or use trackpad horizontal scroll — the grid enables touch-pan for both axes.

05

Scroll to now

The time grid is tall — it shows the whole 24-hour day. Two things make sure you never waste time scrolling to find the right spot:

  • Auto-scroll to working hours — when you load the calendar or switch views, the grid is automatically scrolled to start near your team's earliest shift. You land on a useful part of the day instead of midnight.
  • Scroll to now — the clock button in the header jumps to today and scrolls to the current time. A thin horizontal line on the grid marks the exact moment — hover the grid to also see a second line with the time under the cursor.
06

Filtering

When the grid gets busy, filters narrow it down. There are three filter categories, all shown as chips above the grid once active.

Member filter

  1. 1Click the Scheduled Team dropdown in the header.
  2. 2Tick one or more team members. Ticking nothing (or using Scheduled Team at the top of the list) brings everyone back.
  3. 3The grid now shows only those members' columns in Day view, and only their appointments in 3 Day / Week / Month / Agenda.

Status filter

  1. 1Click the Filter button in the header to open the Filters modal.
  2. 2Tap any of the six status chips: Scheduled, Confirmed, In Progress, Completed, Cancelled, No-show.
  3. 3Selecting more than one shows appointments in any of the chosen statuses.

Service filter

  1. 1In the same Filters modal, open the Services dropdown.
  2. 2Pick one or more services — only appointments that include any of those services will show.

Active filter chips

Whenever a filter is active, a row of chips appears just below the header. Each chip shows the category (Status, Services) and the currently selected values. Click the × on a chip to remove that category, or Reset Filters to clear everything at once.

07

Creating an appointment

There are three ways to start a new appointment. Pick whichever is closest to what you're looking at.

  • Click New Appointment in the header — the generic entry point.
  • Click an empty cell in the Day view grid — the form opens pre-filled with that member, date, and start time.
  • Use the three-dot menu on a member's column header and choose New Appointment — the member is pre-selected.

Filling out the form

  1. 1Choose the client. Type a name to search your existing clients, or switch to Walk-in and enter the name and phone manually.
  2. 2Add services. Each service row has its own assigned member, duration, and price. The service dropdown auto-fills duration, price, and tax from your catalogue.
  3. 3Add more services with + Add Service if the booking covers more than one — for example a cut and a colour. Total duration and price update automatically.
  4. 4Check the date. It's pre-filled from where you clicked, but you can pick a different day.
  5. 5Set the start time (hour + minute dropdowns, 15-minute increments). The end time is calculated from the total service duration.
  6. 6Optionally type a note in the Notes field — anything the team doing the service should know.
  7. 7Hit Save. You'll see an Appointment created toast and the booking appears on the grid immediately.

Assigning members per service

For multi-service appointments you can assign a different member to each service — for example, hair with Sarah and nails with Maya at the same visit. Each service shows on the grid in that member's column.

Member availability

The member dropdown only shows team members who are configured in the catalogue to perform that service. If the person you want isn't there, add them to the service under Catalogue → Services.

08

Editing & rescheduling

  1. 1Click the appointment block on the grid (or the appointment row in Month / Agenda view). The Appointment Details panel opens.
  2. 2Click Edit at the top. The same form you used to create the booking reopens, pre-filled.
  3. 3Change whatever you need — time, date, member, services, client, notes.
  4. 4Save. You'll see an Appointment updated toast. The grid refreshes immediately, and if the change affects the client (new time or new service) the notifications set up for your workspace will fire.

Quick time move

To move an appointment to another slot with the same member on the same day, it's often faster to edit and change just the start time — the end time recalculates automatically.

09

Appointment statuses

Every appointment has exactly one status. You move it through the lifecycle as the client's visit progresses.

Scheduled
Just booked. The client hasn't been contacted or confirmed yet.
Confirmed
Client has confirmed they're coming.
In Progress
Client is in the chair right now.
Completed
Service finished. Next step is usually checkout.
Cancelled
Booking cancelled. Frees up the slot on the grid (greyed out by default).
No-show
Client didn't turn up. Tracked separately from cancellation so you can follow up.

How to change status

  • From the Appointment Details panel — buttons at the bottom match whatever transitions are valid from the current status.
  • From the appointment block on the grid — the right-click / long-press / status menu icon shows the same transitions in a compact menu.

Valid transitions

Scheduled
→ Confirmed · Cancelled · No-show
Confirmed
→ In Progress · Cancelled · No-show
In Progress
→ Completed · Cancelled
Completed / Cancelled / No-show
Final — no further transitions.

Colour on the grid

By default, appointments are coloured by the service category (Haircuts = violet, Colour = pink, etc). You can change this in Settings → Calendar:

  • Category (default) — colour comes from the service category.
  • Status — appointments are coloured by their current status, using the palette under Appointment status colours.
  • Member — each team member gets their own colour.
  • Custom status colours — override each status's colour if you want, say, Confirmed to be green and Cancelled to be grey.
10

Checkout from an appointment

When the service is done, you can take payment without leaving the Calendar.

  1. 1Open the Appointment Details panel by clicking the appointment block.
  2. 2Click Checkout. A sales slideover opens with the appointment's services, client and price already loaded.
  3. 3Adjust quantities, add products if needed, pick the payment method, and complete the sale.
  4. 4The appointment is marked Completed automatically and the receipt prints (or is sent to the client by WhatsApp / SMS / email based on your notification settings).

Partial payments

If the client pays only part of the amount, the rest is tracked as an outstanding balance on their client profile — you can collect it later from Clients → Balances.

11

Blocked times

Blocked time is any part of the day where a team member is not available to take bookings: lunch, training, a dentist appointment, an entire day off. Blocked time shows up as a muted, striped block on the grid and prevents online clients from booking the slot.

Adding blocked time

  1. 1Click Add Blocked Time in the header — or pick it from the three-dot menu on a member's column.
  2. 2Choose the team member the block applies to.
  3. 3Optionally pick a Type — Lunch, Break, Day off, etc. The type has a colour and a default title.
  4. 4Fill in a short Title or Reason so the team knows what the block is for. "Dentist", "Staff meeting", "Maintenance" — whatever is helpful.
  5. 5Pick the date, start time, and end time.
  6. 6If it repeats, set Repeat to Daily, Weekly, or Monthly, then pick a Repeat until date.
  7. 7Save. The block appears on the grid for all the dates it covers.

Editing blocked time

Click a blocked-time block on the grid to open its details. From there you can Edit (same form as creation) or Delete.

Deleting a recurring block

Recurring blocks have three delete options:

This occurrence
Removes only the block on the date you clicked — the rest of the series stays.
This and future
Removes this date and every later occurrence — keeps the past ones on the record.
All occurrences
Deletes the entire series from first to last.

Managing block-time types

  1. 1Inside the New / Edit Blocked Time form, click Manage Types.
  2. 2Add a new type by typing a name and picking a colour, then click Add.
  3. 3Remove a type with the × button next to its name — existing blocks using that type are not deleted, they just lose the type link.

Hiding blocked time

If you prefer a cleaner calendar and only want to see appointments, turn off Settings → Calendar → Display blocked time. The blocks are still there in the data and still prevent online bookings — they're just hidden on the grid.

12

Waitlist

The waitlist is a queue of clients who couldn't get the time they wanted. When a slot opens — either because someone cancels, or because a new slot appears — you can notify them, and book them in one tap.

Opening the waitlist

Click Waitlist in the calendar header. A slideover opens with three tabs:

Waiting
Active entries — people currently hoping for a slot. Notified entries count here too.
Expired
Entries whose preferred time window has passed without being booked.
Booked
Entries you successfully turned into appointments.

Each tab shows a count next to its label. You can also change the Sort between Oldest (first added first) and Newest.

Adding an entry

  1. 1Click Add to Waitlist inside the slideover.
  2. 2Pick the service the client wants.
  3. 3Pick an existing client or switch to Walk-in and enter name, phone, and email manually.
  4. 4If they have a preferred time window, tick Preferred time and set a from-hour and to-hour (for example 10:00 to 14:00). Leave it unchecked if any time is fine.
  5. 5Add a note if the team needs extra context.
  6. 6Click Add. The entry appears under Waiting.

Notifying and booking

  • Notify — sends a message to the client that a slot is available (uses the notification channel configured in your workspace). The entry moves to the Notified state, still under the Waiting tab.
  • Book — opens the New Appointment form pre-filled with the waitlist entry's service, client, and preferred time. Save the appointment and the entry is marked Booked automatically.
  • Cancel — removes the entry from the waitlist entirely.
13

QR scan check-in

Every appointment has a QR code embedded in its confirmation message. Clients can show it at reception on arrival, and your team can scan it to open the appointment in one tap — no searching.

Scanning

  1. 1Click the QR icon (Scan QR Code) in the calendar header.
  2. 2Grant camera access the first time — the browser asks once and remembers the choice for your device.
  3. 3Point the camera at the client's QR code. When it's in focus, the Appointment Details open automatically.
  4. 4From there you can update the status to In Progress, edit, or check out.

No camera? Use manual entry.

If the camera can't be used — browser permission denied, or the device has no camera — the scan modal has a manual entry field at the bottom. Type or paste the appointment ID from the confirmation link and press enter.

Older browsers

QR scanning uses the browser's BarcodeDetector API. On older browsers you'll see a QR scanning not supported message — use the manual entry field below, or update the device.

15

Settings that affect the calendar

A handful of tenant-wide settings change how the calendar behaves. You'll find them all under Settings → Calendar.

First day of week
Monday or Sunday. Controls the week grid and the month view layout.
Appointment colour source
Category (default), Status, or Member. Controls what colour an appointment block takes on the grid.
Appointment status colours
A custom colour per status, used when colour source is Status (or to override the default status palette).
Display blocked time
Toggle whether blocked-time entries appear on the grid. They still block online bookings either way.

Changes here apply to every team member in the workspace — the calendar refreshes automatically next time it's opened.

16

Tips & best practices

  • Run the day from Day view. It's built for reception — every member is a column, every click is an action, and you always know who is free.
  • Plan the week from Week view. It gives you pattern at a glance — gaps to fill, days that are overloaded.
  • Turn Scheduled into Confirmed as soon as the client confirms — the status change is what drives reminder messages and reports.
  • Mark No-show rather than Cancelled when the client simply didn't turn up. No-show rates are tracked separately in Reports and are the basis for any no-show fees you set up in Catalogue.
  • Use blocked time for everything non-bookable. If a member is at a training course, block it — the online portal won't let clients book, and the team sees exactly why the slot is empty.
  • Keep the waitlist visible. Encourage reception to add every "we're fully booked" caller — the more entries, the easier it is to fill last-minute cancellations.
  • Customise status colours once. A one-minute setup in Settings → Calendar makes the grid instantly readable — green = confirmed, amber = scheduled, grey = cancelled.