Home » NOVA Booking » NOVA Booking Service Model
ch.voev.nova.booking.servicemodel
)Types / Enumerations:
Type represents a so called bookable item. A bookable item is everything that can be sold via NOVA. BookableItems are a lightweight generic representation for all kinds of bookable item types like single tickets, season tickets or reservations.
In case that more details about a bookable item are required, then NOVA also is able to provide domain specific information (BookableItemExtension
) and reporting data (BookableItemReportingData
) for bookable items.
Domain specific extensions and reporting data are not directly linked with bookable items as in many cases the generic information is sufficient. By separating them, the overall payload can be heavily reduced which at the end helps everybody.
If additional information for bookable items are required then they can be loaded using specific API calls.
Type Details | Details |
---|---|
Alias | Leistung |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
state | BookableItemState | 1..1 | Current state of the bookable item. | |
bookableItemID | BookableItemID | 1..1 | ID of the bookable item. | |
pricingSubject | PricingSubject | 1..1 | Pricing subject that belongs to the bookable item. The pricing subject contains an abstract description of the subject of the bookable item. | |
referenceCode | BookableItemReferenceCode | 1..1 | Reference code of the bookable item. | |
bookableItemType | BookableItemType | 1..1 | Type of the bookable item. |
Object represents the appendices to a bookable item. They represent additional internal information that are stored along with a bookable item.
As not all information of a bookable item will be stored for the same period of time it might be the cases that not for all of them the same amount of information is available.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
topLevelShareUnit | ShareUnit | 0..1 | Link to top level share unit. Share units are used to split different types of shares e.g. revenues among several partners. | |
domainExtensions | DomainExtension | 0..* | List with domain specific information that are an addition to the generic information about as they are defined in the PricingSubject . | |
bookableItemID | BookableItemID | 1..1 | ID of the bookable item to which this appendix belongs to. |
Type realizes the association between a bookable item (by its ID) and domain specific extensions that belong to it.
The main purpose of this class is to decouple booking service and its implementation as much as possible from domain specific information that belong to bookable items.
To do so, this class supports to associate multiple domain specific extensions with a bookable item. Each extension needs to have a different type. It is not allows that multiple extensions of the same BookableItemDomainExtensionType
are associated with one bookable item.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
bookableItemID | BookableItemID | 1..1 | ID of the bookable item to which the domain specific detail belongs to. | |
extensions | DomainExtension | 1..* |
Type represents the data that is needed to issue a single bookable item.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
checkoutParameterValues | CheckoutParameterValue | 0..* | List of checkout parameters that are required to issue the bookable item. | |
bookableItemID | BookableItemID | 1..1 | ID of the bookable item that should be issued. | |
issuingType | IssuingType | 1..1 | Issuing type that was chosen for the bookable item. |
Type can be used to query bookable items.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
customerID | TKID | 0..1 |
Type represents a booking.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
bookableItems | BookableItem | 1..* | List with all bookable items that belong to this booking. | |
bookingID | BookingID | 1..1 | ID of the booking. |
Type can be used to query bookings.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
bookingIDs | BookingID | 0..* | IDs of the bookings that should be returned. |
Type is used to describe a new booking that should be created.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
offerSelections | OfferSelection | 1..* | List of offer selections that should be aggregated within one booking. |
Type to collect a boolean value as checkout parameter value.
This type matches to requested checkout parameters of type CheckoutParameterType.BOOLEAN
.
Type Details | Details |
---|---|
Parent Class | CheckoutParameterValue |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
booleanValue | boolean | 1..1 |
Class is the base class for all checkout parameter values. It is used to provide the requested values for checkout parameters during the checkout process.
Type Details | Details |
---|---|
Alias | LeistungVerkaufsParameterType |
Abstract | true |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
code | CheckoutParameterCode | 0..1 | Code of the checkout parameter to which this value belongs to. | |
checkoutParameterDefinition | CheckoutParameterDefinition | 0..1 | Link to master data of checkout parameter to which this checkout parameter belongs to. |
Type to collect a country code as checkout parameter value.
This type matches to requested checkout parameters of type CheckoutParameterType.COUNTRY_CODE
.
Type Details | Details |
---|---|
Parent Class | CheckoutParameterValue |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
countryCode | CountryCode | 1..1 |
Type defines a checkout parameter value to define a role of a customer.
Type Details | Details |
---|---|
Parent Class | CheckoutParameterValue |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
customerRole | CustomerRoleAssociation | 1..1 | Role of a customer in the context of an offer / bookable item. The same customer may appear in different roles. |
Type to collect an integer value as checkout parameter value.
This type matches to requested checkout parameters of type CheckoutParameterType.INTEGER
.
Type Details | Details |
---|---|
Parent Class | CheckoutParameterValue |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
intValue | int | 1..1 |
Type is used as request object to issue a booking. As part of such a request issuing data for every bookable item of the booking has to be provided.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
issuingData | BookableItemIssuingData | 1..* | Issuing data for each bookable item of the booking. Important Notice: * You have to provide exactly one BookableItemIssuingData object for each bookable item of a booking. Otherwise the request is invalid. |
Type to collect a language code as checkout parameter value.
This type matches to requested checkout parameters of type CheckoutParameterType.LANGUAGE_CODE
.
Type Details | Details |
---|---|
Parent Class | CheckoutParameterValue |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
languageCode | LanguageCode | 1..1 |
Type to collect a local date as checkout parameter value.
This type matches to requested checkout parameters of type CheckoutParameterType.LOCAL_DATE
.
Type Details | Details |
---|---|
Parent Class | CheckoutParameterValue |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
localDate | java.time.LocalDate | 1..1 |
Type to collect a local time as checkout parameter value.
This type matches to requested checkout parameters of type CheckoutParameterType.LOCAL_TIME
.
Type Details | Details |
---|---|
Parent Class | CheckoutParameterValue |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
localTime | java.time.LocalTime | 1..1 |
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. | |
checkoutParameterValues | CheckoutParameterValue | 0..* | ||
passengerID | ExternalReferenceID | 1..1 | ID of the passenger for which this offer selection is. |
Type defines a checkout parameter value for personalization information.
Type Details | Details |
---|---|
Parent Class | CheckoutParameterValue |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
customerInfo | PersonInfo | 1..1 | Minimum information about a customer. |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|
Type to collect a string value as checkout parameter value.
This type matches to requested checkout parameters of types: - CheckoutParameterType.TEXT
- CheckoutParameterType.EMAIL
- CheckoutParameterType.PHONE_NUMBER
- CheckoutParameterType.LICENSE_PLATE
Type Details | Details |
---|---|
Parent Class | CheckoutParameterValue |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
text | String | 1..1 |
Enumeration defines the possible states of a bookable item.
Name | Description |
---|---|
RESERVED | State RESERVED means that the bookable item is reserved for some time to a customer. This also applies to limited tickets and reservations. However, if the bookable item will not be issued within a certain time period then it will automatically be CANCELED . |
ISSUED | State defines that the bookable item was "ISSUED". This means that is was handed out to the customer and is valid for usage. |
CONFIRMED | State CONFIRMED means that the bookable item was successfully booked. As soon as this state is reached it can not be canceled any longer. Instead if the ticket should not be usable any more then a refund process has to be started. |
CANCELED | |
REFUNDED | |
PARTIALLY_REFUNDED |