<aside> 💡 About This document is an attempt to define the booking and scheduling ontology from first principles. It maps all the elements that we need to take into account.

This document aims to be comprehensive (to reduce the chances of missing a key element and then having to redesign the whole system). However, we don't need to include everything from the start in the product. Our architecture should enable us to start with something basic and, over time, grow to progressively account for all the elements define here.

</aside>

Primitives of booking and scheduling:

Priorities: the crux of the issue

Scheduling is on one side a mechanical task of sharing data (when I'm available) and on the other the art of balancing multiple priorities.

The usual way to deal with the huge variety of possibilities is to ask each User to manually input availabilities (e.g. lettucemeet workflow).

Our system design has the challenge of finding a better alternative!

System Design

MeetWithWallet