Communities of various kinds may offer Services that can be performed by their staff.
Services can have Availabilities in various Locations (and Areas within the Locations). These Availabilities represent recurring time slots that can be browsed and booked by users. They may be available to the Public, or only some Labels in a community (roles such as “Students”, or relationships such “Friends”).
For example, a Karaoke Parlor may have multiple rooms you can book For example, a:
- hair salon may offer haircuts in various chairs
- bowling alley may let you reserve different lanes
- school may offer classes in various rooms
- day care center may offer pet grooming
- instructor may offer individual coaching on Zoom
The Availabilities are essentially templates for Events that are created when someone makes a reservation. Events can take place in a real-world Location or in the real world. Participants can join (and pay for) a specific event, checking into the event using a QR code.
In example 4 above, each participant is actually sending one or more of their pets to be groomed, instead of themselves. The pet doesn’t have a user account, but is instead a “stream” of data published by the owner of the pet. (Later, we plan to support multiple owners for each pet or multiple parents for a child child.) The pet owner can follow online as the pet is driven to and from the Location, and is moved from area to area within the Location each day, as staff in different scan the QR codes. This makes it hard to lose a pet or a child.
In example 5 above, an instructor might choose to teach some sessions over Zoom, to one or more participants. Since they are an individual person instead of an organization, they’ll have only one “room” at a time. Instead of allowing people to simply call them anytime, they may provide certain time slots available to book a meeting with them. Each user can integrate this with their own calendar on their own phones.