Skip to end of banner
Go to start of banner

Documentation

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

OSDM Introduction

Why OSDM?

OSDM is a new standard to provide public transportation products in a common way, created by a group of members representing fare providers (operators), allocators (GDS) and distributors in Europe.

What is OSDM?

The aims of the Open Sales and Distribution Model (OSDM) are twofold:

  1. to substantially simplify and improve the booking process for customers of public transport trips and,

  2. to lower complexity and distribution costs for distributors and carriers.

OSDM strengthens rail and public transport as a convenient and ecological means of transportation by simplifying distribution. Finally, it lays a solid fundament which can be extended to the distribution of other means of transportation.

Roles in OSDM

The OSDM Model is split between roles participants can take:

  • Fare Provider – defining the fare and combination rules and providing them to allocators offline or online.

  • Allocator – combining fares, defining after sales rules within the frames set by the fare provider, providing combined offers and managing the booking transaction, managing the ticket security (barcode, control processes), managing compensations processes, managing the stock control process.

  • Distributor – selling tickets from one or more allocators to the customer. Selecting the allocators and joining multiple independent bookings.

Samtrafiken ACCESS will act as a distributor by combining trips and offers from various inventory systems.

OSDM Documentation

The OSDM documentation can be found at https://osdm.io/

OSDM End Point Usage in Samtrafiken ACCESS API

Samtrafiken ACCESS API, will not implement all end points in the OSDM-standard since it is not needed to achieve the goal to provide aggregated trips and offers in Sweden. Over time some more end points can be added.

This table describes the planned usage for Samtrafiken ACCESS API. Note: The exact OSDM version to be used in Samtrafiken ACCESS is not specified/decided when this document is created.

Resource

Path

End-point description

Places

POST /places

Returns place information for a given place request.

Offers

POST /offers

Returns trip and non-trip offers.

GET /bookings/{bookingId}/bookedOffers/ {bookedOfferId}/additionalOffers

Returns ancillary and reservation offers

Availabilities

GET /availabilities/placeMap

Get place map including availabilities.

GET /availabilities/preferences

Get availabilities for a set of preferences.

Bookings

POST /bookings

Allows to create a booking based on a previously requested offer.

 

GET /bookings/{bookingId}

Returns a booking with the id provided.

 

DELETE /bookings/{bookingId}

Deletes the booking with the id provided.

 

PATCH /bookings/{bookingId}

Allows updating the fulfillment type of the booking.

GET ????

/bookings/{bookingId}/history

Returns the history of the booking

BookedOffers

POST /bookings/{bookingId}/bookedOffers

Adds a bookedOffer in a booking.

DELETE //bookings/{bookingId}/bookedOffers/{offerId}

Delete booked offer in a booking.

BookingPart

PATCH /bookings/{bookingId}/bookedOffer/
{bookedOfferId}/reservations/{reservationId}

Add a reservation part to a prebooked offer

 

DELETE /bookings/{bookingId}/bookedOffer/
{bookedOfferId}/reservations/{reservationId}

Delete a reservation part from a prebooked offer

PATCH /bookings/{bookingId}/bookedOffer/
{bookedOfferId}/ancillaries/{ancillaryId}

Add an ancillary part to a prebooked offer

DELETE /bookings/{bookingId}/bookedOffer/
{bookedOfferId}/ancillaries/{ancillaryId}

Delete an ancillary part from a prebook

OnHold

POST /booking/{bookingId}/onHoldOffer

Ask for possibilities to set prebooked offer on hold and extend time to live

 

PATCH /booking/{bookingId}/onHoldOffer/
{onHoldOfferId}

Set prebooked offer on hold and extend time to live

BookingsSearch

POST /booking-search

Search for bookings in DS according to parameters

Passengers

GET /bookings/{bookingId}/
passengers/{passengerId}

Returns the passenger's information at every stage of the flow

 

PATCH /bookings/{bookingId}/
passengers/{passengerId}

Update the passenger's information

Purchaser

GET /bookings/{bookingId}/purchaser

Returns the purchaser information

PATCH /bookings/{bookingId}/purchaser

Update the purchaser information

Fulfillment

POST /bookings/{bookingId}/fulfillments

Triggers the fulfillment of the booking

PATCH /fulfillments/{fulfillmentId}

TBC.

Refund

POST /bookings/{bookingId}/refundOffers

Initiates a refund process by creating a RefundOffer resource.

 

GET /bookings/{bookingId}/refundOffers/{refundOfferId}

Returns the refund offer for the ids provided.

 

PATCH /bookings/{bookingId}/refundOffers/{refundOfferId}

Allows to accept and confirm a refund offer.

Exchange

GET /bookings/{bookingId}/exchangeOperations/{exchangeOperationId}

Returns the exchange operation with the id provided. It may be a provisional or a confirmed exchange.

 

PATCH /bookings/{bookingId}/exchangeOperations/{exchangeOperationId}

Allows to update an ongoing exchange operation.

DELETE /bookings/{bookingId}/exchangeOperations/{exchangeOperationId}

Cancels an ongoing exchange operation in provisional state.

POST /exchange-offer

Returns exchange offers for a specified fulfillments submitted given requested new trip characteristics.

Release (Cancel admission and resources but not refund)

POST /bookings/{bookingId}/releaseOffers

Initiates a release process by creating a releaseOffers resource.

PATCH /bookings/{bookingId}/
releaseOffers/{releaseOfferId}

Allows to accept and confirm a release offer.

MasterData

GET /places

Returns all searchable places (stops).

GET /coachLayouts

Returns all coach layouts.

GET /coachLayouts/{layoutId}

Returns a coach layout for a provided id.

  • No labels