Class AccommodationSearchController

java.lang.Object
de.hybris.platform.coreairlinecommonsocc.controllers.AirlineBaseController
de.hybris.platform.coreairlineaccommodationocc.controllers.AccommodationSearchController

@Controller @RequestMapping("/{baseSiteId}") public class AccommodationSearchController extends AirlineBaseController
Web Service Accommodation Search Controller for accommodation search.
  • Constructor Details

    • AccommodationSearchController

      public AccommodationSearchController()
  • Method Details

    • doAccommodationSearch

      @Secured({"ROLE_CLIENT","ROLE_GUEST","ROLE_CUSTOMERGROUP","ROLE_CUSTOMERMANAGERGROUP","ROLE_TRUSTED_CLIENT"}) @RequestMapping(value="/accommodations", method=GET, produces="application/json") @ResponseBody public org.springframework.http.ResponseEntity<AccommodationSearchResponse> doAccommodationSearch(@RequestHeader(name="sap.cx-sales-application") String salesApplication, @RequestParam String destinationLocation, @RequestParam String checkInDate, @RequestParam String checkOutDate, @RequestParam String roomGuestOccupancy, @RequestParam(required=false,defaultValue="1") Integer currentPage, @RequestParam(required=false,defaultValue="10") Integer pageSize, @RequestParam(required=false) String filter, @RequestParam(required=false) String sort)
      Searches for all the properties in a given location and gives information about availability and prices.

      Body request

      Returns:
      AccommodationSearchResponse
    • populatePaginationDate

      protected PaginationWsDTO populatePaginationDate(Integer currentPage, Integer pageSize, Integer currentPageSize, Integer totalCount)
      Parameters:
      currentPage -
      pageSize -
      currentPageSize -
      totalCount -
      Returns:
      PaginationWsDTO
    • paginateProperties

      protected List<PropertyData> paginateProperties(List<PropertyData> searchResponseProperties, Integer currentPage, Integer pageSize)
      Paginates response properties with the currentPage and pageSize
      Parameters:
      searchResponseProperties -
      currentPage -
      pageSize -
      Returns:
    • populateAccommodationSearchRequest

      protected AccommodationSearchRequest populateAccommodationSearchRequest(String destinationLocation, String checkInDate, String checkOutDate, String roomGuestOccupancy, Integer pageNumber, Integer pageSize, String sort, String filter)
      Populate the accommodation search request
      Parameters:
      destinationLocation - the destination location
      checkInDate - the check in date
      checkOutDate - the check out date
      roomGuestOccupancy - room guest occupancy
      pageNumber - page number
      pageSize - page size
      Returns:
    • prepareAccommodationSearchRequestData

      protected AccommodationSearchRequestData prepareAccommodationSearchRequestData(AccommodationSearchRequest accommodationSearchRequest)
      Prepare accommodation search request data accommodation search request data.
      Parameters:
      accommodationSearchRequest - the accommodation search request
      Returns:
      the accommodation search request data
    • createRoomStayCandidates

      protected List<RoomStayCandidateData> createRoomStayCandidates(String roomGuestOccupancy)
      Parameters:
      roomGuestOccupancy - the room guest occupancy
      Returns:
      a list of RoomStayCandidateData built using request parameters