Weedify System Architecture
Booking flows, state machines, role playbooks & operational scenarios
📋 Internal documentation. Hover over status badges to see descriptions. Expand each section as needed.
End-to-end message flow across all actors for the full MEAL_DELIVERY + consultant booking scenario.
Customer
Platform
Stripe
AI Dispatch
Dispensary
Consultant
Driver
Booking CreationStart booking / choose MEAL_DELIVERY
Booking CreationSelect: strength · type · medium · dose · meal count
Booking CreationFilter dispensaries by area / hours / product stock
Booking CreationChoose Dispensary + Product
Booking CreationChoose time window (ASAP / scheduled)
Availability CheckCheck consultant & driver availability
PaymentInitiate Stripe Checkout → pay
Paymentwebhook: payment_intent.succeeded
PaymentBooking → CONFIRMED
AI DispatchTrigger AI Dispatch (rank & assign)
AI DispatchSend job offer notification
AI DispatchSend delivery job offer
AcceptanceAccept assignment
AcceptanceAccept delivery job
AcceptanceBooking → ASSIGNED → DISPATCHED
FulfillmentCreate Fulfillment Task (FULFILLMENT_PENDING)
FulfillmentReserve inventory → PRODUCT_RESERVED
FulfillmentPrep/pack product → READY_FOR_HANDOFF
DeliveryMark: navigating to restaurant
DeliveryMark: PICKED_UP (restaurant meal)
DeliveryMark: DELIVERED to customer
ServiceMark: EN_ROUTE
ServicePick up infusion product
ServiceMark: HANDED_TO_CONSULTANT
ServiceMark: ARRIVED
ServiceMark: IN_PROGRESS
ServiceMark: COMPLETED
Post-ServicePrompt: ratings + tip
Post-ServiceTrigger: payout calculation
Post-ServiceTrigger: payout + earnings posted
Post-ServiceSend event data for AI learning