I 58 Support for Corporate Agreements - UnionInternationalCheminsdeFer/OSDM GitHub Wiki

I-58 Support for Corporate Agreements

Description

Corporate agreements need to be supported in the booking flow.

Owner

  • Stina Carlstedt (SJ)
  • Sverker Ostman (Samtrafiken)
  • Ralf Bayer (DB)

Business Value

Providing this type of discount mechanism via OSDM will make the coverage better for all parties facing corporate customers, and will make the implementations potentially cleaner, by separating corporate agreeements from promotions, which may have very different implementation in the booking solutions. Furthermore, there may be promotions available to corporate customers.

Business Outcomes

Carriers and allocators can support providing corporate agreements for better prices or conditions. Distributors can continue to make these agreements available to use via their channels, providing a convenient channel for corporate travel.

Products can be limited to either corporate/business customers or to leisure customers.

To do

Leading Indicators

The early measures that will help predict the business outcome hypothesis. For more on this topic, see the Innovation Accounting advanced topic article.

To do

Nonfunctional Requirements

Nonfunctional requirements (NFRs) associated with the epic.

To do

Specification Effort

The suggestion is to provide a Corporate Code-element on the /trip-offers and /non-trip-offers endpoints, equivalent of a promotion code. Like promotion codes, some solutions will want this to be carried in a field, others as part of a token.

Suggested structure is:

corporateCodes: [
  "corporateCode":
   {
     "code": "1234566",
     "companyRef": "1174",  (1174 - RISC code for the carrier)
     "beneficiary": "Spotify"
   }
]

code and companyRef are mandatory in the request. The response should include the beneficiary, so the client application or the documents have access to the information to ensure the right code has been applied.

When a POST /booking is made linked to an offer, the used company code should be found in the commonOfferPartAttributes of the admission and ancilllary portions of the offer; an added appliedCorporateCode element containing a corporateCode object.

When a corporate code is present in a request, the provider may check within their own configuration whether the distributor sending the request is allowed to act on behalf of that company.

The format allows sending in multiple corporate codes, for a multileg journey. The system returning the offer uses the companyRef to determine which code is applicable in their system.

Error handling:

  • If a corporate code is provided that which the provider does not associate with the requesting distributor, an error message will be returned.
  • If a corporate code is provided that does not match a valid agreement, should this result in an error, or simply a non-discounted offer response? (Ralf: I think this should result in a non-discounted offer, as there may be an agreement but it is simply not applicable to some of the offers returned)

Update: Patched in corporateCode support in OfferSearch, commonOfferPartAttributes and TripofferRequest. No addition in the Booking calls.