import { z } from "zod" import { facilitySchema, gallerySchema, getHotelDataSchema, parkingSchema, pointOfInterestSchema, } from "@/server/routers/hotels/output" import { roomSchema } from "@/server/routers/hotels/schemas/room" export type HotelData = z.infer export type Hotel = HotelData["data"]["attributes"] export type HotelAddress = HotelData["data"]["attributes"]["address"] export type HotelLocation = HotelData["data"]["attributes"]["location"] export type Amenities = HotelData["data"]["attributes"]["detailedFacilities"] type HotelRatings = HotelData["data"]["attributes"]["ratings"] export type HotelTripAdvisor = | NonNullable["tripAdvisor"] | undefined export type RoomData = z.infer export type GallerySchema = z.infer export type GalleryImages = GallerySchema["heroImages"] export type PointOfInterest = z.output export enum PointOfInterestCategoryNameEnum { AIRPORT = "Airport", AMUSEMENT_PARK = "Amusement park", BUS_TERMINAL = "Bus terminal", FAIR = "Fair", HOSPITAL = "Hospital", HOTEL = "Hotel", MARKETING_CITY = "Marketing city", MUSEUM = "Museum", NEARBY_COMPANIES = "Nearby companies", PARKING_GARAGE = "Parking / Garage", RESTAURANT = "Restaurant", SHOPPING = "Shopping", SPORTS = "Sports", THEATRE = "Theatre", TOURIST = "Tourist", TRANSPORTATIONS = "Transportations", ZOO = "Zoo", } export enum PointOfInterestGroupEnum { PUBLIC_TRANSPORT = "Public transport", ATTRACTIONS = "Attractions", BUSINESS = "Business", LOCATION = "Location", PARKING = "Parking", SHOPPING_DINING = "Shopping & Dining", } export type ParkingData = z.infer export type Facility = z.infer & { id: string }