Home » NOVA Offer » NOVA Offer Service Model
ch.voev.nova.offer.servicemodel
)Types / Enumerations:
Type is base class to provide passenger information as part of an offer request.
Type Details | Details |
---|---|
Alias | ReisendenInfo |
Abstract | true |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
externalPassengerID | ExternalReferenceID | 1..1 | External reference ID that is provided by a client to identify a passenger. This is not the TKID of a customer. The external passenger ID must be unique within the scope of the request. | |
passengerType | PassengerType | 1..1 |
Type Details | Details |
---|---|
Abstract | true |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
salesPrice | Price | 1..1 | Price the customer has to pay for this offer. | |
product | Product | 1..1 |
Type is base class for selection of products that should be considered within the offer creation process.
Type Details | Details |
---|---|
Abstract | true |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|
Type defines how an offer can be delivered to a customer.
The issuing type limits the possible fulfillment types in general. In addition, the supported fulfillment types can be further restricted by other parameters. Due to that, this class describes depending on the issuing type which fulfillment types are possible.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
issuingType | IssuingType | 1..1 | Issuing type for which this delivery option is applicable. | |
applicableFulfillmentTypes | FulfillmentType | 1..* | List of fulfillment types that are applicable for an offer depending on an issuing type. | |
checkoutParameters | CheckoutParameter | 0..* | List of checkout parameters that need to be provided when this delivery option will be chosen. |
Type defines a dependency on other offers. Using this type it is possible to define how many of the dependent offers are required. To express this min
and max
will be set accordingly.
All dependent offers always have the same pricing subject type.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
min | java.lang.Integer | 1..1 | Minimum amount of offers that have to be selected to fulfill the constraints that are expressed by this dependency node. | |
max | java.lang.Integer | 0..1 | Minimum amount of offers that have to be selected to fulfill the constraints that are expressed by this dependency node. If the property is not set then there are no constraints coerning the maximum selection (= unbounded). | |
pricingSubject | PricingSubjectType | 1..1 | Pricing subject type of all offers that are grouped by this dependency node. | |
offerIDs | OfferID | 1..* | IDs of all dependent offers. | |
owner | OfferDependency | 1..1 | transient |
Type represents an generic offer that contains the minimum information that are required for offers on NOVA. Depending on the pricing domain there might be extensions of this class to express domain specifics on offer level.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
offerID | OfferID | 1..1 | ID of the offer. This ID required when you want to create a booking. | |
messages | MessageID | 0..* | ||
offerExpiration | java.time.OffsetDateTime | 1..1 | Timestamp when the offer is about to expire. | |
pricingSubject | PricingSubject | 1..1 | Pricing subject of this offer. | |
checkoutParameters | CheckoutParameter | 0..* | List of checkout parameters that do not depend on anything but the offer itself. In addition there also might be checkout parameters that depend on the delivery option. these checkout parameters are defined by each DeliveryOption . | |
offerLineUp | OfferLineUp | 1..1 | transient | Back reference to offer line-up to simplify processing of offer data structures. Please be aware that this back reference is only available in the generated Java Code but not in OpenAPI and JSON representation of the objects. |
supportedMediaTypes | FulfillmentMediaType | 0..* | ||
deliveryOptions | DeliveryOption | 1..* | List with all delivery options for the offer. A delivery option defines depending on the issuing type which fulfillment types can be used. As the delivery options depend on various parameters, this information is provided dynamically for every offer and not as master data. |
Offer dependencies are used to express for a list of offers which dependencies to other offers exist.
Dependencies might be other offers that are mandatory or optional in combination with an offer. Offers that share the same dependencies are grouped into one offer dependency if they have the same pricing subject.
Please be aware that there might be multiple offer dependencies for one offer.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
messages | MessageID | 0..* | ||
offerIDs | OfferID | 1..* | List of offers that all share the dependencies to other offers as defined by dependencies . | |
pricingSubject | PricingSubjectType | 1..1 | Pricing subject type of all offers that share the dependencies as defined by this object. | |
dependencyNodes | DependencyNode | 1..* | List with so called dependency nodes. Dependency nodes are used to group several dependent offers that are connected with each other. | |
offerLineUp | OfferLineUp | 1..1 | transient | Back reference to offer line-up to simplify processing of offer data structures. Please be aware that this back reference is only available in the generated Java Code but not in OpenAPI and JSON representation of the objects. |
Type is used to aggregate all domain extensions that belong to an offer.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
offerID | OfferID | 1..1 | ID of the offer to which the domain extensions of this object belong to. | |
domainExtensions | DomainExtension | 0..* | List of domain extensions that are aggregated by this object. |
Type is a container for the various objects that belong together in the context of offers. Besides the offers itself this object also provides information about the dependencies between offers and defines which offers are applicable for which passengers.
If you are using the generated Java classes please be aware that there are already some convenience operations on the class that might make working with the response a little simpler e.g. there is an operation that lets you check if your offer selection matches to the defined dependencies validateOfferSelection(...)
.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
offerDependencies | OfferDependency | 0..* | Full list of offer dependencies that need to be considered in combination with the returned response. | |
offerPassengerAssociations | OfferPassengerAssociation | 1..* | List with associations between offers and passengers. For every passenger from the offer request there will be a OfferPassengerAssociation in an offer response. Even when there are no offers for a passenger. | |
offers | Offer | 0..* | List of all offers that belong to an offer response. |
Type defines which offers are applicable to a passenger from an offer request. A passenger might be a single passenger as well as multiple passengers together.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
offerIDs | OfferID | 0..* | IDs of the offers that are applicable for a passenger from an offer request. If no offers are applicable then this list is empty. | |
offerLineUp | OfferLineUp | 1..1 | transient | Back reference to offer line-up to simplify processing of offer data structures. Please be aware that this back reference is only available in the generated Java Code but not in OpenAPI and JSON representation of the objects. |
startOfferIDs | OfferID | 0..* | IDs of the start offers that are applicable for a passenger from an offer request. If no offers are applicable then this list is empty. | |
passengerIDs | ExternalReferenceID | 1..* | @Size(min=1, max=UNLIMITED) | The passenger(s) that are booking one or more offers (together). This List will usually contain a single (1) passenger. In this case, this one bookable item will be booked (1 bookable item per offer). In rare cases, this List can contain multiple (2+) passengers. In this case, all passengers will share a single bookable item to be booked (1 bookable item per offer). If an offer can be booked by multiple passengers independently, then multiple OfferPassengerAssociations (with a single passenger each) must be provided. In this case, multiple bookable items will be booked (1 bookable item per offer and passenger). |
Generic response object that is returned as response for all kinds of NOVA offer requests.
This object contains a so called offer line up which contains all the created offers and also describes the relations ships between offers as well as between offers and passengers. It also contains all domain extensions that were requested by a client.
In addition it also contains general response information like a response status and a list of messages.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
requestedDomainExtensions | OfferDomainExtensionLink | 0..* | List of public domain extensions that were requested by a client in the offer request. There will be an OfferDomainExtensionLink object for every returned offer. | |
offerLineUp | OfferLineUp | 1..1 |
TKID based identification of a customer.
Type Details | Details |
---|---|
Parent Class | AbstractPassengerInfo |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
customerID | TKID | 1..1 | TKID of the passenger. | |
additionalReductionCards | ReductionCardCode | 0..* | Additional reduction cards of the passenger. This property is intended to be used for reductions cards that can not be resolved based on the TKID of a customer. |
Value-based way to provide passenger information as part of an offer request.
Type Details | Details |
---|---|
Parent Class | AbstractPassengerInfo |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
age | Integer | 0..1 | @PositiveOrZero | Age of the passenger that is represented by this object. Either age or dateOfBirth has to be set. |
dateOfBirth | java.time.LocalDate | 0..1 | @PastOrPresent | Date of birth of the passenger that is represented by this object. Either age or dateOfBirth has to be set. |
gender | Gender | 0..1 | Gender o the passenger. | |
reductionCards | ReductionCardCode | 0..* | All reduction cards of the passenger. As the customer can not really be identified by NOVA all reduction cards of the customer have to be provided. Only provided reduction cards can be considered during the offer creation process. |
Type is used to select products for offer creation based on a product number.
Type Details | Details |
---|---|
Parent Class | AbstractProductSelection |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
productNumber | ProductNumber | 1..1 | Product number that has be selected. |
Type is used to select products for offer creation based on a product taxonomy.
Type Details | Details |
---|---|
Parent Class | AbstractProductSelection |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
productTaxonomyClassPath | ProductTaxonomyClassPath | 1..1 | Taxonomy that should be used to identify the products that should be considered in the offer creation process. |