Booking tip currency now validated against the booking's applicable currency

May 20, 2026

When a booking carries a tip, the tip.currency value is now required to match the booking’s applicable currency — the service area’s local_currency, falling back to the tenant’s base_currency. Tip writes in any other currency are rejected with a 422 and the new booking_tip_currency_mismatch operation failure code.

This brings tip currency in line with how tour-level compensation already works, and is the foundation for the upcoming automatic tip distribution onto the tour compensation object: once mismatched currencies are rejected at the source, the downstream distribution logic never has to reconcile them mid-tour.

Concretely, a booking in a EUR service area can no longer be created with a tip.currency of USD. Any caller setting a tip — whether through Create a Booking or through one of the integration ingestion endpoints — must send the same currency that already governs the booking’s pricing.