bedstuystrong / automation_prime

0 stars 5 forks source link

Cluster flow airtable schema #34

Open maybejustmaybe opened 3 years ago

maybejustmaybe commented 3 years ago

For the new cluster delivery flow, we are going to build on top of the existing intake system, and add new tables to assist with coordination. Clusters will enable our operation to better manage multi-ticket deliveries involving multiple members. Additionally, shift sign up will help reduce scheduling overhead, and clarify volunteer roles.

Suggested Schema (likely missing some stuff):

Cluster:
- Status: New, Pending, Assigned, Completed
- Tickets: List[<link>]
- Size: Small (2 tickets), medium (3-4 tickets), large (5+ tickets)
- Shopper 1: <link>
- Shopper 2: <link>
- Driver 1: <link>
- Driver 2: <link>
- Shopper 1 Tickets: List[<link>]
- Shopper 2 Tickets: List[<link>]
- Driver 1 Tickets: List[<link>]
- Driver 2 Tickets: List[<link>]
- Shift: <link>
- Total number of neighbors [derived]

TODO maybe cluster size should be based on total number of neighbors not number of tickets

Shift:
- Status: Sign Up Open, Sign Up Closed
- Start Time
- End Time
- Date
- Name [derived form the date and start time]
- Shopper Capacity
- Driver Capacity
- Shopper Sign Ups (One-Time)
- Driver Sign Ups (One-Time)
- Shopper Sign Ups (Recurring) [likely a V2 feature]
- Shopper Sign Ups (Recurring) [likely a V2 feature]
- Has enough shoppers? [derived]
- Has enough drivers? [derived]

Shift Sign Up:
- Status: Pending, Assigned
- Email
- Role: shopper, driver [single select]
- Shopper shift: <link> [in form show only when role is shopper]
- Driver shift: <link> [in form show only when role is driver]
- Cluster [assigned by the coordinator]

NOTE that we will likely need to use separate, filtered shift views when linking from other tables. For example, we may need an Open Shopper Shifts for Sign Up view for members to pick from in the shopper shift.

Components:

maybejustmaybe commented 3 years ago

See the current weekend sign up form: click here