I 28 Add support to query availabilities of offerparts - UnionInternationalCheminsdeFer/OSDM GitHub Wiki

I-28: Add support to query availabilities

Description

Add support to query availabilities of seats on a given train.

Owner

  • Johan Nieuwert (Sqills)
  • Christine Dätwyler / Schlapbach Andreas (SBB)

Business Value

For agents

who want to reserve and buy reservations for a customer

the availability to query and availabilities over a given time range

is a necessary service

that allows to see availabilities on a train

unlike the current standard

our solution allows to build support service for our customers.

Business Outcomes

The measurable benefits that the business can anticipate if the epic hypothesis is proven to be correct.

  • Optimal services for our customer at point of sales or call centers leads to high customer satisfaction.

Leading Indicators

The early measures that will help predict the business outcome hypothesis.

  • Seat, Bike or Champagne reservations within in Switzerland using OSDM with be implemented in Switzerland in 2021.

Nonfunctional Requirements

Nonfunctional requirements (NFRs) associated with the epic.

  • To do.

Need

We are currently revamping seat and group reservation in Switzerland. We want to position OSDM as the new distribution and carrier interface within public transport in Switzerland. We have multiple partners interested in implementing OSDM in Q2/2021. In order for them to adopt OSDM they however require to query availabilities and fares by the OSDM standard.

Analysis

Result of our work:

  • Separate physical seat maps from availability of seats and/or the fares.

  • Return remaining offerparts in an offer if supported by allocator. Thus add numericAvailability as attribute.

  • Availability request on a list given trains for certain type of offerparts:

    Instead of reservationOffersOnly

    requestedOfferParts = [OfferPartType.ADMISSION | OfferPartType.RESERVATION | OfferPartType.ANCILLARY | OfferPartType.ALL]

    If a reservation is included (as in IRT), the reservations are not be returned for OfferPartType.RESERVATION.

  • Check whether seat availability for a given seat preference is fulfilled can be checked by the already existing resources /offers/{offerId}/reservations/{reservationId}/available-preferences or /offers/{offerId}/fares/{fareId}/available-preferences respectively.

Out of Scope

Lightweight way to get overview of (seat-)availabilities over a day/a week.

While nice to have, especially for yielded products this would create a huge load.

Specification Effort: MEDIUM