Skip to content

Search offers - the 'Delivery' part - 20260702#68

Open
edwinvandenbelt wants to merge 3 commits into
mainfrom
Search-offers-delivery
Open

Search offers - the 'Delivery' part - 20260702#68
edwinvandenbelt wants to merge 3 commits into
mainfrom
Search-offers-delivery

Conversation

@edwinvandenbelt

@edwinvandenbelt edwinvandenbelt commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

This pull request is a large one, and an important one. It contains the draft 'Package', with all details.
image

A short guideline to help you navigate through all files.
a) start with the SEARCH OFFER DELIVERY. That is the 'main' concept.
it contains WARNINGs, and a list of OFFERED PACKAGE (SALES OFFER PACKAGE)

b) the OFFERED PACKAGE inherits from PACKAGE, and contains

  • PACKAGE ELEMENTs,
  • a minimum PRICE (FARE PRICE)
  • SUMMARY DETAILs (describing e.g. (after-sales) conditions)
  • the trip (in the figure, there is a TRIP PATTERN, but I think it should be a TRIP
  • guarantees (GUARANTEE)
  • links to e.g. get more details, or to execute locking this offer.

c) PACKAGE ELEMENTs refer to:

  • the TRAVELLING ENTITYs (e.g. travellers (INDIVIDUAL TRAVELLER), luggage, passenger vehicles, animals)
  • the covered part of the trip (startLeg & endLeg, optionally startPlace & endPlace, and even to a tripPattern (inbound part, outbound part, ...), the TRIP SECTIONs.
  • a PRICE (FARE PRICE)
  • And a PACKAGE ELEMENT is OR a TRAVEL RIGHT, OR an ANCILLARY, OR an ALLOCATION (for e.g. a seat or bike)

d) TRIP has a sequence of LEGs (timed legs, continuous legs, transfer legs), being compliant to OJP. LEGs can be bundled into TRIP PATTERNs using the same trip pattern reference (e.g. 'outbound-P1')

The other concepts are supportive.

image

The PACKAGE ELEMENT can have 'REQUIRED INFORMATION', like a date of birth, license driver's number, address, and so on (x-enum). The requested information should be supplied in the PURCHASE PACKAGE REQUEST (due to GDPR).

A 'PACKAGE ELEMENT' can be a TRAVEL RIGHT, an ANCILLARY or an ALLOCATION. And the ALLOCATION itself can be a SPOT ALLOCATION (seat, bike spots etc) or an ASSET ALLOCATION (a scooter, parking spot etc).

Each 'PACKAGE ELEMENT' has a 'TRIP SECTION' where it is valid. This allows that SPOT ALLOCATIONS can be used separately from the TRAVEL RIGHTS (in other words, within a single leg you can have multiple seats, to specify you have to change seats during the ride).

@edwinvandenbelt edwinvandenbelt changed the title Add search offers delivery schemas: Package, OfferElements, Fulfillment and supporting types Search offers - the 'Delivery' part - 20260702 Jun 23, 2026
@@ -0,0 +1,25 @@
allOf:

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I took the liberty to add 'PlaceHolder' concept, where retailers have the complete list of things they have to complete before they can purchase the package. E.g. personal aspects or choices of allocations/ancillaries.

@edwinvandenbelt

Copy link
Copy Markdown
Collaborator Author

Hmmm. On second thought, why is a 'REQUIRED ANCILLARY' or 'REQUIRED ALLOCATION' connected to the TRAVEL RIGHT, and not directly to the PACKAGE?

@edwinvandenbelt

Copy link
Copy Markdown
Collaborator Author

And why it is a 'TRIP PATTERN SECTION', instead of 'TRIP SECTION'? Now we need to use the tripPatternId explicitly when using sections. Not in all cases the TRIP PATTERN (inbound/outbound) is needed. And you cannot have sections that partly cover the first pattern and partly covers the second pattern...

@OlivierBigex

Copy link
Copy Markdown
Collaborator

To be added somewhere: a token indicating that the offer package is valuable only if the customer buys another package with the same token provided by another distributor. That enable lower end-to-end price when a retailer combines 2 offers provided by 2 differents distributors that have aggrements.

description: The channel of the offer.
x-enum-values:
- "web"
- "mobile"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

app?

- completed
- issued
- revoked
- refunded

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"refund" implies a financial transaction, which relies on retailer's process. "Canceled" would be better

properties:
issuer:
type: string
description: The entity that issues the entitlement right.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it should be possible to have a code here (optional), like RICS code

- "ISO/IEC 7816-4" # NFC, MIFARE DESFire
- "GATT" # Bluetooth Low Energy
- "AXA Bike lock" # AXA Bike lock
- "OTHER" # Other content standard

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is calypso NFC card in this list ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants