Outbound - TreazurePromoInfo (formerly known as RosPriceInfo)¶
This document outlines the structure and specifications for the export of promotions configured in the central system. Includes XML and JSON example.
Example¶
XML:
<?xml version="1.0" encoding="utf-8"?>
<TreazurePromoInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ReferenceDate="2025-05-23T00:00:00+02:00" ChainId="01"
xmlns="http://cowhills.nl/RosPriceInfo-1-0">
<ConditionalPromotions>
<Promotion Code="Opbergbox 5%" Type="FinancialPromotion" From="2019-07-31T00:00:00" To="2099-01-01T23:59:00" CardHolder="false">
<ActivePeriod Days="Mo Tu We Th Fr Sa Su" StartTime="00:00:00.0000000+02:00" EndTime="23:59:59.0000000+02:00" />
<Description LanCode="nl-NL">Stapelkorting op alle opbergboxen 5%</Description>
<Description LanCode="fr-FR">Reduction op alle opbergboxen 5%</Description>
<TreazureInfo>
<LongTerm>false</LongTerm>
</TreazureInfo>
<FilterGroups>
<FilterGroup Id="7040 Opbergboxen stapelkorting">
<Article Id="70401404" />
<Article Id="70401405" />
<Article Id="70401409" PluRule="NotAllowed" />
<Article Id="70401410" PluRule="NotAllowed" />
<Article Id="70401411" PluRule="NotAllowed" />
<Article Id="70401412" PluRule="NotAllowed" />
<Article Id="70401650" PluRule="NotAllowed" />
<Article Id="70401651" PluRule="NotAllowed" />
<Article Id="70401652" PluRule="NotAllowed" />
<Article Id="70401653" PluRule="NotAllowed" />
</FilterGroup>
</FilterGroups>
</Promotion>
<Promotion Code="Test_Bossflex_20231128" Type="FinancialPromotion" From="2023-11-28T00:00:00" To="2099-12-29T23:59:00" CardHolder="false">
<ActivePeriod Days="Mo Tu We Th Fr Sa Su" StartTime="00:00:00.0000000+02:00" EndTime="23:59:59.0000000+02:00" />
<Description LanCode="nl-NL">1+1 gratis</Description>
<TreazureInfo>
<Sticker LanCode="nl-NL">
<StickerTitle />
<StickerText>1+1 gratis</StickerText>
</Sticker>
<LongTerm>false</LongTerm>
</TreazureInfo>
<FilterGroups>
<FilterGroup Id="Test_Bossflex">
<Article Id="8796441706497" />
<Article Id="8796441739265" />
<Article Id="8796441673729" />
<Article Id="P100659845" />
<Article Id="P100068373" />
<Article Id="P100659844" />
</FilterGroup>
</FilterGroups>
<AssignedStores>
<Store Id="0002" />
<Store Id="0003" />
<Store Id="0004" />
<Store Id="0005" />
<Store Id="0006" />
<Store Id="0007" />
<Store Id="0008" />
</AssignedStores>
</Promotion>
</ConditionalPromotions>
</TreazurePromoInfo>
JSON:
{
"ConditionalPromotions": [
{
"ActivePeriod": {
"Days": "Mo, Tu, We, Th, Fr, Sa, Su",
"StartTime": "00:00:00.0000000",
"EndTime": "23:59:59.0000000"
},
"Description": [
{
"LanCode": "nl-NL",
"Value": "Stapelkorting op alle opbergboxen 5%"
},
{
"LanCode": "fr-FR",
"Value": "Reduction op alle opbergboxen 5%"
}
],
"TreazureInfo": {
"Sticker": [],
"LongTerm": false
},
"FilterGroups": [
{
"Article": [
{
"Id": "70401404"
},
{
"Id": "70401405"
},
{
"Id": "70401409",
"PluRule": "NotAllowed"
},
{
"Id": "70401410",
"PluRule": "NotAllowed"
},
{
"Id": "70401411",
"PluRule": "NotAllowed"
},
{
"Id": "70401412",
"PluRule": "NotAllowed"
},
{
"Id": "70401650",
"PluRule": "NotAllowed"
},
{
"Id": "70401651",
"PluRule": "NotAllowed"
},
{
"Id": "70401652",
"PluRule": "NotAllowed"
},
{
"Id": "70401653",
"PluRule": "NotAllowed"
}
],
"Id": "7040 Opbergboxen stapelkorting"
}
],
"Code": "Opbergbox 5%",
"Type": "FinancialPromotion",
"From": "2019-07-31T00:00:00",
"To": "2099-01-01T23:59:00",
"CardHolder": false
},
{
"ActivePeriod": {
"Days": "Mo, Tu, We, Th, Fr, Sa, Su",
"StartTime": "00:00:00.0000000",
"EndTime": "23:59:59.0000000"
},
"Description": [
{
"LanCode": "nl-NL",
"Value": "1+1 gratis"
}
],
"TreazureInfo": {
"Sticker": [
{
"StickerTitle": "",
"StickerText": "1+1 gratis",
"LanCode": "nl-NL"
}
],
"LongTerm": false
},
"FilterGroups": [
{
"Article": [
{
"Id": "8796441706497"
},
{
"Id": "8796441739265"
},
{
"Id": "8796441673729"
},
{
"Id": "P100659845"
},
{
"Id": "P100068373"
},
{
"Id": "P100659844"
}
],
"Id": "Test_Bossflex"
}
],
"AssignedStoresNew": {
"Store": [
{
"Id": "0002"
},
{
"Id": "0003"
},
{
"Id": "0004"
},
{
"Id": "0005"
},
{
"Id": "0006"
},
{
"Id": "0007"
},
{
"Id": "0008"
}
]
},
"Code": "Test_Bossflex_20231128",
"Type": "FinancialPromotion",
"From": "2023-11-28T00:00:00",
"To": "2099-12-29T23:59:00",
"CardHolder": false
}
],
"ReferenceDate": "2025-05-23T00:00:00+02:00",
"ChainId": "01"
}
TreazurePromoInfo Definition¶
| Field | Type | Optional | Comment |
|---|---|---|---|
| @ReferenceDate | datetime | Date and time reference for the promotion information | |
| @ChainId | string | ||
| ConditionalPromotions | Promotion[] |
Promotion Definition¶
| Field | Type | Optional | Comment |
|---|---|---|---|
| @Code | string | ||
| @Type | string (enum) | Identifies the type of promotion, see further down in this document a list of possible values. | |
| @From | datetime | The date and time when the promotion starts | |
| @To | datetime | The date and time when the promotion ends | |
| @CardHolder | boolean | Indicates whether the promotion is only valid when a customer card is registered on the transaction / basket | |
| ActivePeriod | ActivePeriod | Information about the moments during which the promotion is active within the period designated by the 'from' and 'to' attributes above | |
| Description | Description[] | The description of the promotion | |
| TreazureInfo | TreazureInfo | Information used to display supplementary details (e.g., banners). This information is maintained in rCOS | |
| FilterGroups | FilterGroup[] | ||
| AssignedStores | StoreAttributes | X | |
| LayerInfo | LayerInfo | Information about the configured promotion layer |
Possible Promotion Types¶
| PromotionType | Comment |
|---|---|
| FinancialPromotion | Financial benefit |
| ShippingCosts | Discount on shipping cost |
| IssueCoupon | Coupon issuance |
| Loyalty | Saving Points (Loyalty Program) |
| DiscountVoucher | Discount voucher issuance |
| Notification | Product notification |
| TypeValue | Generic type for custom behavior |
ActivePeriod Definition¶
| Field | Type | Optional | Comment |
|---|---|---|---|
| @Days | string | The days of the week when the promotion is active. (Format: 'Mo Tu We Th Fr Sa Su' days are separated by a space) | |
| @StartTime | time | The time of day the promotion becomes active | |
| @EndTime | time | The time of day the promotion becomes inactive |
Description Definition¶
| Field | Type | Optional | Comment |
|---|---|---|---|
| @LanCode | string | Language Code, Culture name (nl-NL, en-GB, fr-FR) | |
| Description | string |
TreazureInfo Definition¶
| Field | Type | Optional | Comment |
|---|---|---|---|
| Sticker | Sticker[] | X | |
| LongTerm | boolean | Indicates whether it is a long-term (permanent) promotion |
Sticker Definition¶
| Field | Type | Optional | Comment |
|---|---|---|---|
| @LanCode | string | Language Code, Culture name (nl-NL, en-GB, fr-FR) | |
| StickerTitle | string | ||
| StickerText | string |
FilterGroup Definition¶
| Field | Type | Optional | Comment |
|---|---|---|---|
| @Id | string | ||
| Article | ArticleOrGroup | X | Defines a article included in, or excluded from this filter group |
| Group | ArticleOrGroup | X | Defines a product group included in, or excluded from this filter group |
| TransactionAttribute | TransactionAttribute | X | Defines a transaction attribute (usually a voucher) included in this filter group |
| CouponDefinition | CouponDefinition | X | Defines a coupon definition included in this filter group |
ArticleOrGroup Definition¶
| Field | Type | Optional | Comment |
|---|---|---|---|
| @Id | string | The ID of the article or group (or a '*' when all article or groups are included) | |
| @Exclude | boolean | X | The ID of the article or group (or a '*' when all article or groups are included). False if omitted |
| @ColorId | string | X | The ID of the color of the article that is included or excluded. Or '*' when all colors of the product are included or excluded |
| @SizeId | string | X | The ID of the size of the article that is included or excluded. Or '*' when all sizes of the product are included or excluded |
| @PluRule | string (enum) | X | Required, NotAllowed |
| Attribute | Attribute | X |
Attribute Definition¶
| Field | Type | Optional | Comment |
|---|---|---|---|
| Type | string | ||
| Value | string |
TransactionAttribute Definition¶
| Field | Type | Optional | Comment |
|---|---|---|---|
| @Id | string | The ID of the transaction attribute (= Voucher) | |
| Attribute | Attribute | X |
CouponDefinition Definition¶
| Field | Type | Optional | Comment |
|---|---|---|---|
| @Id | string | The ID of the coupon definition | |
| @Type | string (enum) | X | Indicates the type of the coupon (Generic or Unique). Generic if omitted |
| Attribute | Attribute | X |
StoreAttributes Definition¶
| Field | Type | Optional | Comment |
|---|---|---|---|
| Id | string | ||
| Type | string | X | |
| Value | string | X |
LayerInfo Definition¶
| Field | Type | Optional | Comment |
|---|---|---|---|
| Name | string | ||
| Description | Description[] | ||
| Order | integer | Calculation order |
Schema¶
XSD
Legacy XSD (RosPriceInfo)
JSON
Version History¶
| Version | Available from ROS Version | Author | Comment |
|---|---|---|---|
| 1.0 | Ed de Jong | Initial document | |
| 1.1 | Stephan Geissler | Updated documentation with new values from XSD | |
| 1.2 | Stephan Geissler | Added layer info |