Appointment Calendar

Taking bookings, moving them, cancelling and marking no-shows — and the two things the calendar deliberately does not do.

10 min read · Updated 10 Sep 2026

On this page

The calendar is where bookings live: who is coming, when, for what, and with whom. It is shared across your whole store, so the front desk on the web and the tablet at the counter are looking at the same day.

What it is not is a reminder system. Nothing here contacts your customer — read Reminders below before you build a process around it.

Needs the Appointments & Bookings add-on (₱400 per branch each month). It is also in the Beauty Pack (₱1,099 a month), the Sports & Venue Pack (₱999 a month) and the Everything Bundle (₱2,999 a month). See Plans & add-ons.

Finding it

Where Called Notes
Web, service business Appointments, under SERVICES /app/appointments
Web, Food & Beverage Bookings, under DINING Same page, different label and wording
Mobile app The Appointments tab Only shown when the add-on is active

If the link is missing from your sidebar, see the note about the SERVICES group in Bookable services — the short version is that Retail stores do not get it built for them, and you reach the page by typing /app/appointments.

The calendar

Four views, switched from the buttons above the grid:

View Shows
Day One day, split into a column per court, per staff member, or per table
Week Seven days side by side. This is the view you land on
Month A month of blocks
List The next 30 days as a plain list

Day view is the one that splits into columns, and what the columns are depends on what you book against. Courts and rooms win if you have any, then tables, then staff — the button relabels itself Day · courts, Day · tables or Day · staff so you can see which. Clicking an empty column pre-fills that court, table or person on the new booking.

The grid runs from 6am to 11pm in 30-minute rows and opens scrolled to 8am. A booking earlier than 6am or later than 11pm still exists — it just is not drawn, so use List view to find it.

Above the grid: Today, arrows to step back and forward, an All Branches filter when you have more than one branch, and an All Partners filter on a services business. Below it is a colour key for the seven statuses.

Each block reads customer name · service, or Walk-in when no customer is attached. On the mobile app each card also carries a payment badge — Paid, Part-paid, Bal ₱250 or Refunded — read from the sale the booking was rung up on. An unpaid booking shows no badge at all.

Making a booking

Press New Appointment (or New Booking), or click an empty slot.

Field Required Notes
Partner On a services business Hidden for a court or room rental
Service On a services business Rental services are marked · rental in the list
Customer No Defaults to Walk-in. Pick from your customer list
Branch Yes Which branch the booking is at
Start Time Yes Date and time
End Time Yes Must be after the start
Source — Staff, Phone or Online. Staff by default
Party Size Food & Beverage only Number of guests
Deposit Amount — Records a figure only. See Bookable services
Table If you have tables Food & Beverage. Picking a table clears the resource
Resource If you have resources A court, room or chair. Required for a rental service
Notes No Free text

Press Create. A retail store — one with neither Partners nor Queue switched on — only has to fill in the branch and the two times, so the calendar doubles as a simple diary.

The mobile app's booking form is deliberately shorter: a 30-minute time stepper, a duration chip (30m, 1h, 1h 30m or 2h), service, staff, customer. It has no notes field, no deposit field and no party size, so a booking taken on the tablet cannot carry those.

Bookings must start now or later. A start time in the past is refused with "The start time must be now or in the future." Rescheduling is not checked the same way, so an existing booking can be dragged back into the past.

Where a booking's time is anchored

Every time in Kassly is Philippine time (Asia/Manila). This is fixed for the whole platform — there is no timezone setting on your store profile, and none per branch. A booking typed as 4:00 PM is 4pm in Manila, and it reads as 4pm to everyone in your store.

Two consequences worth knowing:

  • A store outside the Philippines will see its bookings shifted, and there is no setting to correct that.
  • Days end at midnight Manila time. If you set a late-night cutover for your sales reporting, the calendar ignores it: 1am belongs to the new day here.

Booking statuses

Status Means Set by
Booked Taken, not yet confirmed The default for a new booking
Confirmed The customer has confirmed Confirm
Arrived They are in the shop Arrived on the web, Check in on mobile
In Progress The work has started Start on the web, Start service on mobile
Completed Done Complete, or automatically when the sale is paid on mobile
Cancelled Called off Cancel
No Show Did not turn up No Show

The buttons sit in a Quick Actions row inside the booking, and only the moves that make sense from the current status are offered. Once a booking is Completed, Cancelled or No Show, the row disappears — those three are the end of the line, and the mobile app says so outright: "This booking is completed — no further actions."

