Entity handling desk (seat) bookings
Reservation model
Property | |
---|---|
id | Reservation ID |
seat_id | ID of the desk (seat) reservation is made on |
reserver_id | ID of the user who created the reservation |
type | Type of the reservation, further explanation in the Reservation Types table below |
start | Object defining when the reservation starts |
end | Object defining when the reservation ends, can be null (for assigned / shared reservations) |
recurrence | RRULE defining a recurring reservation (e.g. multi-day hoteled , reverse_hoteled reservations, or ~~assigned~~ / shared reservation recurrences) |
reservee | Object describing the person owning the reservation |
confirmation | Indicates if there's a check-in on the reservation |
Reservation Types
There are five types of desk reservations available in Robin:
Reservation Type | Description |
---|---|
hoteled | One-off or multi-day booking reservations, can be made on ["hoteled"] or ["hoteled","shared"] desks (on empty days) |
hot | Reservations that can be made only on the day of the reservation |
assigned | ["assigned"] desksNOTE: Assigned desks and reservations are deprecated in favor of Shared Assigned Desks. If "assigned desk", "assigned reservation" or "assignee" language is used, those are always meant to be Shared Assigned Desk, shared reservation and assignee on a Shared Assigned Desk. |
shared | Reservations that indicate the desk is assigned to a particular user on particular days of the week, using WEEKLY RRULE recurrence.The valid RRULE format is:"RRULE:FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR,SA,SU;BYHOUR=0;BYMINUTE=0;BYSECOND=0" with BYDAY parameter indicating the exact days of the assignment.Can be made on ["assigned","shared"] or ["hoteled","shared"] desks. |
reverse_hoteled | Hoteled reservations that can be made on top of exclusions. |
Exclusions
Exclusions are a mechanism used for assigned desk users to be able to share their desks on certain days. When an assignee knows they're not coming to the office on particular days, they can use the Share Desk
option to mark the desk as available for others to reserve.
When a user has an assigned desk (either using the ~~assigned~~
or shared
reservation type), based on the RRULE
of their ~~assigned~~
/shared
reservation, the reservation gets expanded into individual instances, midnight to midnight for each day in the RRULE
:
If the assignee decides not to come to the office and wants to share their desk for others to use, using the Share Desk
option within Robin, they can mark which days the desk is available on, creating an exclusion on days 3-6:
Notice that the exclusion did not cancel or remove
~~assigned~~
/shared
instances of original user's reservation. Theexclusion
part of the reservation is what marks the desk as available for booking.
Other users now see the desk as available for booking and can make reverse_hoteled
reservations on top of the exclusion:
reverse_hoteled
reservations have to be fully encapsulated by the exclusion: