Package ch.voev.nova.coupon.masterdata

Types / Enumerations:


Types

AccountingInfo


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


AccountingInfoMasterData

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..*


CouponCreationDateBasedRedemptionPolicy

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.


CouponCreationDefinition


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


CouponCreationEntry


Type Details Details
Parent Class Discount


Properties / Associations

Name Type Multiplicity Constraints Description
couponCreationDefinition CouponCreationDefinition 1..1
couponReceiptAttributes CouponReceiptAttributes 1..1


CouponDataUnit

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.


CouponDefinition

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.


CouponReceiptAttributes


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


DatePeriodTravelRestriction


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.


Discount

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


DiscountCampaign


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.


DiscountCampaignMasterData

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..*


DiscountOffer

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


DiscountOfferMasterData

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..*


DiscountOfferVariant

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


FixedDiscount

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.


FixedPeriodRedemptionPolicy

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.


IssuerDefinedDiscount

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


JourneyDirectionRestriction

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


PercentageDiscount

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


RedemptionPolicy

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.


ResellerRestriction

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..*


StopRestriction

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..*


SubscriptionContractRestriction


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


SupplementCouponConfig

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..*


SupplementCouponMasterData

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..*


TravelRestriction

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


WeekdayTravelRestriction


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.