Moving a booking

Drag a block to reschedule it, and drag its bottom edge to make it longer or shorter. In Day view, dropping it into a different column also reassigns the court, table or staff member. You get Appointment moved on success and a plain error if the new slot clashes.

You can also open the booking and edit the times by hand. Everything on the form stays editable — customer, service, partner, resource, notes — for the whole life of the booking.

Cancelling, and no-shows

Cancel marks the booking cancelled. It is not deleted: it stays on the calendar in grey and stays in your history, which is what you want when a customer argues about it later.

Cancelling is Owner and Manager only. A cashier sees the Cancel button and gets a permission error when they press it. They can book, check in and start work — just not cancel. If your front desk runs on the Cashier role, that call has to come from a manager.

No Show is a separate status and does exactly one thing: it labels the booking. Nothing is charged, no deposit is kept, nothing is counted against the customer's record, and there is no no-show report. The slot is released for booking again.

A cancellation reason can be stored against a booking, but no screen offers you a box to type one, so in practice cancellations carry no reason. Put it in Notes before you cancel if you need the record.

Reminders

Kassly does not send appointment reminders. No SMS, no email, no push notification — not to the customer, and not to your staff. Nothing is sent when a booking is created, confirmed, moved or cancelled either.

The in-app tooltip on the Appointments page claims reminders are included. They are not. That description is wrong, and it is the one thing on this page most likely to cost you a no-show. Ringing your customers the day before is still a phone call somebody has to make.

There is also nothing that flags an overdue booking. A 10am appointment still sitting on Booked at 11am looks identical to one at 5pm.

Turning a booking into a sale

A booking holds no money. The sale happens at the counter, in the mobile app — the web app has no working POS screen. See Making a sale.

On the mobile app, tapping a booking gives you the route through:

Action What happens
Check in Marks the booking Arrived
Start service Marks it In Progress
Open tab Moves the booking to In Progress and opens the POS with the service already in the cart
Open tab (start meter) For a court or room: starts the rental clock and opens the POS with the tab loaded. See Rentals

If the booking has no service attached, Open tab refuses with "No service on this booking" — a booking made as a plain diary entry has nothing to sell.

Once the sale is paid, the booking's payment badge follows the sale: Paid, Part-paid, a remaining balance, or Refunded if the sale is later voided. That link is set for you and cannot be edited by hand.

On the web there is no send-to-POS button at all. Mark the booking In Progress and ring the service up on the terminal.

Double-booking

Two rules are enforced when a booking is saved, both of them properly locked so two people booking at the same moment cannot slip past each other:

  • One partner, one place at a time. Any overlap is refused with "This partner already has an appointment during this time slot."
  • A resource cannot be booked past its capacity. A room with capacity 1 gives "This resource already has a reservation during this time slot."; one with capacity 4 gives "This resource is fully booked for this time slot."

Cancelled and no-show bookings do not block a slot — the time frees up immediately. Tables are always strictly one booking at a time, whatever their seat count says. The details are in Resources and Table management.

The mobile app shows the position live above the booking form — "Available — 2 of 4 booked, 2 left at this time.", "Court 1 is fully booked (4/4)" — and greys the submit button out as Slot unavailable rather than letting you save and fail.

What the app does not carry

Things people reasonably expect a booking system to do, which this one does not:

  • Reminders of any kind. Covered above; it bears repeating.
  • Repeating bookings. Every week's appointment is entered separately.
  • Online self-booking by the customer. Source → Online is a label you set yourself, not a public booking page.
  • A waiting list, and no overbooking beyond a resource's capacity.
  • A cancellation window or fee. Cancel is always allowed and always free.
  • Anything charged on a no-show, including a deposit.

Working offline

The mobile app can take a booking with no signal. It saves locally, shows a Syncing badge, and uploads when the connection returns; a failure shows Retry. Retrying cannot create a duplicate — the same booking sent twice is recognised and matched to the one already saved.

Slot checking offline is done against whatever the tablet last downloaded, so two devices booking the same court while both are offline can still collide. The first one to reach the server wins and the second comes back as a conflict.

Who can do what

Action Owner Manager Cashier
See the calendar Yes Yes Yes
Create a booking Yes Yes Yes
Reschedule or edit a booking Yes Yes Yes
Check in / start / complete Yes Yes Yes
Mark a no-show Yes Yes Yes
Cancel a booking Yes Yes No
Create courts, rooms and chairs Yes Yes No

Staff on the Staff role cannot open the calendar at all. See Users and roles.