Home » NOVA Offer » NOVA Offer Data Types

NOVA Offer Data Types (Package ch.voev.nova.offer.datatypes)

Types / Enumerations:


Types

CheckoutParameter

Checkout parameters are used to define which additional information have to be provided by clients during the checkout process. These information do not have an impact on the price. Typically they have to be provided by the customer and contain details that e.g. are used on the "printed" ticket.


Type Details Details
Abstract true


Properties / Associations

Name Type Multiplicity Constraints Description
multiplicity CheckoutParameterMultiplicity 1..1 Multiplicity of the checkout parameter.


CheckoutParameterCode

Code for identifying a checkout parameter.


Type Details Details
Alias VerkaufsParameterCode


Properties / Associations

Name Type Multiplicity Constraints Description
code String 1..1 Code for identifying a checkout parameter.


GroupedCheckoutParameter

Type can be used to group a list of checkout parameter e.g. in case that exactly one out of a list parameters needs to be provided.


Type Details Details
Parent Class CheckoutParameter


Properties / Associations

Name Type Multiplicity Constraints Description
groupingType GroupingType 1..1
checkoutParameters CheckoutParameter 1..* @Size(min=2, max=UNLIMITED)
List of templates that belong to this group.

Please be aware that currently there are no recursive structured checkout parameters, but this might happen in the future without prior notice.


OfferID

Type represents the ID of an offer.


Type Details Details
Alias AngebotsID


Properties / Associations

Name Type Multiplicity Constraints Description
id String 1..1 @Size(min=0, max=32)


OfferSelection

An offer selection represents the selection of one or more offers for exactly one passenger.


Properties / Associations

Name Type Multiplicity Constraints Description
offerIDs OfferID 1..* List of offers that should be booked for a passenger. All selected offers must belong to the same offer lineup.
passengerID ExternalReferenceID 1..1 ID of the passenger for which this offer selection is.


PricingSubject

Type contains all the information that are common for offers and bookable items. They define the business subject.


Properties / Associations

Name Type Multiplicity Constraints Description
salesPrice Price 1..1 Price the customer has to pay for this offer.
validFrom java.time.OffsetDateTime 1..1 Start data-time from which on the subject is valid for usage.
validUntil java.time.OffsetDateTime 1..1 End data-time until which the subject is valid for usage. Date-time is not included.
validityDuration Duration 1..1 Validity duration of the subject.
referenceDate java.time.LocalDate 0..1 Reference date that was used during the offer calculation.

The reference date is the "magic date" that has to be used for lookups for versioned objects. Due to that the reference date also has to be used by subsequent steps e.g. during the checkout process in case of lookups for versioned objects.

Note to NOVA integrators:

* From a NOVA client perspective the reference date should only be relevant in very rare cases. For all common cases NOVA will already return the ID of the version of an versioned object.
productNumber ProductNumber 1..1 Number of the product on which this subject is based on.
productVariantID ProductVariantID 0..1 ID of the product variant on which this subject is based.
productName LocalizedString 1..1 Customer-friendly name of the product.
productVariantName LocalizedString 0..1 Customer-friendly name of the product variant.
subjectDescription LocalizedString 1..1 Customer-friendly description of the subject.
subjectDetail LocalizedString 0..1 Customer-friendly details about the subject.
product Product 1..1 Product on which the pricing subject is based on.
salesClient NOVASalesClientInfo 1..1 NOVA Sales Client for which the pricing subject was created.
pricingSubjectType PricingSubjectType 1..1 Categorization of the pricing subject.


SingleCheckoutParameter

Type is used for checkout parameters that are used to gather additional information from NOVA clients.

The checkout parameter here is just a proxy for the full featured checkout parameter definition inside NOVA master data. Using the checkoutParameterDefinitionID NOVA clients can lookup all information about the checkout parameter.


Type Details Details
Alias AngebotsVerkaufsParameterType
Parent Class CheckoutParameter


Properties / Associations

Name Type Multiplicity Constraints Description
code CheckoutParameterCode 1..1 Code of the checkout parameter.

The code is only provided for debugging purposes. Please do not use the code to lookup the checkout parameter inside master data as this way its correct version cold not be resolved (use checkoutParameterDefinitionID instead).
checkoutParameterDefinition CheckoutParameterDefinition 1..1 The checkout parameter definition inside NOVA master data.
defaultValue String 0..1 Default value for the checkout parameter. This value will be used if none is provided during the checkout process.



Enumerations

CheckoutParameterMultiplicity

Enumeration defines the multiplicity of a checkout parameter. This information needs to be processed by client in order that it knows which information needs to be sent when creating a booking from an offer.

Literals

Name Description
REQUIRED Literal for required checkout parameters.
OPTIONAL Literal for optional checkout parameters.

