openactive / open-booking-api

Repository for the Open Booking API specification
Other
2 stars 3 forks source link

Offer inheritance #232

Open nickevansuk opened 2 years ago

nickevansuk commented 2 years ago

Clarify 8.1 Definition of a 'bookable' Opportunity and Offer pair:

The pairing of an Opportunity of type Event, ScheduledSession, HeadlineEvent, Slot or CourseInstance with an Offer is deemed to be bookable via the Open Booking API if the Offer is applicable to the Opportunity following the principles of Offer inheritance contained in [Modelling-Opportunity-Data], and if both the Opportunity and Offer meet the criteria specified below.

This section should include additional clarification for "Offer inheritance" as follows:

The identifier property of the Offers is used to identify overrides between the SessionSeries and ScheduledSession, such that a ScheduledSession Offer will override an SessionSeries Offer where the identifier is identical. The Broker MUST use the Offer of the ScheduledSession (including its @id) in place of an Offer in the SessionSeries, where the identifier exactly matches. The ScheduledSession SHOULD only contain Offers where they differ from those defined in the SessionSeries. The @id of the ScheduledSession Offer MUST be distinct from the @id of the SessionSeries Offer, when the value of any property within the Offer is different.