Skip to content

OTST_TS_OB_MULTI_LEG_1

Linus Johansson - Business Analyst edited this page Sep 9, 2024 · 3 revisions

Work In Progress

description

Generate and send a post offer request with a trip specification with two legs. Generate and send a post booking request Generate and send a post fulfillment request Generate and send a get booking request

Example data

{ 
	"type": " OTST_TS_OB_MULTI_LEG_1", 
	"currency": "EUR", 
	"service_class": "STANDARD", 
	"travel_class": "SECOND", 
	"legs": [
		{
			"origin": "urn:uic:stn:8400058", 
			"destination": "urn:uic:stn:8727100", 
			"start_datetime": "%TRIP_DATE%T07:00:00+02:00", 
			"end_datetime": "%TRIP_DATE%T10:20:00+02:00", 
			"product_category_ref": "", 
			"product_category_name": "",
			"product_category_short_name": "", 
			"vehicle_number": "OSDM_101", 
			"operator_code": "urn:uic:rics:1" 
		},
		{
			"origin": "urn:uic:stn: 8727100", 
			"destination": "urn:uic:stn:???????", 
			"start_datetime": "%TRIP_DATE%T11:00:00+02:00", 
			"end_datetime": "%TRIP_DATE%T12:20:00+02:00", 
			"product_category_ref": "", 
			"product_category_name": "",
			"product_category_short_name": "", 
			"vehicle_number": "OSDM_102", 
			"operator_code": "urn:uic:rics:1" 
		}
	],
	“Passengers”: [
		{
			“externalRef”: “PAX1”,
			"type": "PERSON",
			"age": "40"
		}
	]
} 

Suggested Validations per step

    • One trip with two timedLegs is returned
    • One offers with one admissions with offerMode = “INDIVIDUAL”
    • The admission has a reference to one anonymousPassengerSpecification
    • offers.tripCoverage points out the tripId. If coveredLegIds are populated both legId’s must be in the array
    • offers.admissionOfferParts.tripCoverage points out the tripId. If coveredLegIds are populated both legId’s must be in the array
    • One trip with two timedLegs is returned
    • One bookedOffer with one admissions with offerMode = “INDIVIDUAL”
    • bookedOffers.admissions.tripCoverage.coveredTripId refers to the delivered trip. If coveredLegIds are populated both legId must be in the array
    • bookings.provisionalPrice = sum (bookedOffers.admissios.price.amount)
    • bookings.createdOn is set
    • confirmationTimeLimit > now() + 5 min
    • status on all offerPart is “PREBOOKED”
    • One fulfillments is created.
    • controlNumber is set
    • fulfilments.bookingRefs points out the bookingId from stage 2
    • fulfilments.bookingParts points out the admission
    • One trip with two timedLeg’s is returned
    • One bookedOffer with one admissions with offerMode = “INDIVIDUAL”
    • bookedOffers.admissions.tripCoverage.coveredTripId refers to the delivered trip. If coveredLegIds are populated, both legId must be in the array
    • status on all offerPart is “PREBOOKED”
    • bookings.provisionalPrice = 0
    • bookings.confirmedPrice = sum (bookedOffers.admissios.price.amount)
    • status on all offerPart is “FULFILLED”
    • fulfilment is provided with a controlNumber
    • fulfilment.status = “FULFILLED”

Clone this wiki locally