SavePriceChanges

Upsert a price change at a location for marking up or down an item's/items' base price. Please do not keep batch requests — single operation should be performed in a single request.

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.

  • PriceChanges Array of PriceChange — Specify one or more PriceChange objects you would like to create.

    PriceChange Properties
    • Days byte? — Returns a byte describing the days for this PriceChange:
    • 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 PriceChange

    • EndTime TimeSpan? — End time of this PriceChange

    • EnforceDateRanges boolTrue if StartDate and EndDate are enforced, False if not

    • EnforceDays boolTrue if Days are enforced, False if not

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

    • Id int — Unique Id of this PriceChange

    • IsActive boolTrue if this PriceChange is active, False if not

    • ItemPriceChanges Array of ItemPriceChange — Item price changes in this PriceChange

      ItemPriceChange Properties
      • ComponentPriceChanges Array of ComponentPriceChange — Component price changes for this ItemPriceChange (used for combo items)

        ComponentPriceChange Properties
        • ComponentId int — Maps to the Id of the ItemCompositeComponent for this ComponentPriceChange

        • ComponentItemPriceChanges Array of ComponentItemPriceChange — Component item price changes for this ComponentPriceChange

          ComponentItemPriceChange Properties
          • Id int — Unique Id of this ComponentItemPriceChange
          • ItemId int — Maps to the Id of the Item for this ComponentItemPriceChange
          • Price decimal? — New price for this Item within the component
        • Id int — Unique Id of this ComponentPriceChange

        • Price decimal? — New price for this component

      • Id int — Unique Id of this ItemPriceChange

      • ItemId int — Maps to the Id of the Item for this ItemPriceChange

      • Name string — Name of this ItemPriceChange

      • OriginalPrice decimal? — Original price of the Item before this PriceChange

      • Price decimal? — New price for this Item under this PriceChange

    • ModifierGroupPriceChanges[5.16r2+] Array of ModifierGroupPriceChange — Modifier group price changes in this PriceChange

      ModifierGroupPriceChange Properties
      • Id int — Unique Id of this ModifierGroupPriceChange

      • ModifierGroupId int — Maps to the Id of the ModifierGroup of this ModifierGroupPriceChange

      • ModifierGroupItemPriceChanges Array of ModifierGroupItemPriceChange — Modifier group item price changes of this ModifierGroupPriceChange

        ModifierGroupItemPriceChange Properties
        • Id int — Unique Id of this ModifierGroupItemPriceChange
        • ModifierGroupItemId int — Maps to the Id of the ModifierGroupItem for this ModifierGroupItemPriceChange
        • Price decimal? — Price of this ModifierGroupItemPriceChange
    • Name string — Name of this PriceChange

    • PriceChangeDestinations Array of PriceChangeDestination — Destinations in this PriceChange

      PriceChangeDestination Properties
      • DestinationId int — Maps to the Id of the Destination this PriceChange applies to
      • DestinationName string — Name of the Destination this PriceChange applies to
      • Id int — Unique Id of this PriceChangeDestination
    • StartDate DateTime? — Start date of this PriceChange

    • StartTime TimeSpan? — Start time of this PriceChange

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 SavePriceChangeResult — Contains details on whether or not the request has succeeded.

    SavePriceChangeResult Properties
    • Id int — Id assigned to the saved PriceChange (0 if the save failed)
    • OriginalId int — Original Id supplied in the request, used to correlate results to input
    • Errors Array of string — Error messages describing why the save failed; empty when successful
Headers
  • SOAPAction
    Type: string
    required
Body
required
application/json

SOAP envelope for SavePriceChanges request containing price change details.

Responses
  • text/xml; charset=utf-8
Request Example for post/SavePriceChanges
cURL
curl --request POST \
  --url 'https://{server_name_goes_here}.parpos.com/Settings2.svc?SavePriceChanges' \
  --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/SavePriceChanges"' \
  --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:SavePriceChanges>
        <v2:request>
          <v2:PriceChanges>
            <v2:PriceChange>
              <v2:Id>-1</v2:Id>
              <v2:Name>Happy Hour Pricing</v2:Name>
              <v2:IsActive>true</v2:IsActive>
              <v2:ItemPriceChanges>
                <v2:ItemPriceChange>
                  <v2:Id>-1</v2:Id>
                  <v2:ItemId>4004912</v2:ItemId>
                  <v2:Price>9.99</v2:Price>
                </v2:ItemPriceChange>
              </v2:ItemPriceChanges>
            </v2:PriceChange>
          </v2:PriceChanges>
        </v2:request>
      </v2:SavePriceChanges>
    </soapenv:Body>
  </soapenv:Envelope>'
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
    <SavePriceChangesResponse xmlns="http://www.brinksoftware.com/webservices/settings/v2">
      <SavePriceChangesResult>
        <Message>Success</Message>
        <ResultCode>0</ResultCode>
        <SaveResults>
          <SavePriceChangesResult>
            <Id>12345</Id>
            <OriginalId>-1</OriginalId>
            <Errors/>
          </SavePriceChangesResult>
        </SaveResults>
      </SavePriceChangesResult>
    </SavePriceChangesResponse>
  </s:Body>
</s:Envelope>