ch.voev.nova.coupon.masterdata
Types / Enumerations:
Type Details | Details |
---|---|
Parent Class | EntityVersion |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
name | String | 1..1 | @Size(min=0, max=255) | |
maxBudget | MoneyAmount | 0..1 | ||
owner | Organization | 1..1 | ||
isB2BAccounting | boolean | 1..1 |
Type is the entry point for all master data for accounting info objects.
Type Details | Details |
---|---|
Parent Class | EntityMasterData |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
accountingInfos | AccountingInfo | 0..* |
This redemption policy defines that the coupon can be redeemed for a certain timespan after it was created. The timespan is calculated based on the coupon creation date.
Type Details | Details |
---|---|
Parent Class | RedemptionPolicy |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
validity | Duration | 1..1 | Validity of the coupon is calculated based on the creation date of the coupon e.g. 3 months or 1 year starting from the coupons creation date. |
Type Details | Details |
---|---|
Parent Class | Discount |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
discountCampaign | DiscountCampaign | 1..1 | ||
discountOfferVariantId | DiscountOfferVariantID | 1..1 | ||
discountOffer | DiscountOffer | 1..1 |
Type Details | Details |
---|---|
Parent Class | Discount |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
couponCreationDefinition | CouponCreationDefinition | 1..1 | ||
couponReceiptAttributes | CouponReceiptAttributes | 1..1 |
Type represents the response when requesting data unit "Coupon". It contains all information about coupons from a master data perspective.
Please be aware that this data unit has logical data dependencies on the following data units: - OrganizationDataUnit - TariffDataUnit - ProductDataUnit
Depending on what you intend to do with the data it might required that you get those data units as well. Please also check the listed data units for their may be existing dependencies.
Type Details | Details |
---|---|
Parent Class | DataUnit |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
campaignMasterData | DiscountCampaignMasterData | 1..1 | @Valid | |
discountOfferMasterData | DiscountOfferMasterData | 1..1 | @Valid | |
accountingInfoMasterData | AccountingInfoMasterData | 1..1 | @Valid | |
supplementCouponMasterData | SupplementCouponMasterData | 1..1 | @Valid | |
discountCampaigns | DiscountCampaign | 0..* | derived | List with all discount campaign objects. |
discountOffers | DiscountOffer | 0..* | derived | List with all discount offer objects. |
accountingInfos | AccountingInfo | 0..* | derived | List with all accounting info objects. |
supplementCouponConfigs | SupplementCouponConfig | 0..* | derived | List with all supplement coupon config objects. |
Type defines the rules that have to be applied when generating coupon codes based on this coupon definition.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
crypticCode | boolean | 1..1 | Attribute defines if the coupons that are generated based on this coupon definition have a cryptic code or not. In case of non-cryptic codes, a human friendly representation of the code has to be provided. | |
humanFriendlyCode | String | 0..1 | @Size(min=0, max=255) | Attribute contains a human friendly coupon code. The attribute is only set in case that "crypticCode" is false. |
Type Details | Details |
---|---|
Parent Class | Discount |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
couponCodeAttribute | ReceiptAttribute | 1..1 | ||
couponValidFromAttribute | ReceiptAttribute | 1..1 | ||
couponValidThroughAttribute | ReceiptAttribute | 1..1 | ||
couponValuePercentageAttribute | ReceiptAttribute | 0..1 | ||
couponValueChfAttribute | ReceiptAttribute | 0..1 |
Type Details | Details |
---|---|
Parent Class | TravelRestriction |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
periods | DatePeriod | 1..* | Period when issued coupons can be used for traveling. |
Abstract base type for all kinds of different types of discounts that are supported.
Type Details | Details |
---|---|
Abstract | true |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|
Type Details | Details |
---|---|
Parent Class | EntityVersion |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
internalName | String | 1..1 | @Size(min=0, max=255) | The internal name of the campaign. |
name | LocalizedString | 1..1 | Name of the campaign in multiple languages. | |
owner | Organization | 1..1 | The owner of the campaign. | |
discountOffers | DiscountOffer | 0..* | Reference to all discount offers that belong to this campaign. | |
hasMarketingCampaign | boolean | 1..1 | Marker for marketing campaigns. |
Type is the entry point for all master data for discount campaigns.
Type Details | Details |
---|---|
Parent Class | EntityMasterData |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
campaigns | DiscountCampaign | 0..* |
Type represents a so called discount offer. A discount offer describes a possible discount that is offered to customers. Discount offers are distributed using coupon code (cryptic or human readable ones). Every discount offer can define restrictions about the travel periods of trips for which coupons can be redeemed. A discount offer may have multiple variants e.g. we want to grant different discount amount for 1st and 2nd class.
Type Details | Details |
---|---|
Parent Class | EntityVersion |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
internalName | String | 1..1 | @Size(min=0, max=255) | The internal name of the discount offer. |
name | LocalizedString | 1..1 | ||
variants | DiscountOfferVariant | 1..* | Variants of the discount offer. | |
couponDefinition | CouponDefinition | 1..1 | ||
redemptionPolicy | RedemptionPolicy | 1..1 | @Valid | |
productRestrictions | Product | 0..* | Reference to products for which this discount offer is usable. If the list is empty then there are no restrictions concerning the products for which coupons based on this discount offer can be used for. | |
travelPeriodRestriction | TravelRestriction | 0..1 | Reference to travel restrictions that might apply to coupons that are based on this discount offer. | |
owner | Organization | 1..1 | ||
journeyDirectionRestriction | JourneyDirectionRestriction | 0..1 | ||
stopRestriction | StopRestriction | 0..1 | ||
resellerRestrictions | ResellerRestriction | 0..* | ||
resellerRestrictionGroups | ResellerRestrictionGroup | 0..* | ||
isOfferForNonNovaProduct | boolean | 1..1 | Denotes if this is an offer for Non-NOVA products. If the value is "true" then the following restrictions are always emtpy: - productRestriction - classRestrictions - customerSegmentRestrictions - travelPeriodRestriction - stopRestrictions - journeyDirectionRestriction and the discount offer has exactly 1 variant. | |
restrictToBirthdate | boolean | 1..1 | ||
zoneRestriction | ZoneRestriction | 0..1 | ||
subscriptionContractRestriction | SubscriptionContractRestriction | 0..1 |
Type is the entry point for all master data for discount offers.
Type Details | Details |
---|---|
Parent Class | EntityMasterData |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
discountOffers | DiscountOffer | 0..* |
Type represents a concrete variant of a discount offer. Discount offer variants can be used to define different discount amounts for different travel classes, customer segments etc.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
accountingInfo | AccountingInfo | 1..1 | AccountingInfo that belongs to this discount offer. | |
classRestrictions | TicketClass | 0..* | Restrictions on the class, e.g. only possible to use it for the second class. | |
customerSegmentRestrictions | CustomerSegment | 0..* | Restrictions on the customer segment, e.g. only possible to use it for the customer segment VOLLPREIS. If there are more than one customer segments defined then this means that the discount offer is restricted to one of them (OR logic not AND). | |
discount | Discount | 1..1 | Discount that is granted for this discount offer. | |
variantID | DiscountOfferVariantID | 1..1 |
Type is used to define explicit discounts that are granted with a coupon.
Type Details | Details |
---|---|
Parent Class | Discount |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
discountAmount | MoneyAmount | 1..1 | Money amount that is granted to a customer by a coupon. |
This redemption policy defines a fixed period within which a coupon can be redeemed no matter when the coupon was created.
Type Details | Details |
---|---|
Parent Class | RedemptionPolicy |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
period | DatePeriod | 1..1 | Fixed period within which coupons that belong to the discount offer can be redeemed. |
Type represents an absolute discount where the issuer of a coupon has to define the discount amount explicitly.
Type Details | Details |
---|---|
Parent Class | Discount |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|
Restricts the allowed journey directions (DE: "Fahrart") which are allowed when redeeming the coupon. Remark: works only with DV products, restriction is ignored for other products.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
journeyDirection | JourneyDirection | 1..1 |
Type is used to define a percentage discount.
Type Details | Details |
---|---|
Parent Class | Discount |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
discountPercent | java.math.BigDecimal | 1..1 | @Min(minValue=0) @Max(maxValue=100) | A value of 30 means that the customer gets an discount of 30%. So it has to paid 30% less than the regular price. |
priceRoundingRule | RoundingRule | 1..1 | @Valid |
The redemption policy defines the rules how coupons that base on this discount offer can be redeemed.
Type Details | Details |
---|---|
Abstract | true |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
expiresAfterOneUsage | boolean | 1..1 | Property defines if the coupon expires after one usage. | |
maxItemsTotal | Integer | 0..1 | Property defines how many items (DE: Leistungen) can be bought with this coupon. An empty value means unlimited. | |
allowCumulativeRedemption | boolean | 1..1 | Property defines whether the coupon can be redeemed together with other coupons in the same transaction. |
Restricts the redemption of coupons to specific resellers (DE: Leistungsvermittler), channels (DE: Kanal) or sales/distribution points (DE: Verkaufsstelle/Vertriebspunkt). Combination semantics: multiple attributes within the same restriction = AND, multiple restrictions = OR.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
salesPoint | ServicePoint | 0..1 | ||
distributionPoint | ServicePoint | 0..1 | ||
reseller | Reseller | 0..1 | ||
channels | Channel | 0..* |
Restricts the allowed origin/destination stops which are allowed when redeeming the coupon.
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
allowedOrigins | Stop | 0..* | ||
allowedDestinations | Stop | 0..* |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
allowedSubscriptionContractFamilyTypes | SubscriptionContractFamilyType | 1..* | ||
exclusiveForSubscriptionContract | boolean | 1..1 | If 'true' then this coupon can only be redeemed when purchasing subscription contracts |
Declares a coupon "upsell" to issue additional coupons when the customer buys certain products on NOVA.
Type Details | Details |
---|---|
Parent Class | EntityVersion |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
name | String | 1..1 | @Size(min=0, max=255) | |
products | Product | 1..* | ||
couponsToBeCreated | CouponCreationEntry | 1..* |
Type is the entry point for all master data for accounting info objects.
Type Details | Details |
---|---|
Parent Class | EntityMasterData |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
supplementCouponConfigs | SupplementCouponConfig | 0..* |
Travel restrictions can be used to define restrictions on the usage of coupons. This can either be a limitation on certain weekdays or on date-time periods.
Type Details | Details |
---|---|
Abstract | true |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|
Type Details | Details |
---|---|
Parent Class | TravelRestriction |
Properties / Associations
Name | Type | Multiplicity | Constraints | Description |
---|---|---|---|---|
weekdays | Weekday | 1..* | Weekdays on which issued coupons can be used for traveling. |