Appointments

Bookable resources

MarketplaceCustomersVersion 0.1.0manifest

What it is for ​

Describe bookable people, rooms and equipment and record appointments with a date, start and end. Overlaps are not prevented automatically.

What the package does and does not do ​

Bookable resources (people, rooms, equipment) and appointments with a date, start and end time and a status flow. Overlaps are not prevented automatically.

Models ​

appointments_resource ​

Something or someone that can be booked

Read group: appointments.user. Write group: appointments.manager.

FieldKindData classPersonal dataGroupAgents seeDescription
nametextnonenoappointments.userin clearName of the resource, for example Meeting room 2
kindselect (person, room, equipment)nonenoappointments.userin clearWhat kind of resource it is: person, room, equipment
capacitynumbernonenoappointments.userin clearHow many people it can serve at once
activeboolnonenoappointments.userin clearWhether the resource can be booked

appointments_appointment ​

A booking of a resource at a time

Read group: appointments.user. Write group: appointments.user.

FieldKindData classPersonal dataGroupAgents seeDescription
resource_idref → appointments_resourcenonenoappointments.userin clearThe resource booked
titletextnonenoappointments.userin clearWhat the appointment is for
daydatenonenoappointments.userin clearDate of the appointment (YYYY-MM-DD)
start_minutenumbernonenoappointments.userin clearStart time as minutes since midnight, for example 540 for 09:00
end_minutenumbernonenoappointments.userin clearEnd time as minutes since midnight, for example 600 for 10:00
attendee_nametextinternalyesappointments.usermaskedName of the person attending
attendee_emailtextinternalyesappointments.usermaskedEmail address of the attendee
attendee_phonetextinternalyesappointments.usermaskedPhone number of the attendee
noteslongtextnonenoappointments.userin clearAnything the host should know beforehand
stateselect (scheduled, confirmed, done, cancelled, no_show)nonenoappointments.userin clearBooking status: scheduled, confirmed, done, cancelled, no_show

Workflows ​

appointments_appointment ​

ActionMovesWho may run itApproval
appointments_appointment.confirmstate: scheduled → confirmedappointments.userno
appointments_appointment.completestate: confirmed → doneappointments.userno
appointments_appointment.cancelstate: scheduled → cancelledappointments.userno
appointments_appointment.mark_no_showstate: confirmed → no_showappointments.userno

Permission groups ​

Groups used by this app:

  • appointments.manager
  • appointments.user

Approval steps ​

No step in this app needs an approval, apart from deleting records.

What agents can and cannot do ​

An agent can read, search, create and update records of this app, and run the actions that need no approval, within the permission groups of its token.

It can only propose these steps, and a person must approve them: appointments_resource.delete, appointments_appointment.delete.

Personal data is masked as placeholder tokens: appointments_appointment.attendee_name, appointments_appointment.attendee_email, appointments_appointment.attendee_phone.

Dependencies ​

None.

Install ​

Install it from the Customize app (Marketplace), or from the command line:

bash
obop modules install-from appointments

Needs a database and administrator rights.

Build your own ​

The module guide shows how apps like this one are written