diff --git a/elise/elise/schema.py b/elise/elise/schema.py new file mode 100644 index 0000000000000000000000000000000000000000..6ea2676df42d246faeaee0a96794802844d1b2d6 --- /dev/null +++ b/elise/elise/schema.py @@ -0,0 +1,168 @@ +from typing import List, Literal, Optional +from datetime import datetime + +from pydantic import BaseModel + + +class MultiWOZ(BaseModel): + attractionArea: Optional[Literal[ + "center", + "east", + "north", + "south", + "west", + ]] + attractionName: Optional[str] + attractionType: Optional[Literal[ + "architecture", + "boat", + "cinema", + "college", + "college", + "concerthall" + "entertainment", + "multiple sports", + "museum", + "nightclub", + "park", + "swimmingpool", + "theatre", + ]] + hotelArea: Optional[Literal[ + "center", + "east", + "north", + "south", + "west", + ]] + hotelBookday: Optional[Literal[ + "monday", + "tuesday", + "wednesday", + "thursday", + "friday", + "saturday", + "sunday" + ]] + hotelBookpeople: Optional[int] + hotelBookstay: Optional[int] + hotelInternet: Optional[Literal["yes", "no"]] + hotelName: Optional[str] + hotelParking: Optional[Literal["limited", "yes", "no"]] + hotelPricerange: Optional[Literal["cheap", "moderate", "expensive"]] + hotelStars: Optional[int] + hotelType: Optional[Literal["guesthouse", "hotel"]] + restaurantArea: Optional[Literal[ + "center", + "east", + "north", + "south", + "west", + ]] + restaurantBookday: Optional[Literal[ + "monday", + "tuesday", + "wednesday", + "thursday", + "friday", + "saturday", + "sunday" + ]] + restaurantBookpeople: Optional[int] + restaurantBooktime: Optional[datetime] + restaurantFood: Optional[str] + restaurantName: Optional[str] + restaurantPricerange: Optional[Literal["cheap", "moderate", "expensive"]] + taxiArriveby: Optional[datetime] + taxiDeparture: Optional[str] + taxiDestination: Optional[str] + taxiLeaveat: Optional[datetime] + trainArriveby: Optional[datetime] + trainBookpeople: Optional[int] + trainDay: Optional[str] + trainDeparture: Optional[datetime] + trainDestination: Optional[str] + trainLeaveat: Optional[datetime] + + +class HeidelKBerg(BaseModel): + attractionArea: Optional[Literal[ + "center", + "east", + "north", + "south", + "west", + ]] + attractionName: Optional[str] + attractionType: Optional[List[Literal[ + "active", + "architecture", + "child_friendly", + "educational", + "historic", + "indoor", + "nature", + "outdoor", + "passive", + "view", + "zoo", + ]]] + attractionPricerange: Optional[Literal["cheap", "moderate", "expensive", "free"]] + hotelArea: Optional[Literal[ + "center", + "east", + "north", + "south", + "west", + ]] + hotelBookday: Optional[Literal[ + "monday", + "tuesday", + "wednesday", + "thursday", + "friday", + "saturday", + "sunday" + ]] + hotelBookpeople: Optional[int] + hotelBookstay: Optional[int] + hotelInternet: Optional[Literal["yes", "no"]] + hotelName: Optional[str] + hotelParking: Optional[Literal["limited", "yes", "no"]] + hotelPricerange: Optional[Literal["cheap", "moderate", "expensive"]] + hotelStars: Optional[Literal["0", "1", "2", "3", "4", "5"]] + restaurantArea: Optional[Literal[ + "center", + "east", + "north", + "south", + "west", + ]] + restaurantBookday: Optional[Literal[ + "monday", + "tuesday", + "wednesday", + "thursday", + "friday", + "saturday", + "sunday" + ]] + restaurantBookpeople: Optional[int] + restaurantFood: Optional[List[Literal[ + "african", + "american", + "asian", + "chinese", + "german", + "greek", + "indian", + "international", + "italian", + "japanese", + "korean", + "oriental", + "sushi", + "thai" + ]]] + restaurantName: Optional[str] + restaurantPricerange: Optional[Literal["cheap", "moderate", "expensive"]] \ No newline at end of file