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 update

    Promotion Properties
    • AllowLaterOrderReductions boolTrue if other promotions and discounts can be applied to orders that already have this promotion applied, False if not

    • AllowPriorItemPromotions boolTrue if this promotion can be applied to items that already have a promotion applied, False if not

    • AllowPriorModifierPromotions boolTrue if this promotion can be applied to modifiers that already have a promotion applied, False if not

    • AllowPriorOrderReductions boolTrue 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
    • 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 boolTrue if StartDate and EndDate are enforced, False if not

    • EnforceDays boolTrue if Days are enforced, False if not

    • EnforceMaximumAmount boolTrue if Maximum Amount for a order is enforced, False if not

    • EnforceMaximumPerOrder boolTrue if Maximum number of promotions that can be applied for a order is enforced, False if not

    • EnforceTimeRange boolTrue if StartTime and EndTime are enforced, False if not

    • Id int — Unique Id of this Promotion

    • IsActive boolTrue if this Promotion is active, False if inactive

    • IsApprovalNeeded boolTrue if this Promotion can only be applied by an authorized employee, False if not

    • IsCodeRequired boolTrue if Promotion can only be applied be entering or scanning a code, False if not

    • LimitDestinations boolTrue if Promotion is to be applied for a specific destination, False if not

    • LimitSections boolTrue if Promotion is to be applied for a specific section, False if not

    • LimitTerminals boolTrue 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 promotion

      PromotionQualification 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 PromotionQualification

        PromotionQualificationItem Properties
        • Id int — Unique Id of this PromotionQualificationItem
        • ItemId int — Maps to the Id of the Item that qualifies for this Promotion
      • Type QualificationType — Qualification type (e.g. ItemGroup, Item, Amount)

    • Qualify boolTrue if additional items must be ordered before the qualifying item can be discounted, False if not

    • RequireSingleUseCode boolTrue 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 Promotion

        PromotionEligibleItem Properties
        • Id int — Unique Id of this PromotionEligibleItem
        • ItemId int — ItemId of the PromotionEligibleItem
      • 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 Promotion

        PromotionEligibleItemGroup 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 Promotion

          PromotionEligibleItem Properties
          • Id int — Id of this PromotionEligibleItem
          • ItemId int — ItemId of the PromotionEligibleItem
      • DiscountedItemIds Array of PromotionEligibleItem — Eligible Items in this Promotion

        PromotionEligibleItem Properties
        • Id int — Unique Id of this PromotionEligibleItem
        • ItemId int — ItemId of the PromotionEligibleItem
      • 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 Promotion

        PromotionEligibleItem 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 Promotion

          PromotionEligibleItem Properties
          • Id int — Id of this PromotionEligibleItem
          • ItemId int — ItemId of the PromotionEligibleItem
      • DiscountedItemIds Array of PromotionEligibleItem — Eligible Items in this Promotion

        PromotionEligibleItem Properties
        • Id int — Unique Id of this PromotionEligibleItem
        • ItemId int — ItemId of the PromotionEligibleItem
      • 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 Promotion

        PromotionEligibleItem Properties
        • Id int — Unique Id of this PromotionEligibleItem
        • ItemId int — ItemId of the PromotionEligibleItem
      • ReductionType GiftCardPromotionReductionType — Returns one of the following: Percentage , Amount , NewPrice

    • ValidDestinations Array of PromotionDestination — Destinations to which this Promotion must be applied

      PromotionDestination Properties
      • Id int — Unique Id of this PromotionDestination
      • DestinationId int — Maps to the Id of the Destination this Promotion is valid for
    • ValidSections Array of PromotionSection — Sections to which this Promotion must be applied

      PromotionSection Properties
      • Id int — Unique Id of this PromotionSection
      • SectionId int — Maps to the Id of the Section this Promotion is valid for
    • 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
Headers
  • SOAPAction
    Type: string
    required
Body
required
application/json

SOAP envelope for SavePromotions request containing promotion details.

Responses
  • text/xml; charset=utf-8
Request Example for post/SavePromotions
cURL
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>