Class PackageConfiguredReservedRoomStaysHandler

java.lang.Object
de.hybris.platform.travelfacades.facades.packages.handlers.impl.PackageConfiguredReservedRoomStaysHandler
All Implemented Interfaces:
PackageReservedRoomStayHandler

public class PackageConfiguredReservedRoomStaysHandler extends Object implements PackageReservedRoomStayHandler
Concrete implementation of PackageReservedRoomStayHandler responsible for populating reserved room stays on accommodation availability response based on the configuration provided by business. It makes a search in SOLR and returns configured options for given room stay candidates.
  • Constructor Details

    • PackageConfiguredReservedRoomStaysHandler

      public PackageConfiguredReservedRoomStaysHandler()
  • Method Details

    • handle

      public void handle(PackageRequestData packageRequestData, AccommodationAvailabilityResponseData accommodationAvailabilityResponseData)
      Description copied from interface: PackageReservedRoomStayHandler
      Evaluates reserved room stays for given package request and sets them on accommodation availability response.
      Specified by:
      handle in interface PackageReservedRoomStayHandler
    • getAvailableRoomStays

      protected List<RoomStayData> getAvailableRoomStays(List<RoomStayData> roomStays)
      Gets available room stays.
      Parameters:
      roomStays - the room stays
      Returns:
      the available room stays
    • collectMinimumRoomStays

      protected List<RoomStayData> collectMinimumRoomStays(List<RoomStayData> roomStays, Integer availableQuantity)
      Collect minimum room stays list.
      Parameters:
      roomStays - the room stays
      availableQuantity - the available quantity
      Returns:
      the list
    • isRatePlanAvailable

      protected boolean isRatePlanAvailable(AccommodationAvailabilityResponseData configuredAccommodationAvailability)
      This method checks ratePlan availability, returns false if any ratePlan having 0 availability otherwise true.
      Parameters:
      configuredAccommodationAvailability - the configured accommodation availability
      Returns:
      boolean
    • convertToReservedRoomStays

      protected List<ReservedRoomStayData> convertToReservedRoomStays(List<RoomStayData> roomStays)
      Convert to reserved room stays list.
      Parameters:
      roomStays - the room stays
      Returns:
      the list
    • checkForValidRatePlanConfig

      protected boolean checkForValidRatePlanConfig(List<String> ratePlanConfigs)
      This method returns true if every ratePlanConfig has single room count
      Parameters:
      ratePlanConfigs - the rate plan configs
      Returns:
      boolean
    • createAccommodationAvailabilityRequestData

      protected AccommodationAvailabilityRequestData createAccommodationAvailabilityRequestData(AccommodationSearchResponseData accommodationSearchResponseData, int roomStayRefNum)
      Creates accommodation availability request based on accommodation search response
      Parameters:
      accommodationSearchResponseData - the accommodation search response data
      roomStayRefNum - the room stay ref num
      Returns:
      accommodation availability request data
    • getAccommodationSearchFacade

      protected AccommodationSearchFacade getAccommodationSearchFacade()
      Gets accommodation search facade.
      Returns:
      the accommodation search facade
    • setAccommodationSearchFacade

      public void setAccommodationSearchFacade(AccommodationSearchFacade accommodationSearchFacade)
      Sets accommodation search facade.
      Parameters:
      accommodationSearchFacade - the accommodation search facade
    • getAccommodationOfferingFacade

      protected AccommodationOfferingFacade getAccommodationOfferingFacade()
      Gets accommodation offering facade.
      Returns:
      the accommodation offering facade
    • setAccommodationOfferingFacade

      public void setAccommodationOfferingFacade(AccommodationOfferingFacade accommodationOfferingFacade)
      Sets accommodation offering facade.
      Parameters:
      accommodationOfferingFacade - the accommodation offering facade
    • getBookingFacade

      protected BookingFacade getBookingFacade()
      Gets booking facade.
      Returns:
      the bookingFacade
    • setBookingFacade

      public void setBookingFacade(BookingFacade bookingFacade)
      Sets booking facade.
      Parameters:
      bookingFacade - the bookingFacade to set