Class PackageSearchController


@Controller @RequestMapping("/{baseSiteId}/packages") public class PackageSearchController extends AccommodationBaseController
Package Search Controller
  • Constructor Details

    • PackageSearchController

      public PackageSearchController()
  • Method Details

    • getPackageDetails

      @Secured({"ROLE_CLIENT","ROLE_GUEST","ROLE_CUSTOMERGROUP","ROLE_CUSTOMERMANAGERGROUP","ROLE_TRUSTED_CLIENT"}) @RequestMapping(value="/{accommodationOfferingCode}", method=GET) public org.springframework.http.ResponseEntity<PackageDetailsResponse> getPackageDetails(@RequestHeader(name="sap.cx-sales-application") String salesApplication, @PathVariable("accommodationOfferingCode") String accommodationOfferingCode, @RequestParam String departureLocation, @RequestParam String departureLocationType, @RequestParam String arrivalLocation, @RequestParam String arrivalLocationType, @RequestParam String departureDate, @RequestParam(required=true) String returnDate, @RequestParam(required=true) String cabinPreference, @RequestParam(required=false) String transportOfferingType, @RequestParam String roomGuestOccupancy)
    • searchPackages

      @Secured({"ROLE_CLIENT","ROLE_GUEST","ROLE_CUSTOMERGROUP","ROLE_CUSTOMERMANAGERGROUP","ROLE_TRUSTED_CLIENT"}) @RequestMapping(method=GET) @ResponseBody public org.springframework.http.ResponseEntity searchPackages(@RequestHeader(name="sap.cx-sales-application") String salesApplication, @RequestParam String departureLocation, @RequestParam String departureLocationType, @RequestParam String arrivalLocation, @RequestParam String arrivalLocationType, @RequestParam String departureDate, @RequestParam String returnDate, @RequestParam String cabinPreference, @RequestParam(required=false) String transportOfferingType, @RequestParam String roomGuestOccupancy, @RequestParam(required=false,defaultValue="1") Integer currentPage, @RequestParam(required=false,defaultValue="10") Integer pageSize)
    • populatePackageSearchResponse

      protected void populatePackageSearchResponse(Integer currentPage, Integer pageSize, PackageSearchResponseData packageSearchResponseData, PackageSearchResponse packageSearchResponse)
      Populate package search response.
      Parameters:
      currentPage - the current page
      pageSize - the page size
      packageSearchResponseData - the package search response data
      packageSearchResponse - the package search response
    • populatePackageSolutions

      protected PackageSolutions populatePackageSolutions(List<PricedItineraryData> pricedItineraries, Map.Entry<String,PackageData> packageDataEntry)
      Populate package solutions package solutions.
      Parameters:
      pricedItineraries - the priced itineraries
      packageDataEntry - the package data entry
      Returns:
      the package solutions
    • populatePaginationData

      protected PaginationWsDTO populatePaginationData(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:
    • preparePackageSearchRequest

      protected PackageSearchRequest preparePackageSearchRequest(String departureLocation, String departureLocationType, String arrivalLocation, String arrivalLocationType, String departureDate, String returnDate, String cabinPreference, String transportOfferingType, String roomGuestOccupancy, Integer currentPage, Integer pageSize)
      Prepare package search request from the given parameters
      Parameters:
      departureLocation - the departure location
      departureLocationType - the departure location type
      arrivalLocation - the arrival location
      arrivalLocationType - the arrival location type
      departureDate - the departure date
      returnDate - the return date
      cabinPreference - the cabin preference
      transportOfferingType - the transport offering type
      roomGuestOccupancy - the room guest occupancy
      currentPage - the current page
      pageSize - the page size
      Returns:
      the accommodation search
    • createRequestData

      protected PackageDetailsRequest createRequestData(String accommodationOfferingCode, String departureLocation, String departureLocationType, String arrivalLocation, String arrivalLocationType, String departureDate, String returnDate, String cabinPreference, String transportOfferingType, String roomGuestOccupancy)
      Create a PackageDetailRequest from the given parameters
      Parameters:
      accommodationOfferingCode - the accommodationOfferingCode
      departureLocation - the departureLocation
      departureLocationType - the departureLocationType
      arrivalLocation - the arrivalLocation
      arrivalLocationType - the arrivalLocationType
      departureDate - the departureDate
      returnDate - the returnDate
      cabinPreference - the cabinPreference
      transportOfferingType - the transportOfferingType
      roomGuestOccupancy - the roomGuestOccupancy
      Returns:
      PackageDetailsRequest
    • populatePricedItineraryReference

      protected PricedItineraryReference populatePricedItineraryReference(PricedItineraryData pricedItineraryData)
      Populate priced itinerary reference.
      Parameters:
      pricedItineraryData - the priced itinerary data
      Returns:
      the priced itinerary reference