Business modulesBookings

Calendar and appointments

Reception teams combine customers, services, staff and time in bookings. Calendar, list and overview show the same appointments.

Reception teams combine customers, services, staff and time in bookings. Calendar, list and overview show the same appointments.

Where to find it

Web: open Bookings. Desktop: Business → Bookings, using the same record paths. Disabled modules or missing read permission remove the navigation entry.

Screen / tabWeb pathUsageDesktop
Calendar/appointmentsList, view or tabNative screen
Appointments/appointments/listList, view or tabNative screen
Overview/appointments/dashboardList, view or tabNative screen
New appointment/appointments/newList, view or tabNative screen
Record details/appointments/[id]Record or editorNative screen

Record tabs and panels

These contributions appear when their modules are enabled and permitted, alongside the record’s own tabs. Check module/permission state if missing.

AreaKindOwning module
TasksPanelai
Home visitPanelfield_service
Group classContributiongroup_classes
Monthly packageContributionpackages
Cover from a packageContributionpackages
ResourceContributionresources

Start working

Step 1

Choose customer, services, worker and a free time in New booking.

Step 2

Review guests/services, add a note and save.

Step 3

Confirm, reschedule/reassign and add/remove guests/services.

Step 4

Mark completion, no-show or cancellation with a reason.

Step 5

Manage reminders/bans in Settings; import/export when permitted.

Calendar and appointments
Calendar and appointments — Desktop
Calendar and appointments

Settings

Option-by-option configuration and screen paths: Settings guide.

Permissions and limits

Before you start

Hours, leave, providers, service days, buffers, resources and windows are checked together. Availability diagnostics explain rejected times. Deposit settings exist in the contract but not as separate controls in the main rules form.

Role capabilities: Read (read), Write (write), Delete/archive (delete), Manage (manage), Approve (approve), Export (export), Import (import), Comment (comment), Handle automated delivery/jobs (handle), Own records only (own_records_only).

Own-record restrictions apply equally to lists, records and Era. Record state or missing data can refuse an otherwise permitted action.

Ask Era

Find available times tomorrow for this service for two guests.

Select relevant records for Era context. Era respects modules/roles; external or confirmation-sensitive work can stop for approval. Use era tools in the terminal to inspect currently available tools.

Automation and events

These declared events are available to module-event triggers. Subscribing does not configure the next operation; choose recipients, conditions and actions separately.

Operation details

The inventory includes record, configuration, visitor and background flows. IDs support Era/automation; not every row is a menu button. Asterisks mark required inputs. Unmapped rows do not imply a visible control.

Operation and IDInputsPermissionScreen or flow
Book an appointment · appointments.bookCustomer *, Service *, Date *, Start time *, Team member, NoteWriteRecord/API/visitor flow; no separate screen button mapped
Cancel my booking · appointments.cancel_my_bookingBooking *WriteRecord/API/visitor flow; no separate screen button mapped
Move my booking · appointments.reschedule_my_bookingBooking *, New date *, New start time *WriteRecord/API/visitor flow; no separate screen button mapped
Book an appointment · appointments.book_groupGuests and their services *, Date *, Start time *, Note, AddressWrite/appointments/new
Add a guest · appointments.add_guestAppointment *, Customer *, Their first service, Team member, Price shownWrite/appointments/[id]
Add a service · appointments.add_guest_serviceGuest *, Service *, Team member, Price shownWrite/appointments/[id]
Move the appointment · appointments.rescheduleAppointment *, New date *, New start time *Write/appointments
Change who does it · appointments.assign_memberService line *, Team memberWrite/appointments, /appointments/[id]
Remove a guest · appointments.remove_guestGuest *Write/appointments/[id]
Remove a service · appointments.remove_serviceService line *Write/appointments/[id]
Edit the note · appointments.update_detailsAppointment *, Note, AddressWrite/appointments/[id]
Confirm an appointment · appointments.confirmAppointment *Approve/appointments/[id]
Cancel an appointment · appointments.cancelAppointment *, ReasonWrite/appointments/[id]
Mark as completed · appointments.completeAppointment *Write/appointments/[id]
Mark as no-show · appointments.no_showAppointment *Write/appointments/[id]
Ban from booking · appointments.ban_customerEmail, Phone, Reason, NotesManage/appointments, /settings/appointments/bans
Lift a ban · appointments.lift_banBan *Manage/settings/appointments/bans
Raise a booking reminder · appointments.raise_reminderAppointment *Handle automated delivery/jobsRecord/API/visitor flow; no separate screen button mapped
Booking reminders for a person · appointments.set_reminder_opt_outCustomer *, Do not remind *Write/appointments/[id]
Change the guest · appointments.change_guest_customerGuest *, Customer *Write/appointments/[id]
Export appointments · appointments.exportFrom *, To *, StatusExportRecord/API/visitor flow; no separate screen button mapped
Import appointments · appointments.importFile *, Column mapping *, Prepared rows *Import/appointments
Update booking deposit · appointments.mark_deposit_statusAppointment *, Deposit status *Handle automated delivery/jobsRecord/API/visitor flow; no separate screen button mapped
Book online · appointments.book_onlineServices *, Date *, Start time *, Team member, Note, AddressWriteRecord/API/visitor flow; no separate screen button mapped
Cancel by link · appointments.cancel_by_tokenLink *, ReasonWriteRecord/API/visitor flow; no separate screen button mapped
Move by link · appointments.reschedule_by_tokenLink *, New date *, New start time *WriteRecord/API/visitor flow; no separate screen button mapped

Technical sources

packages/os-kernel/src/modules/appointments.ts, packages/os-kernel/src/modules/index.ts, apps/studio/lib/os/navigation.ts, apps/studio/lib/os/settings-groups.ts, apps/era-station/apps/web/src/era/business/screens.ts.

Screen pictures

Status summary

Five cards above the list show Total, Pending, Confirmed, Completed and Cancelled across all appointments you may read, rather than just the current page. Existing view tabs remain; row status actions update the counts.

© 2026 Era. Era documentation. Something missing or wrong? Write to us: [email protected]