diff --git a/endpoints/deliveries.post.py b/endpoints/deliveries.post.py index e69de29..9984cbc 100644 --- a/endpoints/deliveries.post.py +++ b/endpoints/deliveries.post.py @@ -0,0 +1,42 @@ +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 + } + } \ No newline at end of file