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 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
Headers
  • SOAPAction
    Type: string
    required
Body
required
application/json

SOAP envelope for GetPromotions request. Optionally filter by PromotionIds.

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