Domain NOVA Booking

NOVA is able to sell a wide variety of offers from different domains. In order to not pollute our booking implementation with domain specifics a generic checkout process is implemented.

Capabilities:

Planned Breaking Changes

Element Details Description Active with
ch.voev.nova.booking.servicemodel.CheckoutParameterValue checkoutParameterDefinition Instead of the CheckoutParameterCode clients need to provide the link to the CheckoutParameterDefinition from NOVA Master Data. This information is returned as part of the offer response. PI 22

Diagrams

NOVA Booking Data Types NOVA Booking Service Model NOVA Booking Master Data NOVA Booking Master Data
- Booking Data Types Domain
- Booking Data Types OpenAPI
- 01 Booking Domain Overview
- 02 Bookable Item Extension
- 03 Bookable Item Reporting
- 11 Booking Requests / Responses
- 20 NOVA Booking Service OpenAPI
- 21 NOVA Booking Service Roles
- Bookable Item States
- Checkout Parameter Value
- NOVA Booking Master Data - Data Unit
- NOVA Booking Master Data - Domain
- NOVA Booking Master Data - OpenAPI
- NOVA Booking Events
- NOVA Booking Events OpenAPI

Artifacts

Artifact Icon Maturity Level since
NOVA Booking Data Types 🐔 Crazy Chicken
NOVA Booking Service Model 🐔 Crazy Chicken
NOVA Booking Master Data 🐔 Crazy Chicken
NOVA Booking Events 🐔 Crazy Chicken

Dependencies

Artifact Outgoing Dependencies Incoming Dependencies
NOVA Booking Data Types - NOVA Common Data Types
- NOVA Master Data Data Types
- NOVA Booking Events
- NOVA Booking Service Model
- NOVA Booking Master Data
- NOVA Checkout Service Model
- NOVA Fulfillment Service Model
- NOVA Public Transport Service Model
- NOVA Travel Authorization Control Service Model
- NOVA Coupon Service Model
- NOVA Payment Service Model
- NOVA Payment Events
- NOVA Finance Service Model
- NOVA Offer Service Model
NOVA Booking Service Model - NOVA Booking Data Types
- NOVA Common Data Types
- NOVA Customer Data Types
- NOVA Finance Service Model
- NOVA Offer Data Types
- NOVA Reseller Data Types
- NOVA System Management Service Model
- NOVA System Problem
- NOVA Booking Events
- NOVA Checkout Service Model
- NOVA Fulfillment Service Model
NOVA Booking Master Data - NOVA Booking Data Types
- NOVA Checkout Data Types
- NOVA Master Data Data Types
NOVA Booking Events - NOVA Booking Data Types
- NOVA Booking Service Model
- NOVA Common Data Types
- NOVA Common Events

Provided REST Endpoints / Services

BookingService

Service can be used to run the checkout process.

The booking service is responsible for: * creation of bookings * confirmation of bookings * cancellation of bookings * querying for bookings


REST Path / Operation Description
/bookings:createBooking [POST]

createBooking(BookingRequest, SalesContext, IdempotencyHeader)
Operation creates a new booking based on the offer selection that is part of the request.
/bookings/{bookingID}:issueBooking [POST]

issueBooking(BookingID, IssueBookingRequest, SalesContext, IdempotencyHeader)
Operation issues the passed booking and all of its bookable items. Issuing a booking means that it is sold to a customer. This changes the state of a booking and its bookable items.

Afterwards if required, fulfillments can be created.
/bookings/{bookingID}:confirmBooking [POST]

confirmBooking(BookingID, SalesContext, IdempotencyHeader)
Operation can be used to confirm a booking.

As soon as a booking was confirmed it can not be canceled any more. If a booking should be undone completely or partially after confirmation then the refund process has to be used.
/bookings/{bookingID}:cancelBooking [POST]

cancelBooking(BookingID, SalesContext, IdempotencyHeader)
Operation cancels an existing booking. This is only possible until the booking was not confirmed.
/bookings:query-bookings [GET]

queryBookings(BookingQuery, PagingParams, SalesContext)
Operation can be used to query bookings.
/bookings:query-bookable-items [GET]

queryBookableItems(BookableItemQuery, SalesContext)
Operation can be used to query bookable items.
/bookings/bookable-items/domain-extensions [GET]

getBookableItemDomainExtensions(BookableItemID, SalesContext)
/bookings/bookable-items/appendixes [GET]

getBookableItemApendixes(BookableItemID, SalesContext)
Operation returns the bookable item appendixes of the objects with the passed IDs.

This operation is only intended for internal purposes and does not belong to the public part of the API.


Deprecations

Package ch.voev.nova.booking.datatypes

No deprecations published.


Package ch.voev.nova.booking.servicemodel


Classes with Deprecations


Type Attribute Description Deprecated since Planned to be removed
CheckoutParameterValue
code Instead of the code of a checkout parameter the link to the master data entity needs to be provided in the future. So please set checkoutParameterDefinitioninstead. 2.4.0 PI 22


Package ch.voev.nova.booking.masterdata

No deprecations published.


Package ch.voev.nova.booking.events

No deprecations published.