GetPromotions
This call is to retrieve an array of Promotions objects for the location.
Request Parameters
- PromotionIds
Array of int— Depending on the PromotionId(-s) passed in request the response will return the details of that(those) promotion(-s)
Response Parameters
-
AllowLaterOrderReductions
bool— True if other promotions and discounts can be applied to orders that already have this promotion applied, False if not -
AllowPriorItemPromotions
bool— True if this promotion can be applied to items that already have a promotion applied, False if not -
AllowPriorModifierPromotions
bool— True if this promotion can be applied to modifiers that already have a promotion applied, False if not -
AllowPriorOrderReductions
bool— True if this promotion can be applied to orders that already have a promotion or discount applied, False if not -
AlternateId
string— AlternateId for this promotion provided for customer integration -
BarCode
string— Bar code value that can be scanned to apply the promotion when not using single use codes -
Code
string— Code that can be manually entered to apply the promotion when not using single use codes -
CustomFields
Array of CustomFields— Dictionary of User Defined key value pair.CustomField Properties
- Id
int— Unique Id of this CustomField - FieldName
string— Name of this CustomField - Value
string— Value of this CustomField
- Id
-
Days
Days— Returns a byte describing the days this Promotion is available:- 0 = None
- 1 = Sunday
- 2 = Monday
- 4 = Tuesday
- 8 = Wednesday
- 16 = Thursday
- 32 = Friday
- 64 = Saturday
If multiple days are selected, binary addition is used in determining this value.
-
EndDate
DateTime?— End date of this Promotion -
EndTime
TimeSpan?— End time for this Promotion -
EnforceDateRange
bool— True if StartDate and EndDate are enforced, False if not -
EnforceDays
bool— True if Days are enforced, False if not -
EnforceMaximumAmount
bool— True if Maximum Amount for a order is enforced, False if not -
EnforceMaximumPerOrder
bool— True if Maximum number of promotions that can be applied for a order is enforced, False if not -
EnforceTimeRange
bool— True if StartTime and EndTime are enforced, False if not -
Id
int— Unique Id of this Promotion -
IsActive
bool— True if this Promotion is active, False if inactive -
IsApprovalNeeded
bool— True if this Promotion can only be applied by an authorized employee, False if not -
IsCodeRequired
bool— True if Promotion can only be applied be entering or scanning a code, False if not -
LimitDestinations
bool— True if Promotion is to be applied for a specific destination, False if not -
LimitSections
bool— True if Promotion is to be applied for a specific section, False if not -
LimitTerminals
bool— True if Promotion is to be applied for a specific terminal, False if not -
MarketingCampaignId
int?— Id of Marketing campaign to assign to the order -
MaximumAmount
decimal?— Maximum total dollar value of the promotion per order -
MaximumPerOrder
int?— Maximum number of times the promotion can be applied to a single order -
Name
string— Name of this Promotion -
PrintedName
string— Name to be printed on the order receipt -
Priority
ushort— Sort priority of this Promotion -
Qualification
Array of PromotionQualification— Qualifications in this promotionPromotionQualification Properties
-
Amount
decimal?— Required amount for this PromotionQualification -
Id
int— Id of this PromotionQualification -
ItemGroupId
int— Maps to the Id of the ItemGroup that qualifies items for this Promotion -
Items
Array of PromotionQualificationItem— Items that qualify for this PromotionQualificationPromotionQualificationItem Properties
- Id
int— Unique Id of this PromotionQualificationItem - ItemId
int— Maps to the Id of the Item that qualifies for this Promotion
- Id
-
Type
QualificationType— Qualification type (e.g. ItemGroup, Item, Amount)
-
-
Qualify
bool— True if additional items must be ordered before the qualifying item can be discounted, False if not -
RequireSingleUseCode
bool— True if Promotion can only be applied by using a single use promotion code, False if not -
StartDate
DateTime?— Start date of this Promotion -
StartTime
TimeSpan?— Start time of this Promotion -
Type
PromotionType— Returns one of the following:- Bogo
- OrderReduction
- Coupon
- GiftCard
- Combo(NO LONGER USED)
BogoPromotion Properties
-
Amount
decimal?— Amount of this Promotion -
AutomaticallyApply
bool— True if automatically apply the Promotion when qualifying items are ordered, False if not -
CanSpanMultipleSeats
bool— True if an automatically-applied Promotion should look at all items in an order, False if only for items for a specific seat before being applied -
DiscountedItemGroupId
int— Id of the Item group containing the items that qualify for the Promotion -
DiscountedItemIds
Array of PromotionEligibleItem— Eligible Items in this PromotionPromotionEligibleItem Properties
- Id
int— Unique Id of this PromotionEligibleItem - ItemId
int— ItemId of the PromotionEligibleItem
- Id
-
FreeItemType
FreeItemType?— Returns one of the following: GreatestPrice , LowestPrice -
PricingMethod
BogoPricingMethod— Returns one of the following: Free , DiscountedPrice , PercentDiscount ,DollarDiscount
OrderReductionPromotion Properties
-
Amount
decimal?— Amount of this Promotion -
AppliesToComboComponents
bool— True if Promotion applies to combo components, False if not -
AppliesToModifiers
bool— True if Promotion applies to modifiers, False if not -
AutomaticallyApply
bool— True if automatically apply the Promotion when qualifying items are ordered, False if not -
CanSpanMultipleSeats
bool— True if an automatically-applied Promotion should look at all items in an order, False if only for items for a specific seat before being applied -
DiscountedItemCount
int?— Maximum number of items that can be reduced by the promotion if LimitDiscountedItems is set to true -
DiscountedItemGroupId
int— Id of the Item group containing the items that qualify for the Promotion -
DiscountedItemGroups
Array of PromotionEligibleItemGroup— Eligible ItemGroups in this PromotionPromotionEligibleItemGroup Properties
-
Id
int— Unique Id of this PromotionEligibleItemGroup -
ItemGroupId
int— ItemId of the PromotionEligibleItemGroup -
Limit
byte— Limit of the PromotionEligibleItemGroup -
EligibleItems
Array of PromotionEligibleItem— Eligible Items in this PromotionPromotionEligibleItem Properties
- Id
int— Id of this PromotionEligibleItem - ItemId
int— ItemId of the PromotionEligibleItem
- Id
-
-
DiscountedItemIds
Array of PromotionEligibleItem— Eligible Items in this PromotionPromotionEligibleItem Properties
- Id
int— Unique Id of this PromotionEligibleItem - ItemId
int— ItemId of the PromotionEligibleItem
- Id
-
DiscountedItemType
FreeItemType?— Returns one of the following: GreatestPrice , LowestPrice -
LimitDiscountedItems
bool— True if want to limit the number of items that can be reduced by the Promotion, False if not -
OrderMinimum
decimal?— Minimum order amount required to apply this Promotion -
OrderPromotionsRequiredItems
bool— True if order items needs to be selected first for applying Promotion, False if not -
ReductionType
OrderReductionType— Returns one of the following: Percentage , Amount , NewPrice , NewIndividualPrice , NewTotalPrice
CouponPromotion Properties
-
Amount
decimal?— Amount of this Promotion -
Application
CouponApplication— Returns one of the following: UserSelects , SystemSelects -
AppliesToModifiers
bool— True if Promotion applies to modifiers, False if not -
CouponType
CouponType— Returns one of the following: Percentage , DollarAmount -
DiscountedItemGroupId
int— Id of the Item group containing the items that qualify for the Promotion -
DiscountedItemGroups
Array of PromotionEligibleItemGroup— Eligible ItemGroups in this PromotionPromotionEligibleItem Properties
-
Id
int— Unique Id of this PromotionEligibleItemGroup -
ItemGroupId
int— ItemId of the PromotionEligibleItemGroup -
Limit
byte— Limit of the PromotionEligibleItemGroup -
EligibleItems
Array of PromotionEligibleItem— Eligible Items in this PromotionPromotionEligibleItem Properties
- Id
int— Id of this PromotionEligibleItem - ItemId
int— ItemId of the PromotionEligibleItem
- Id
-
-
DiscountedItemIds
Array of PromotionEligibleItem— Eligible Items in this PromotionPromotionEligibleItem Properties
- Id
int— Unique Id of this PromotionEligibleItem - ItemId
int— ItemId of the PromotionEligibleItem
- Id
-
DiscountedItemLimit
int— Maximum number of items that can be reduced by the promotion -
Distribution
CouponDistribution— Returns one of the following: AcrossItems , EachItem
GiftCardPromotion Properties
-
Amount
decimal?— Amount of this Promotion -
AutomaticallyApply
bool— True if automatically apply the Promotion when qualifying items are ordered, False if not -
CanSpanMultipleSeats
bool— True if an automatically-applied Promotion should look at all items in an order, False if only for items for a specific seat before being applied -
DiscountedItemGroupId
int— Id of the Item group containing the items that qualify for the Promotion -
DiscountedItemIds
Array of PromotionEligibleItem— Eligible Items in this PromotionPromotionEligibleItem Properties
- Id
int— Unique Id of this PromotionEligibleItem - ItemId
int— ItemId of the PromotionEligibleItem
- Id
-
ReductionType
GiftCardPromotionReductionType— Returns one of the following: Percentage , Amount , NewPrice
-
ValidDestinations
Array of PromotionDestination— Destinations to which this Promotion must be appliedPromotionDestination Properties
- Id
int— Unique Id of this PromotionDestination - DestinationId
int— Maps to the Id of the Destination this Promotion is valid for
- Id
-
ValidSections
Array of PromotionSection— Sections to which this Promotion must be appliedPromotionSection Properties
- Id
int— Unique Id of this PromotionSection - SectionId
int— Maps to the Id of the Section this Promotion is valid for
- Id
-
ValidTerminalTypes
ValidTerminalTypes— Returns one of the following:- None
- Register
- CustomerPortal
- Kiosk
- CustomerPortalMobile
- WebService
- MobileApp
- Type: stringS
O A P Action required
SOAP envelope for GetPromotions request. Optionally filter by PromotionIds.
- text/xml; charset=utf-8
curl --request POST \
--url 'https://{server_name_goes_here}.parpos.com/Settings2.svc?GetPromotions' \
--header 'Content-Type: text/xml; charset=utf-8' \
--header 'AccessToken: your-access-token' \
--header 'LocationToken: your-location-token' \
--header 'SOAPAction: "http://www.brinksoftware.com/webservices/settings/v2/ISettingsWebService2/GetPromotions"' \
--data '<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v2="http://www.brinksoftware.com/webservices/settings/v2">
<soapenv:Header/>
<soapenv:Body>
<v2:GetPromotions>
<v2:request/>
</v2:GetPromotions>
</soapenv:Body>
</soapenv:Envelope>'
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<GetPromotionsResponse xmlns="http://www.brinksoftware.com/webservices/settings/v2">
<GetPromotionsResult>
<Collection>
<Promotions i:type="BogoPromotion" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<AllowLaterOrderReductions>true</AllowLaterOrderReductions>
<AllowPriorItemPromotions>false</AllowPriorItemPromotions>
<AllowPriorModifierPromotions>false</AllowPriorModifierPromotions>
<AllowPriorOrderReductions>false</AllowPriorOrderReductions>
<AlternateId>BOGO-001</AlternateId>
<BarCode>BOGO-BURGER-001</BarCode>
<Code>BOGO1</Code>
<CustomFields>
<CustomField>
<FieldName>Campaign</FieldName>
<Id>1</Id>
<Value>Summer 2024</Value>
</CustomField>
</CustomFields>
<Days>62</Days>
<EndDate>2025-12-31T00:00:00</EndDate>
<EndTime>PT23H0M0S</EndTime>
<EnforceDateRange>true</EnforceDateRange>
<EnforceDays>true</EnforceDays>
<EnforceMaximumAmount>false</EnforceMaximumAmount>
<EnforceMaximumPerOrder>true</EnforceMaximumPerOrder>
<EnforceTimeRange>true</EnforceTimeRange>
<Id>50</Id>
<IsActive>true</IsActive>
<IsApprovalNeeded>false</IsApprovalNeeded>
<IsCodeRequired>false</IsCodeRequired>
<LimitDestinations>true</LimitDestinations>
<LimitSections>false</LimitSections>
<LimitTerminals>false</LimitTerminals>
<MarketingCampaignId>1</MarketingCampaignId>
<MaximumAmount i:nil="true"/>
<MaximumPerOrder>2</MaximumPerOrder>
<Name>Buy 1 Get 1 Burger</Name>
<PrintedName>BOGO Burger</PrintedName>
<Priority>10</Priority>
<Qualifications>
<PromotionQualification>
<Amount i:nil="true"/>
<ItemGroupId>5</ItemGroupId>
<Items>
<PromotionQualificationItem>
<ItemId>101</ItemId>
</PromotionQualificationItem>
</Items>
<Type>ItemGroup</Type>
</PromotionQualification>
</Qualifications>
<Qualify>true</Qualify>
<RequireSingleUseCode>false</RequireSingleUseCode>
<StartDate>2024-01-01T00:00:00</StartDate>
<StartTime>PT11H0M0S</StartTime>
<Type>Bogo</Type>
<ValidDestinations>
<PromotionDestination>
<DestinationId>1</DestinationId>
</PromotionDestination>
</ValidDestinations>
<ValidSections/>
<ValidTerminalTypes>Register</ValidTerminalTypes>
<Amount>0</Amount>
<AutomaticallyApply>false</AutomaticallyApply>
<CanSpanMultipleSeats>false</CanSpanMultipleSeats>
<FreeItemType>SameItem</FreeItemType>
<PricingMethod>FreeItem</PricingMethod>
</Promotions>
<Promotions i:type="OrderReductionPromotion" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<AllowLaterOrderReductions>false</AllowLaterOrderReductions>
<AllowPriorItemPromotions>true</AllowPriorItemPromotions>
<AllowPriorModifierPromotions>true</AllowPriorModifierPromotions>
<AllowPriorOrderReductions>false</AllowPriorOrderReductions>
<AlternateId>ORD-001</AlternateId>
<BarCode/>
<Code>SAVE10</Code>
<CustomFields/>
<Days i:nil="true"/>
<EndDate i:nil="true"/>
<EndTime i:nil="true"/>
<EnforceDateRange>false</EnforceDateRange>
<EnforceDays>false</EnforceDays>
<EnforceMaximumAmount>false</EnforceMaximumAmount>
<EnforceMaximumPerOrder>false</EnforceMaximumPerOrder>
<EnforceTimeRange>false</EnforceTimeRange>
<Id>51</Id>
<IsActive>true</IsActive>
<IsApprovalNeeded>false</IsApprovalNeeded>
<IsCodeRequired>true</IsCodeRequired>
<LimitDestinations>false</LimitDestinations>
<LimitSections>false</LimitSections>
<LimitTerminals>false</LimitTerminals>
<MarketingCampaignId i:nil="true"/>
<MaximumAmount i:nil="true"/>
<MaximumPerOrder i:nil="true"/>
<Name>10% Off Order</Name>
<PrintedName>10% Off</PrintedName>
<Priority>20</Priority>
<Qualifications/>
<Qualify>false</Qualify>
<RequireSingleUseCode>false</RequireSingleUseCode>
<StartDate i:nil="true"/>
<StartTime i:nil="true"/>
<Type>OrderReduction</Type>
<ValidDestinations/>
<ValidSections/>
<ValidTerminalTypes>None</ValidTerminalTypes>
</Promotions>
</Collection>
<ValidationMessages/>
</GetPromotionsResult>
</GetPromotionsResponse>
</s:Body>
</s:Envelope>