feat(payments): add PaymentSetup accommodation/airline fields - #669
armando-rodriguez-cko merged 1 commit into
Conversation
Adds totalNumberOfGuests, refundable, deliveryRecipient and host to
AccommodationData, and totalNumberOfPassengers, travelType, tripType,
refundable, deliveryRecipient, ancillaries and insurance to AirlineData
(POST/GET/PUT /payments/setups, POST
/payments/setups/{id}/confirm/{payment_method_name}).
Also fixes industry.airline and industry.accommodation, which
serialized under the wrong keys (airline_data/accommodation_data)
because of a missing @SerializedName, so the fields never reached the
API correctly. Splits accommodation modelling out of the shared
PaymentContextsAccommodationData type, which is also used by the
unrelated /payments contexts domain.
🟡 Risk Classification: MINORApproval route: AI Review + Human Approval Classification reasons
Operational gates
Files analysed: 9 wall-e 2026.06.19-02 · policy |
🔬 Debug — why this classification?Each reason code emitted by the classifier, its source clause in the AI in SDLC Control Framework, and what it means.
Kinds:
See issue #3 for the proposal to formalise this map as Appendix A of the standards doc. wall-e 2026.06.19-02 · debug |
🟠 Advisory review: Concerns worth a lookThis PR needs a human approval. Before you give it, these are the things I'd want resolved. Adds new PaymentSetup accommodation/airline fields and fixes the @SerializedName bug on Industry.java. The core changes look correct, but there are a few concrete issues worth resolving before approval. Concerns
This is not an approval. wall-e cannot auto-approve this PR — it is an opinion to help whoever does. Advisory review · us.anthropic.claude-sonnet-4-6 · wall-e 2026.06.19-02 |
|



Summary
Adds the new PaymentSetupAccommodation and PaymentSetupAirline fields from the 2026-09-08 spec update to
POST/GET/PUT /payments/setupsandPOST /payments/setups/{id}/confirm/{payment_method_name}. Also fixesindustry.airline/industry.accommodation, which serialized under the wrong keys because of a missing@SerializedName, so the fields never reached the API correctly.Changes
AccommodationData.java(new),AccommodationGuest.java(new),AccommodationHost.java(new),AccommodationRoom.java(new) — fullPaymentSetupAccommodationmodel, including the newtotalNumberOfGuests,refundable,deliveryRecipient,hostfieldsAirlineData.java— addedtotalNumberOfPassengers,travelType,tripType,refundable,deliveryRecipient,ancillaries,insuranceAirlineInsurance.java(new),AirlineInsurancePrice.java(new) — nested insurance modelIndustry.java— fixed@SerializedNameonaccommodationData/airlineDataso they serialize asaccommodation/airline; split accommodation modelling out of the sharedPaymentContextsAccommodationDatatype used by an unrelated/paymentscontexts domainPaymentSetupsIndustrySerializationTest.java(new) — roundtrip coverage for both schemas plus a regression test for the JSON-key fixAPI Reference
POST /payments/setupsPUT /payments/setups/{id}GET /payments/setups/{id}POST /payments/setups/{id}/confirm/{payment_method_name}Breaking changes
None for the new fields (additive). The
industry.airline/industry.accommodationkey fix changes wire format, but the old shape never matched the API contract, so nothing that worked before is affected.README
No README changes needed.