File size: 617 Bytes
28df1e8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from typing import List, Optional
from pydantic import BaseModel, Field

class HotelImage(BaseModel):
    url: str

class HotelAmenity(BaseModel):
    name: str

class HotelData(BaseModel):
    name: str
    rating: Optional[float] = None
    images: List[str] = []
    amenities: List[str] = []
    booking_link: Optional[str] = None

class HotelResponse(BaseModel):
    destination: str
    hotel_name: str
    data: Optional[HotelData] = None
    error: Optional[str] = None

class HotelSearchResponse(BaseModel):
    results: List[HotelResponse]
    status: str = "success"
    count: int