{"ok":true,"service":"I'll Go 4 It API","workerVersion":"v42","testMode":true,"security":"Firebase Authentication protects customer, driver, and admin identities. Customers are authorized by Firebase UID and may access only their own orders and delivery proofs, and may cancel only before Driver acceptance. Driver accounts require a D1 driver record and Dispatch verification and must be online with fresh live GPS before acceptance. Drivers may stop accepting new gigs while assigned deliveries remain active; GPS tracking continues for those active deliveries. Full delivery address/unit/instructions and other protected order details stay locked until pickup arrival; after assignment, the Driver receives only the destination routing coordinate needed for embedded smart-route planning while Customer Call/Text contact unlocks at acceptance. Exact driver GPS remains Driver/Dispatch-only and is never returned through Customer endpoints; Customers receive ETA only. Driver proofs/signatures stay in private R2 and are streamed only through authenticated role/ownership checks. Pharmacy orders require customer-provided patient pickup information plus an Authorized Prescription Pickup Agent electronic authorization; controlled substances are prohibited by I'll Go 4 It policy and pharmacy deliveries are signature-only. Pharmacy exception GPS/timestamps and charge assessments are audited. Customer agreements remain immutable/tamper-evident. Dispatch may revise customer delivery quotes after consulting the customer; every quote change preserves the original agreement and is permanently audit logged. Dispatch operational-address corrections automatically recalculate added-mileage pricing; increases apply only when added distance exceeds 2 miles, shorter corrections never reduce the agreed amount, address changes remain allowed after pickup, and Driver acknowledgements remain audited. Cancelled deliveries archive immediately; Driver History retains any delivery canceled after that Driver accepted it, while pre-acceptance cancellations stay out of Driver History. Dispatch cancellation permanently audits the reason, Driver cancellation-pay authorization/amount, authorizing Dispatch identity, and server timestamp; Driver-facing history resolves that identity to the admin display name/email while private audit records retain the internal ID; canceled Driver History never presents the original customer quote as Driver earnings. Driver Call/Text attempts used for failed-delivery returns are server-audited with GPS/timestamps; a Driver return request is blocked until 10 minutes after verified dropoff arrival and both contact attempts are recorded. Dispatch may create or approve return-required work, manually record customer return fees/Driver return pay, and adjust cancellation pay after cancellation without overwriting prior audit history. Return-required orders remain active for Driver smart routing while Customer endpoints continue to show the delivery as Cancelled. Driver route-fit offer rejections are server-audited as temporary declines and never permanently remove that delivery from the Driver’s future eligibility. Returned-to-pickup is terminal for Driver active work, pharmacy returns require the receiving pharmacy employee name, and full legal records resolve human Admin/Driver/Customer names while preserving internal IDs. Owner-managed multiple Admin accounts use separate Firebase logins and individual audit identities. Master delivery availability and calendar schedule blocks remain server-enforced. Merchant pickup rules are also server-enforced for unsupported customer-pickup workflows. Merchant Ready-by orders may be offered to Drivers up to 15 minutes before the stated Ready-by time when required release information is complete; customers may reschedule that pickup time before pickup, and those timing changes are audit logged while pickup screenshots remain attached to the order.","dispatchWebOrigin":"https://dispatch.illgo4it.com","endpoints":["GET /health","GET /availability","GET /schedule/blocks?from=<ISO>&to=<ISO>","GET /customer/me","GET /customer/orders","PATCH /customer/orders/:id/cancel","PATCH /customer/orders/:id/pickup-time","GET /customer/orders/:id/proof","GET /customer/orders/:id/files/:fileId","GET /driver/me","POST /driver/register","PATCH /driver/online","POST /driver/location","GET /driver/orders/available","GET /driver/orders/active","GET /driver/orders/history","GET /driver/orders/:id","GET /driver/orders/:id/files/:fileId","POST /driver/orders/:id/accept","POST /driver/orders/:id/start","PATCH /driver/orders/:id/status","POST /driver/orders/:id/pharmacy-issue","POST /driver/orders/:id/address-change-ack","POST /driver/orders/:id/contact-attempt","POST /driver/orders/:id/return-request","POST /driver/orders/:id/offer-response","POST /driver/orders/:id/files","GET /admin/me","GET /admin/users","POST /admin/users","PATCH /admin/users/:id","GET /admin/availability","PATCH /admin/availability","GET /admin/schedule/blocks?from=<ISO>&to=<ISO>","POST /admin/schedule/blocks","PATCH /admin/schedule/blocks/:id","GET /admin/drivers?scope=all|pending|verified","PATCH /admin/drivers/:id/verify","GET /admin/orders?scope=active|completed|all&limit=100&offset=0","GET /admin/orders/:id","GET /admin/orders/:id/files/:fileId","PATCH /admin/orders/:id/operational-address","PATCH /admin/orders/:id/quote","PATCH /admin/orders/:id/cancel","PATCH /admin/orders/:id/cancellation-pay","POST /admin/orders/:id/return","PATCH /admin/orders/:id/return-request","POST /orders","GET /orders/:id","PATCH /orders/:id/status","POST /orders/:id/files"]}