Client adds Store(s), then Individual items/Order Pickups under them. Client's payment card is securely stored within the payment processor (Stripe) system, not in our database.
The nearby Shoppers are notified about the job posting and one of them accepts it.
Shopper goes to stores and purchases the items using his/her own funds and delivers. Do not worry, Client's payment card information is already held and pre-authorized.
Upon delivery, Shopper taps the "Finish" button, submits the amount spent on groceries and gives receipts to the client.
Client verifies the receipts and pays the amount to Shopper at doorstep via Cash or Bank Transfer that Shopper spent for groceries (NOT the delivery fee). This way, Shopper will not stay out of funds.
Client marks the job as "Completed" and submits review/rating, so the client's payment card will be released after charging the Delivery Fee.
Note: Earnings will be transferred to Shopper's bank account later (periodically).