
- User authentication with JWT tokens - Trip management with itineraries - Destination database with search functionality - Booking management for flights, hotels, car rentals, activities - SQLite database with Alembic migrations - Health monitoring endpoint - CORS enabled for all origins - Complete API documentation at /docs and /redoc - Environment variable support for SECRET_KEY Requirements for production: - Set SECRET_KEY environment variable
47 lines
1.1 KiB
Python
47 lines
1.1 KiB
Python
from pydantic import BaseModel
|
|
from typing import Optional
|
|
from datetime import datetime
|
|
from decimal import Decimal
|
|
|
|
|
|
class BookingBase(BaseModel):
|
|
booking_type: str
|
|
reference_number: str
|
|
provider: str
|
|
description: Optional[str] = None
|
|
start_date: datetime
|
|
end_date: Optional[datetime] = None
|
|
total_amount: Decimal
|
|
currency: str = "USD"
|
|
status: str = "confirmed"
|
|
booking_details: Optional[str] = None
|
|
trip_id: Optional[int] = None
|
|
|
|
|
|
class BookingCreate(BookingBase):
|
|
pass
|
|
|
|
|
|
class BookingUpdate(BaseModel):
|
|
booking_type: Optional[str] = None
|
|
reference_number: Optional[str] = None
|
|
provider: Optional[str] = None
|
|
description: Optional[str] = None
|
|
start_date: Optional[datetime] = None
|
|
end_date: Optional[datetime] = None
|
|
total_amount: Optional[Decimal] = None
|
|
currency: Optional[str] = None
|
|
status: Optional[str] = None
|
|
booking_details: Optional[str] = None
|
|
trip_id: Optional[int] = None
|
|
|
|
|
|
class BookingResponse(BookingBase):
|
|
id: int
|
|
user_id: int
|
|
created_at: datetime
|
|
updated_at: Optional[datetime] = None
|
|
|
|
class Config:
|
|
from_attributes = True
|