-
Notifications
You must be signed in to change notification settings - Fork 1
OTST_TS_SNCF_EXCHANGE_EXCH_01
The Scenario will request offers to create a booking based on trip requirements or search requirements (including multi-leg trips), fulfill the booking then attempt to exchange this offer for another (any trip) and re-fulfill this same booking and perform checks to ensure the previous offer has been successfully exchanged, that the new offer information (exchangePrice and fulfillment to exchange) are consistent
PS: the scenario will not include partial refunds yet, nor adding new passengers in the exchange process
-
Generate and send a post offer request with a trip specification/ trip search
-
Generate and send a post booking request
-
Generate and send a post fulfillment request (maybe perform patch updates on passengers)
-
Generate and send a get booking request
-
Generate and send a post exchange offers request
-
Generate and send a post exchange operations request
-
Get the booking back
-
Generate and send a post fulfillment request
-
Generate and send a get booking request
-
Steps 1 - 4:
- Perform same validation as done on previous scenarios
- When getting the booking, if the offerParts are not exchangeable (offerPart.exchangeable is 'NO'), the test suite should stop with a explicit error. The scenario should be supplied with information allowing exchange.
-
Step 5: Get exchange offers
-
In the request:
- Pass all fulfillment ids of the booking
- Pass an overrule code if provided in scenario data_file
- Anonymous passenger specs should be the same as previous offer
-
In the request:
{
"fulfillmentIds": <list_of_all_fulfillment_ids from_booking>,
"tripSearchCriteria": <scenario_exchange_trip_search_criteria>,
"tripSpecifications": <scenario_exchange_trip_specs>, # Use one of the two
"anonymousPassengerSpecifications": [ # Same as previous booking
{
"externalRef": ...,
"dateOfBirth": ...,
}
],
"offerSearchCriteria": {
"offerMode": <scenario_offerMode>,
"currency": <scenario_currency>
},
"overruleCode": <scenario_overruleCode>
}
-
In response:
- Check that the returned impacted fulfillments in response are the same as those requested when getting exchange offers
- Exchange offers : exchangePrice (price of new offer + exchangeFees - price of previous offer) and exchangeFees and refundableAmount (if the new offer price + fees is less than previous offer).
- Check that exchangeFees are consistent with the afterSalesConditions for the previously sold offer
- These checks should be performed on all the returned offers
-
Step 6: Create the exchange operations
- Ensure the created exchange operation contains the requested offer with same information as before, impacting the demanded fulfillments
-
Step 7: Get booking
- The previous fulfillment’s status should be EXCHANGE_ONGOING
- The provisional amount of the booking should be equal to the exchangePrice (if previous offer is more expensive, we should check provisionalRefundableAMount)
- exchangeOperations contains the new exchange operation
-
Step 8: POST fulfillments
- New fulfillment should be at least CONFIRMED
- Previous fulfillments should be exchanged
-
Step 9: Get booking
- Check that the new offerParts' status is at least CONFIRMED and previous one are EXCHANGED
-
Step 8: DELETE exchange operation
/bookings/{bookingId}/exchange-operations/{exchangeOperationId}- Check that it returns a 204 with no content
-
Step 9: Get booking
- Check that the original offerParts status is back to FULFILLED
- Original fulfillments status also back to FULFILLED
- Home
- Meeting Minutes
-
SFRs
- Fare_Based_Distrib_ShopBookTicket
- OTST_TS_OB_RFND_01 : Full Refund Happy Flow
- OTST_TS_OB_RFND_02 : Full Refund Payment_Failure
- OTST_TS_OB_RFND_03 : Full Refund CODE_DOES_NOT_EXIST
- OTST_TS_OB_OFER_01 : Generic Offer display & validation
- OTST_TS_OB_RFND_05_Generic_Reason_Code
- SFRs WIP
- OTST_TS_OB_BOOK_01
- OTST_TS_OB_MULTI_LEG_1
- OTST_TS_OB_MULTI_PAX_1
- OTST_TI_FULFILLMENT_Enhancement
- OTST_TS_SNCF_PAX_INFO_UPD
- OTST_TS_SNCF_EXCHANGE_EXCH_01
- Night Trains
- SSDs
- ALTEN‐UIC‐SSD‐OTST_TS_OB_OFFER
- ALTEN‐UIC‐SSD‐OTST_TS_OB_RFND