@@ -136,6 +136,82 @@ The description of the area-type ODV offer is provided as an offer plan with the
136136### Special case: Pooling
137137In Transmodel POOLING is something different. For the time being we will NOT model it here.
138138
139+ ## Diagram of relevant elements
140+
141+ ``` mermaid
142+
143+ classDiagram
144+ %% Base classes
145+ class BookingArrangement {
146+ <<abstract>>
147+ }
148+
149+ class ServiceBookingArrangement {
150+ <<abstract>>
151+ }
152+
153+ class MobilityService
154+
155+ class ChauffeuredMobilityService {
156+ serviceBookingArrangements: ServiceBookingArrangement[]
157+ }
158+
159+ ChauffeuredMobilityService --> BookingArrangement
160+ ChauffeuredMobilityService --|> MobilityService
161+
162+ %% Inheritance
163+ ServiceBookingArrangement --|> BookingArrangement
164+
165+ %% Line has multiple BookingArrangement through a container
166+ class Line {
167+ bookingArrangements: BookingArrangement[]
168+ }
169+ Line --> "0..*" ServiceBookingArrangement : bookingArrangements
170+
171+ %% ServiceBookingArrangement specializations
172+ class ServiceCompetitiveCondition {
173+ RoutingConstraintInFrameGroup : group
174+ DistanceFromClassical : xsd:integer
175+ TemporalDistanceFromClasical : xsd:duration
176+ PenaltyDrivingTimeFactor : xsd:decimal
177+ PenaltyTransferTimeFactor : xsd:decimal
178+ WalkTimeFactor : xsd:decimal
179+ InterchangeBetweenFlexibleServicesAllowed: xsd:boolean
180+ InterchangeWithConventionalServicesallowed: xsd:boolean
181+
182+ }
183+ class ServiceEligibilityCondition {
184+ UserProfile
185+ CommercialProfile
186+ ResidentialQualification
187+ CompanionProfile
188+
189+ }
190+
191+ ServiceCompetitiveCondition --|> ServiceBookingArrangement
192+ ServiceEligibilityCondition --|> ServiceBookingArrangement
193+
194+ %% Inside ServiceEligibilityCondition: subelements serviceExclusions to different ServiceExclusion
195+ class ServiceExclusion
196+
197+ ServiceEligibilityCondition --> "0..*" ServiceExclusion : serviceExclusions
198+
199+ %% Examples of specific eligibility items
200+ class ResidentialQualification
201+ class CompanionProfile
202+ class CommercialProfile
203+ class UserProfile
204+
205+ ServiceEligibilityCondition --> ResidentialQualification
206+ ServiceEligibilityCondition -->CompanionProfile
207+ ServiceEligibilityCondition -->CommercialProfile
208+ ServiceEligibilityCondition --> UserProfile
209+ ServiceCompetitiveCondition --> RoutingConstraintInFrameGroup
210+
211+ %% Connect MobilityService to ServiceBookingArrangement
212+ MobilityService --> "0..*" ServiceBookingArrangement : offers
213+ ```
214+
139215## The new LineType
140216As mentioned FlexibleLine is gone. It is all in Line now. So the FlexibleLineType and the LineType are now in one.
141217
0 commit comments