Resources

Setting up the physical things you book — rooms, chairs, bays, courts — and exactly how Kassly stops two customers landing on the same one.

7 min read · Updated 10 Sep 2026

On this page

A resource is a physical thing a booking occupies: Room 1, Chair 3, Bay 2, Badminton Court A. You set them up once, and from then on the calendar can book against them and refuse to put two customers on the same one at the same time.

Resources are separate from your restaurant tables, which have their own page — see Table management. A resource is also what a metered rental runs against; see Rentals.

Needs the Rooms & Chairs add-on (₱300 per branch each month). The Court & Room Rentals add-on (also ₱300 a month) includes it, so a venue buying rentals does not need both. Rooms & Chairs is also in the Everything Bundle (₱2,999 a month), and comes with the Sports & Venue Pack (₱999 a month) by way of rentals. See Plans & add-ons.

Finding it

SERVICES → Resources in the sidebar, at /app/resources. If the SERVICES group is not in your sidebar — a Retail or Food & Beverage store does not get it built — the page is still there at that address. See Bookable services.

There is no Resources screen in the mobile app. Creating and editing resources is deliberately a web job for owners and managers. The tablet shows them in two places only: as tiles on the Rentals board, and as chips when booking. A tenant with no resources set up sees "No rentable resources — add courts, rooms, or tables on the web dashboard to start metering rentals."

Adding a resource

Press Add Resource.

Field Required Notes
Name Yes What staff will recognise: Room 1, Chair A, Court 2
Type Yes Free text, up to 50 characters. The placeholder suggests room, chair, equipment
Capacity — How many bookings may overlap. 1 by default. Read the next section before changing it
Status Edit only Not offered when you create one — a new resource is always Available

Type is not a list. Whatever you type is stored as-is, so room, Room and rooms are three different types as far as filtering is concerned. Pick one spelling and stick to it.

A resource belongs to one branch — the branch you have selected when you save it. There is no way to share a room between branches, and no field on the form to move it, so create Room 1 separately at each branch that has one.

Capacity, and what it really counts

Capacity is the number of bookings allowed to overlap — not how many people fit in the room.

Capacity Behaviour
1 Any overlap at all is refused
4 Up to four bookings may run at the same instant; the fifth is refused

So a KTV room that takes one party at a time has capacity 1, even if ten people fit inside it. A row of four massage beds you treat as one bookable unit has capacity 4.

Kassly checks the peak number of bookings at any moment inside the window you are asking for, not just how many bookings touch it. That matters for a capacity-4 court: two existing bookings that never overlap each other do not between them use up two of the four slots at the same instant, so a third booking that bridges them is allowed.

Restaurant tables ignore capacity entirely. A table's capacity counts seats, so it is never treated as a number of parallel bookings — a table takes exactly one reservation at a time, whatever the number says.

Preventing double-booking

Four separate guards, and it is worth knowing which one is talking to you:

Guard Message
Booking over a full resource "This resource is fully booked for this time slot."
Booking over a single-occupancy resource "This resource already has a reservation during this time slot."
Starting a second rental meter on the same resource "This resource already has an open rental tab."
Starting a meter on a resource in Maintenance or Inactive "This resource is not available."

The booking check is locked against the resource's own record while it runs, so two people pressing save at the same moment cannot both get through. Cancelled and no-show bookings do not hold a slot.

The mobile app tells you before you try, live under the booking form:

  • "This slot is free."
  • "Available — 2 of 4 booked, 2 left at this time."
  • "Court 1 is fully booked (4/4)"
  • "Court 1 is full and Ana is already booked"

Statuses

Status Means Set by
Available Free to book and free to meter The default
Occupied A rental meter is running on it Kassly, automatically — set when a meter starts, cleared when it stops
Maintenance Out of action You, by editing the resource
Inactive Retired but kept on file You, by editing the resource

Occupied is not yours to set. Kassly writes it when a rental meter starts and clears it back to Available when the meter stops. Setting it by hand will be overwritten by the next meter, and — more importantly — an Occupied resource disappears from the web calendar's Resource picker and from its Day view columns. That means a court with a meter running right now cannot be booked for tomorrow from the web calendar until the meter is stopped. Take that booking on the tablet, or wait until the current game finishes.

Resources in Maintenance and Inactive are likewise missing from the web calendar's picker, which is usually what you want — but it also means you cannot schedule a room for after its maintenance is finished. Put it back to Available first.

Editing, and deleting

Everything except the branch can be changed after the fact: name, type, capacity, status. Lowering the capacity of a resource that already has more overlapping bookings than the new number does not un-book anything — the existing bookings stand, and only new ones are held to the new limit.

Delete removes the resource from the list. Two things to know:

  • Nothing checks whether the resource has bookings on it. A court with bookings next week can be deleted, and those bookings survive with nothing to point at — they vanish from the by-court columns and show no resource. Move or cancel the bookings first.
  • The record is retired rather than truly erased, so past bookings and past sales keep their history. You cannot restore it from the interface, though, so a delete is one-way in practice. If you only want a resource out of use, set it to Inactive instead.

Two limits on the Resources page

Both are on the page itself rather than the underlying rules:

  • The search box does nothing. Typing in it filters nothing out. Use your browser's find, or keep the list short.
  • The sortable column headers do nothing. The list is always ordered the way Kassly stores it — its internal sort order, then by name.

Neither affects bookings; they are cosmetic faults on a list that is usually under twenty rows.

Who can do what

Action Owner Manager Cashier
See the resource list Yes Yes Yes
Add a resource Yes Yes No
Edit a resource Yes Yes No
Delete a resource Yes Yes No
Book against a resource Yes Yes Yes
Start and stop a rental meter Yes Yes Yes

A cashier's terminal reads the list so the Rentals board and the booking form work, but the Add Resource and edit controls are for Owners and Managers. See Users and roles.