from fastapi import APIRouter, HTTPException from datetime import datetime, timedelta import uuid deliveries = [] # In-memory storage router = APIRouter() @router.post("/deliveries") async def create_delivery( pickup_time: datetime, delivery_time: datetime, delay_minutes: int = 0 ): """Demo delivery scheduling endpoint""" if pickup_time >= delivery_time: raise HTTPException(status_code=400, detail="Pickup must be before delivery") delivery_id = str(uuid.uuid4()) adjusted_delivery = delivery_time + timedelta(minutes=delay_minutes) deliveries.append({ "id": delivery_id, "pickup_time": pickup_time, "delivery_time": adjusted_delivery, "status": "scheduled" }) return { "message": "Delivery scheduled successfully", "delivery_id": delivery_id, "schedule": { "pickup": pickup_time.isoformat(), "delivery": adjusted_delivery.isoformat(), "delay_applied": delay_minutes }, "features": { "tracking_enabled": True, "notifications": True } }