CoopCycle Solidarity Kitchen Proposal
@Leo and @sean_f have been investigating software infrastructure to help us run the solidarity kitchen over duration of the pandemic. This is the result of our findings and its viability for this project. We drafted super late so there might be typos and errors.
What is CoopCycle?
CoopCycle is an open source platform developed for worker co-op delivery services. It’s operational in lots of cities across Europe and in the U.K there is a co-op in York.
The software is a complete logistics and e-commerce system allowing the delivery of a product from A to B. It’s license is designed to reserve the use for worker owned co-operatives only.
We propose to use the platform as an ordering service and also a dispatching service for deliveries. It should allow us to keep admin workload to a minimum whilst being able to scale up to hundreds of orders.
Roles
Administrator (admins)
One or two Administrator accounts for backroom (to assign deliveries and create orders for people calling by phone)
One Adminstrator account for kitchen (to update menus and to accept orders)
Admin Documentation
Orders Documentation
Courier (delivery drivers)
As many courier accounts as we have couriers. They will primarily be using the mobile app.
Mobile Apps
Android
iOS
Web App
https://birmingham.coopcycle.org
Info we need from couriers to invite them to the platform
- Username
- First name
- Second name
- Telephone number
Workflow
Inviting a new courier to the app
- Courier installs the app
- Backroom invites courier to the Birmingham platform birmingham.coopcycle.org by going to Users>Invite and entering info from couriers
- Courier accepts the invite and then logs into the app when they are available to do deliveries.
Order by phone
- Backroom gets a call on the phone number.
- Backroom uses their admin account to order from the Solidarity Kitchen menu on behalf of the recipient (includes address, contact details etc). A note is made of the recipients name and dietary requirements in the order. The order is put through as a quote (to avoid needing to enter card details.)
- Kitchen accepts the order
- Kitchen makes the order
- Backroom assigns the order to a courier as a task
- Courier accepts the task
- Courier collects the order and delivers it
- Courier marks the order as delivered
Order by app
- The recipient installs the mobile app or accesses the web app and selects Birmingham and then Solidarity Kitchen.
- The recipient orders one of the days set meals.
- Kitchen accepts the order
- Kitchen adds the order to the meal count for the day.
- Backroom assigns the order to a courier as a task
- Courier accepts the task
- Courier collects the order and delivers it
- Courier marks the order as delivered
Positives of using CoopCycle
- Reduces admin load on backroom
- Recipients can order without calling or emailing us (this is critical at scale, to prevent the phone line being overwhelmed)
- Recipients can reorder daily themselves without needing a callback.
- Backroom can assign orders to courier as tasks
- Route is calculated automatically for couriers. We can potentially also add zoning for allocating deliveries.
- Navigation for the couriers is done in the app (uses Google maps)
- We can see live location of couriers (when the app is active)
- Couriers can mark tasks as delivered and backroom will know instantly
- Admins can make orders on behalf of recipients
- There can be one than one restaurant
Identified problems with CoopCycle
- There is a minimum order of 30p (maybe we could say 50p per meal). Recipients ordering through app or web app will have to enter their card details and pay minimum 30p. However, admins can make orders on behalf or recipients. So if someone can’t access a debit card, then can call our number and we can order for them. See section below.
- We haven’t tested the route calculation finding (it does use Google Maps though).
- We haven’t tested the system at scale.
- We are working on translating more of the CoopCycle documentation into English from French.
Things we need to test
- This entire workflow is just a proposal and we have done minimal testing. Enough to know it should work but we may encounter bugs. Leo is in contact with the developers and other collectives on their Slack.
The payment problem
The CoopCycle developers won’t allow us to allow free orders from users who aren’t admins. This is because otherwise there is no verification for people ordering.
They said this is a hard boundary for them as it allows random people to spam orders and make the couriers go to random places.
Also, they said it increases the risk of couriers being robbed or attacked as there are no details to verify a user who makes an order against. If users are forced to pay, then there are at least some card details given that verify the order.
Admins can make free orders on behalf of people using the “Quote” button when ordering. This feature can be used to create orders for people phoning in.
Training
There could be an online training (using screen sharing) carried out by @Leo and @sean_f.
Tech Support
Tech support would be carried out by the Tech/Admin working group (possibly using an issue tracker on the forum).