Eligible rooms
Given the number of adults, children and infants in the request being NumAdults, NumChildren and NumInfants respectively, a room will be eligible for a given stay request if
- the total number of non-infant guests is bigger than the minimal occupancy and lower than the maximum occupancy plus the maximum number of rollaway beds
i.e. MinOccupancy <= NumAdults + NumChildren <= MaxOccupancy + MaxRollaways - the number of children is lower than the configured maximum child occupancy
i.e. NumChildren <= MaxChildOccupancy - the number of infants is lower than the configured maximum number of cribs
i.e. NumInfants <= MaxCribs
Rates calculation
Given the number of adults, children and infants in the request being NumAdults, NumChildren and NumInfants respectively, the given rates in the results will be as follow:
- if no extra guests are present in the room (extra guests = NumAdults + NumChildren - MaxOccupancy)
- the price defined for NumAdults (when the hotel uses occupancy based pricing) or the room price (for room-based pricing) is used
- the price per children is multiplied by NumChildren
- if the standard bedding of the room is not sufficient for all the guests
- the room is filled up to the maximum standard occupancy considering the adults first then the children
i.e. if MaxOccupancy > NumAdults, NumChildren - (MaxOccupancy - NumAdults) children are priced using the standard child pricing, the remaining ones are priced using the AdditionalChildAmount price - if MaxOccupancy < NumAdults, then NumAdults - MaxOccupancy are considered as additional adults (thus are priced using the AdditionalGuestAmount price) and all of the NumChildren are priced using the AdditionalChildAmount price
- the room is filled up to the maximum standard occupancy considering the adults first then the children
- in all cases, the price per infant is multiplied by NumInfants