import type { HotelData } from "@/types/components/hotelReservation/selectHotel/hotelCardListingProps" import type { HotelPin } from "@/types/components/hotelReservation/selectHotel/map" export function getHotelPins(hotels: HotelData[]): HotelPin[] { if (hotels.length === 0) return [] return hotels .filter((hotel) => hotel.hotelData) .map((hotel) => ({ coordinates: { lat: hotel.hotelData.location.latitude, lng: hotel.hotelData.location.longitude, }, name: hotel.hotelData.name, publicPrice: hotel.price?.public?.localPrice.pricePerNight ?? null, memberPrice: hotel.price?.member?.localPrice.pricePerNight ?? null, rateType: hotel.price?.public?.rateType ?? hotel.price?.member?.rateType ?? null, currency: hotel.price?.public?.localPrice.currency || hotel.price?.member?.localPrice.currency || "N/A", images: [ hotel.hotelData.hotelContent.images, ...(hotel.hotelData.gallery?.heroImages ?? []), ], amenities: hotel.hotelData.detailedFacilities .map((facility) => ({ ...facility, icon: facility.icon ?? "None", })) .slice(0, 5), ratings: hotel.hotelData.ratings?.tripAdvisor.rating ?? null, operaId: hotel.hotelData.operaId, facilityIds: hotel.hotelData.detailedFacilities.map( (facility) => facility.id ), })) }