BoB tickets

Cross county BoB tickets

A cross county offer in Sweden may have multiple admissions for a single leg.

Example of a cross county trip

In this example, the trip from A to B is one leg and crosses the county border. PTA1 is the carrier. An offer has two admission offer parts, one for PTA1 and one for PTA2.

A booked offer has two admissions.

A single fulfillment references both admissions. The fulfillment document will be a BoB MTB. The MTB has two ticket objects inside its encoded structure, representing both tickets issued by both PTA1 and PTA2.

Sequence diagram for the example cross county trip

The example shows the flow for the issuance of a dormant ticket. As of June 2023 it is not yet decided if BoB tickets should be dormant or not. However, to be able to write the diagram we will assume that the ticket is dormant in this example.

 

title Cross county single trip BoB backed ticket for one passenger

Retailer->Distribution Service:POST /offers
Distribution Service->BoB Connect:POST /offers
BoB Connect->PTA1: POST /product
BoB Connect<--PTA1: Product
BoB Connect->PTA2: POST /product
BoB Connect<--PTA2: Product
Distribution Service<--BoB Connect:Offer b4a519dc-3cd4 with 2 admission offer parts\ncolor:#redBoth admission offer parts reference leg 1</color>
Distribution Service<--Distribution Service:Consolidate received offers
Retailer<--Distribution Service:Offer b4a519dc-3cd4 with 2 admission offer parts\ncolor:#redBoth admission offer parts reference leg 1</color>

space
Retailer->Distribution Service:POST /bookings for offer b4a519dc-3cd4
Distribution Service->BoB Connect:POST /bookings for offer b4a519dc-3cd4
BoB Connect->PTA1: POST /manifest
BoB Connect<--PTA1: Manifest
BoB Connect->PTA2: POST /manifest
BoB Connect<--PTA2: Manifest
Distribution Service<--BoB Connect:Booking 34a19090-1e4c with 2 admissions\n1 for PTA1, 1 for PTA2\ncolor:#redBoth admissions reference leg 1</color>\nAdmissions PREBOOKED
Distribution Service<--Distribution Service:Consolidate received bookings
Retailer<--Distribution Service:Booking 34a19090-1e4c with 2 admissions\n1 for PTA1, 1 for PTA2\ncolor:#redBoth admissions reference leg 1</color>\nAdmissions PREBOOKED

space
Retailer->Distribution Service:POST /bookings/34a19090-1e4c/fulfillments
Distribution Service->BoB Connect:POST /bookings/34a19090-1e4c/fulfillments
BoB Connect->PTA1: POST /ticket
BoB Connect<--PTA1: Ticket id 11 (no MTB)
BoB Connect->PTA2: POST /ticket
BoB Connect<--PTA2: Ticket id 12 (no MTB)
Distribution Service<--BoB Connect:Fulfillment fa1f988f-7039 (no document)\ncolor:#redFulfillment references 2 admissions</color>\nAdmissions CONFIRMED
Distribution Service<--Distribution Service:Consolidate received fulfillments
Retailer<--Distribution Service:Fulfillment fa1f988f-7039 (no document)\ncolor:#redFulfillment references 2 admissions</color>\nAdmissions CONFIRMED

note over Retailer: Many weeks may pass

space 7
Retailer->Distribution Service:Passenger activates ticket before travel\nPATCH /bookings/34a19090-1e4c/fulfillments\nbody: fulfillment id fa1f988f-7039
Distribution Service->BoB Connect:PATCH /bookings/34a19090-1e4c/fulfillments\nbody: fulfillment id fa1f988f-7039
BoB Connect->PTA1: PUT /ticket/11/active
BoB Connect<--PTA1: Successful
BoB Connect->PTA1: POST /ticketbundle
BoB Connect<--PTA1: MTB1
BoB Connect->PTA2: PUT /ticket/12/active
BoB Connect<--PTA2: Successful
BoB Connect->PTA2: POST /ticketbundle
BoB Connect<--PTA2: MTB2
BoB Connect->BoB Connect: Rebundle MTB1 and\nMTB2 into MTB12
Distribution Service<--BoB Connect:Fulfillment document (MTB12)\nAdmissions FULFILLED
Retailer<--Distribution Service:Fulfillment document (MTB12)\nAdmissions FULFILLED

Â