...
Within Offers (excluding a-la-carte Offers), there should always be at least one OfferItem marked with the MandatoryInd=true. Absence of this element implies the OfferItem is optional (same as using MandatoryInd=false).
When defining rules regarding baggage allowance by weight, the TotalMaximumWeightMeasure element should also be populated (e.g. https://retailing.iata.org/tools/xsd_viewer/21.3.4/IATA_AirShoppingRS/?xpath=%2FIATA_AirShoppingRS%2FResponse%2FDataLists%2FBaggageAllowanceList%2FBaggageAllowance%2FWeightAllowance%2FTotalMaximumWeightMeasure).
Total Price at Offer-level should not be used in shopping responses (e.g. https://retailing.iata.org/tools/xsd_viewer/21.3.4/IATA_AirShoppingRS/?xpath=%2FIATA_AirShoppingRS%2FResponse%2FOffersGroup%2FCarrierOffers%2FOffer%2FTotalPrice or https://retailing.iata.org/tools/xsd_viewer/21.3.4/IATA_OrderReshopRS/?xpath=%2FIATA_OrderReshopRS%2FResponse%2FReshopResults%2FReshopOffers%2FOffer%2FTotalPrice).
There are two elements where birthdate is mentioned in Datalists:
The first element is to be used only in case of anonymous shopping, while the latter is to be used once the passenger data is communicated.
The same rules apply to the elements
/IATA_AirShoppingRQ/Request/PaxList/Pax/CitizenshipCountryCode and
/IATA_AirShoppingRQ/Request/PaxList/Pax/IdentityDoc/CitizenshipCountryCode
...