SavePromotions [5.16r2+]
Create new promotions or update the existing promotions details at a location.
Request Parameters
-
BusinessDate
DateTime?— The BusinessDate from when the change should apply. Default is the current BusinessDate of the location. -
IsImmediatePublish
bool— Whether or not the change should be applied immediately (will restart all registers at the location). -
ChangesetName
string— Optionally provide a custom "changeset" name. If the value is not passed, a default "changeset" name is created. -
PromotionsCollection
Array of Promotions— Specify one or more Promotion objects you would like to create or updatePromotion Properties
-
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
-
Response Parameters
-
Message
string— Returns a PAR POS Error message if the request did not go through. Otherwise, this field will be null. -
ResultCode
int— Returns one of the following:- 0 — Success
- 1 — Unknown Error
- 2 — Invalid Request
- 3 — Server Unavailable
- 4 — Access Denied
-
SaveResults
Array of SavePromotionsResult— Contains details on whether or not the request has succeeded.SavePromotionsResult Properties
- Id
int— The new generated Id of a specific entity in the SavePromotions request - OriginalId
int— The original Id of a specific entity passed into the SavePromotions request - ValidationMessages
List<string>— Details if the request was unsuccessful
- Id
- Type: stringS
O A P Action required
SOAP envelope for SavePromotions request containing promotion details.
- text/xml; charset=utf-8
curl --request POST \
--url 'https://{server_name_goes_here}.parpos.com/Settings2.svc?SavePromotions' \
--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/SavePromotions"' \
--data '<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:v2="http://www.brinksoftware.com/webservices/settings/v2"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header/>
<soapenv:Body>
<v2:SavePromotions>
<v2:request>
<v2:PromotionsCollection>
<v2:Promotions i:type="v2:BogoPromotion">
<v2:Id>-1</v2:Id>
<v2:Name>Bogo-New Promotion111</v2:Name>
<v2:Qualifications>
<v2:PromotionQualification>
<v2:Id>-2</v2:Id>
<v2:Amount>10.0</v2:Amount>
<v2:ItemGroupId>4003530</v2:ItemGroupId>
<v2:Items/>
<v2:Type>ItemQuantity</v2:Type>
</v2:PromotionQualification>
</v2:Qualifications>
<v2:Qualify>true</v2:Qualify>
<v2:Type>Bogo</v2:Type>
<v2:DiscountedItemGroupId>4003530</v2:DiscountedItemGroupId>
</v2:Promotions>
</v2:PromotionsCollection>
</v2:request>
</v2:SavePromotions>
</soapenv:Body>
</soapenv:Envelope>'
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<SavePromotionsResponse xmlns="http://www.brinksoftware.com/webservices/settings/v2">
<SavePromotionsResult>
<Message>Success</Message>
<ResultCode>0</ResultCode>
<SaveResult>
<SavePromotionsResult>
<Id>780375799</Id>
<OriginalId>-1</OriginalId>
<ValidationMessages/>
</SavePromotionsResult>
</SaveResult>
</SavePromotionsResult>
</SavePromotionsResponse>
</s:Body>
</s:Envelope>