CheckoutParameterType

Enumeration defines the supported types of checkout parameters.

Please be aware that this type is a so called extensible enum. This means that additional literals might be added in the future and that this is considered to be a non-breaking / SemVer compliant change.

Literals

Name Description
ADDRESS
BOOLEAN
COUNTRY_CODE
CUSTOMER_IDENTIFICATION Checkout parameter is used to identify a customer by its TKID.

Matching checkout parameter value type is CustomerIdentificationCheckoutParameterValue.
DECIMAL
EMAIL
INTEGER
LANGUAGE_CODE
LICENSE_PLATE
LOCAL_DATE
LOCAL_DATETIME
LOCAL_TIME
PERSONALIZATION Literal for checkout parameter that is used to gather information about a customer.

Matching checkout parameter value type is PersonalizationCheckoutParameterValue.
PHONE_NUMBER
TEXT
UNKNOWN Please be aware that this enum is an extensible enum. This means that new literals can be introduced without prior notice.

CheckoutProcessStageType

Enumeration defines all the stages of a checkout process in NOVA.

Literals

Name Description
CREATE_BOOKING A booking is created. This is the first step within the checkout process.
FULFILLMENT The fulfillment is used to issue all required documents (e.g. E-Ticket) for a bookable item.
ISSUE_BOOKING Within this process stage a booking and all its bookable items will be issued. After that, if required, the fulfillment (e.g. creation of PDF) can be done.
CONFIRM_BOOKING A booking is confirmed. This is the final step in the checkout process. As soon as a booking is confirmed it can not be canceled. If this is required then the refund process must be used.
CANCEL_BOOKING

GroupingType

Enumeration defines the logical operators that can be used to group checkout parameters.

Please also consider the multiplicity of a checkout parameter. If a checkout parameter has multiplicity OPTIONAL then it is also valid to provide none.

Literals

Name Description
AND Literal for logical operator AND. AND means that all checkout parameters of a group have to be provided.
XOR Literal for logical operator XOR. XOR means that one checkout parameters of a group have to be provided.

IssuingType

Enumeration defines the possible ways how a bookable item can be issued. The IssuingType is not the same as the FulfillmentType. However, the issuing type limits the possible fulfillment types.

Please be aware that this type is a so called extensible enum. This means that additional literals might be added in the future and that this is considered to be a non-breaking / SemVer compliant change.

Literals

Name Description
PHYSICAL Enum literal for physical issuing of tickets (aka printed on paper)
DIGITAL Enum literal for a digital issuing. In this case the customer is not really know. However, in order to reduce risk of misuse some identification criteria are connected with digital issuing.

Most common case of digital issuing is classic PDF-based tickets.
ACCOUNT Enum literal for a account-based issuing. This means that the bookable item will be linked with an account. Here, it is important to understand that account-based ticketing does not necessarily means that a customer needs to be identified. NOVA also supports anonymous accounts.

This kind of issuing should be used whenever a bookable item is sold to a customer that is logged in. Issuing type ACCOUNT also still allows to handout classic travel documents (PDF, Mail with QR code etc.) to the customer if this is still a requirement.
UNKNOWN Please be aware that this enum is an extensible enum. This means that new literals can be introduced without prior notice.

PassengerType

Enumeration defines the types of passengers that are know to NOVA.

Please be aware that this type is a so called extensible enum. This means that additional literals might be added in the future and that this is considered to be a non-breaking / SemVer compliant change.

Literals

Name Description
PERSON
DOG
BIKE
UNKNOWN Please be aware that this enum is an extensible enum. This means that new literals can be introduced without prior notice.

PricingDomain

Type defines the pricing domains that are provided by NOVA.

Please be aware that this type is a so called extensible enum. This means that additional literals might be added in the future and that this is considered to be a non-breaking / SemVer compliant change.

Literals

Name Description
PUBLIC_TRANSPORT Pricing domain for public transport.
PARKING Pricing domain for parking of vehicles.
RESERVATION Pricing domain for public transport reservations.
UNKNOWN Please be aware that this enum is an extensible enum. This means that new literals can be introduced without prior notice.

PricingSubjectType

The pricing subject type serves as categorization of a pricing subjects. This might help clients within a sales process to implement a step by step sales process where different types of offers (grouped by their pricing subject) are sold in different steps.

Please be aware that this type is a so called extensible enum. This means that additional literals might be added in the future and that this is considered to be a non-breaking / SemVer compliant change.

Literals

Name Description
PUBLIC_TRANSPORT Literal for public transport tickets.
PARKING Literal for parking tickets.
RESERVATION Literal for reservations.
ANCILLARY Literal for ancillaries.
UNKNOWN Please be aware that this enum is an extensible enum. This means that new literals can be introduced without prior notice.