In the fare_sets of some cruises, you will find a field called price_2nd_pax. This field is here to indicate that the price for the second passenger is, in this instance, not the same as for the first passenger.
This articles discusses:
- Understanding the pricing logic
- How this logic is handled by the headline prices fields
- Additional notes
- How to provide this information on your website
Understanding the pricing logic
Normal cruise pricing is based on £X per person for double occupancy. Meaning you multiply the price by 2, and you have the price for a cabin with two passengers.
However, for some promotions such as Buy One Get one Half Price (BOGOH), and Buy one Get one Free (BOGOF), you can't multiply that number by two because the offer applies to the price of the second passenger.
To allow us to provide accurate detailed pricing, we provide the price for the second passenger in the separate price_2nd_pax field.
This grade_code is part of a Buy One Get One Half Price promotion. In this case, simply duplicating the price amount would result in an incorrect amount, as the second passenger pays half of what the first passenger does.
Those two distinct amounts are therefore provided for each grade_codes to which the offer is applicable.
As only one field is available for each cabin type in the headline prices, we perform the following calculation: price + price_2nd_pax / 2. This provides the average amount, which can be multiplied by 2 and will provide the correct total.
This calculation is done nowhere else in the response, and will therefore not match any of the prices available in the fare_sets, as these are provided as they are, without calculations.
- the price_2nd_pax field is only present in the response when it is applicable to the pricing of a specific grade_code. This is important to know, as your scripts need to be able to handle when the field is not available, instead of treating its absence as price_2nd_pax = 0.
- in the instance where you see price_2nd_pax = 0, note that this is not an error, but indicates that the price for the second passenger is, in fact, 0. This would be the amount provided for a BOGOF offer.
How to provide this information on your website
Though we're sure there are many more ways to display this type of pricing, we have found that most of our clients have opted for adding in an additional column to provide the price_2nd_pax amount, instead of performing a calculation to provide the average amount.
This is what we also use on our Cruise Search in such cases: