Settings2.svc
Calls
- DeleteBusinessHours - Delete existing business hours of a location.
- DeleteDestinations - Delete existing destinations at a location.
- DeleteExceptionDates - Delete existing exception dates of a location.
- DeleteItems - Delete existing items at a location.
- DeletePriceChanges - Remove a price change at a location.
- DeleteTaxes - Delete existing taxes at a location.
- GetBrands - Retrieve the available brands containing set of items that were assigned to a brand.
- GetBusinessHours - Retrieve the business hours for a location along with any exceptions.
- GetCharities - Retrieve the list of charities for a location.
- GetDestinations - Retrieves the list of the destinations for a location.
- GetEmployees - Retrieve the Employees for this location.
- GetFutureOrderingOptions - Retrieve the Future Ordering Options for this location.
- GetItems - Retrieve the list of items for a location.
- GetJobs - Retrieve the Jobs employees can clock in under for this location.
- GetKitchenQueues - Retrieve the Kitchen Queues for this location.
- GetLastModifiedTime - Retrieve the last time the Settings and/or Employees were modified.
- GetMenu - What is included in a particular Menu?
- GetOnlineOrderingMenuOptions - Retrieve the Id of the Online Ordering Menu and/or other Alternate Menus.
- GetPermissions - Retrieve the Permissions at this location.
- GetPriceChanges - Retrieve the Price Changes that have occurred at this location.
- GetPromotions - Retrieve the list of promotions for a location.
- GetSecurityLevels - Retrieve the Security Levels at this location.
- **GetSettings - Retrieve multiple or all the settings at this location.
- GetTables - Retrieve the Tables at this location.
- GetTaxes - Retrieve the list of taxes for a location.
- SaveBusinessHours - Create or update the existing business hours of a location.
- SaveDestinations - Create new destination or update the existing destination details.
- SaveEmployees - Create or update one or more Employees at a location.
- SaveExceptionDates - Create or update the existing exception dates of a location.
- SaveItems - Create new items or update the existing item details at a location.
- SavePriceChanges - Upsert a price change at a location for marking up or down prices.
- SaveTaxes - Create new taxes or update the existing taxes details at a location.
- UpdateItemPrice - Update an item's price at a location.
**Our recommended approach to obtain settings (currently only supports Settings2.svc) is using GetSettings call so that you can grab all the newly upgraded settings.
Sending a Request to Settings2.svc
All calls to Settings2.svc require the AccessToken and the LocationToken in the HTTP Web Request Headers of the request. With the exceptions of GetMenu, GetSettings, and SaveEmployees, no other parameters in the body are necessary.
Settings2.svc Endpoint
Endpoint
https://{{server}}.brinkpos.net/Settings2.svc
HTTP Web Request Headers
Header Name
Header Value
AccessToken
{{AccessToken}}
LocationToken
{{LocationToken}}
Receiving a Response from Settings2.svc
All responses from the Settings2.svc follow the format below, with the exceptions of GetFutureOrderingOptions, GetLastModifiedTime, GetMenu, GetOnlineOrderingMenuOptions, GetSettings, and SaveEmployees, which are outlined in their respective sections.
Settings2.svc Response
Data Name
Data Type
Data Description
Message
string
Returns a Brink Error message if the request did not go through. Otherwise, this field will be null.
ResultCode
int
Returns one of the following:
- 0 = Request went through successfully
- 1 = Request returned an unknown error
- 2 = Request was not valid
- 3 = Server is currently unavailable and unable to receive the request
- 4 = Access Denied - check that your AccessToken and LocationToken are correct and you are properly provisioned
Collection
Array of Settings
Array of the appropriate Settings type, depending on the call
This call is to remove business hours of a location . Please do not keep batch size of more than 20, i.e. the number of operations in a single request should not be more than 20.
DeleteBusinessHours Request
Data Name
Data Type
Data Description
BusinessDate
DateTime?
The BusinessDate from when the change should apply. Default is the current BusinessDate of the location
ChangesetName
string
Optionally provide a custom "changeset" name. If the value is not passed, a default "changeset" name is created.
IsImmediatePublish
Boolean
Whether or not the change should be applied immediately (will restart all registers at the location)
BusinessHourIds
A Collection of Int
A Collection of BusinessHourIds to delete
DeleteBusinessHours Response
Data Name
Data Type
Data Description
Errors
A Collection of String
Contains error messages if the request failed
This call is to remove a destination at a location . Please do not keep batch size of more than 20, i.e. the number of operations in a single request should not be more than 20.
DeleteDestinations Request
Data Name
Data Type
Data Description
BusinessDate
DateTime?
The BusinessDate from when the change should apply. Default is the current BusinessDate of the location
ChangesetName
string
Optionally provide a custom "changeset" name. If the value is not passed, a default "changeset" name is created.
IsImmediatePublish
Boolean
Whether or not the change should be applied immediately (will restart all registers at the location)
DestinationIds
A Collection of Int
A Collection of DestinationIds to delete
DeleteDestinations Response
Data Name
Data Type
Data Description
Errors
A Collection of String
Contains error messages if the request failed
This call is to remove exception dates of a location . Please do not keep batch size of more than 20, i.e. the number of operations in a single request should not be more than 20.
DeleteExceptionDates Request
Data Name
Data Type
Data Description
BusinessDate
DateTime?
The BusinessDate from when the change should apply. Default is the current BusinessDate of the location
ChangesetName
string
Optionally provide a custom "changeset" name. If the value is not passed, a default "changeset" name is created.
IsImmediatePublish
Boolean
Whether or not the change should be applied immediately (will restart all registers at the location)
ExceptionDateIds
A Collection of Int
A Collection of ExceptionDateIds to delete
DeleteExceptionDates Response
Data Name
Data Type
Data Description
Errors
A Collection of String
Contains error messages if the request failed
This call is to remove items at a location . Please do not keep batch size of more than 20, i.e. the number of operations in a single request should not be more than 20.
DeleteItems Request
Data Name
Data Type
Data Description
BusinessDate
DateTime?
The BusinessDate from when the change should apply. Default is the current BusinessDate of the location
ChangesetName
string
Optionally provide a custom "changeset" name. If the value is not passed, a default "changeset" name is created.
IsImmediatePublish
Boolean
Whether or not the change should be applied immediately (will restart all registers at the location)
ItemIds
A Collection of Int
A Collection of Item Ids to delete
DeleteItems Response
Data Name
Data Type
Data Description
Errors
A Collection of String
Contains error messages if the request failed
This call is to remove a price change at a location based on existing PriceChangeIds. Please do not keep batch requests, i.e. single operation should be performed in a single request.
DeletePriceChanges Request
Data Name
Data Type
Data Description
BusinessDate
DateTime?
The BusinessDate from when the change should apply. Default is the current BusinessDate of the location
ChangesetName
string
Optionally provide a custom "changeset" name. If the value is not passed, a default "changeset" name is created.
IsImmediatePublish
Boolean
Whether or not the change should be applied immediately (will restart all registers at the location)
PriceChangeIds
A Collection of Int
A Collection of Price Change Ids to delete
DeletePriceChanges Response
Data Name
Data Type
Data Description
Errors
A Collection of String
Contains error messages if the request failed
This call is to remove a tax at a location . Please do not keep batch size of more than 20, i.e. the number of operations in a single request should not be more than 20.
DeleteTaxes Request
Data Name
Data Type
Data Description
BusinessDate
DateTime?
The BusinessDate from when the change should apply. Default is the current BusinessDate of the location
ChangesetName
string
Optionally provide a custom "changeset" name. If the value is not passed, a default "changeset" name is created.
IsImmediatePublish
Boolean
Whether or not the change should be applied immediately (will restart all registers at the location)
TaxIds
A Collection of Int
A Collection of Tax Ids to delete
DeleteTaxes Response
Data Name
Data Type
Data Description
Errors
A Collection of String
Contains error messages if the request failed
This call is to retrieve the business hours for a location along with any exceptions.
GetBusinessHours Request
Data Name
Data Type
Data Description
StartDate
DateTime?
Used to find exception dates greater than this date if specified.
EndDate
DateTime?
Used to find exception dates less than this date if specified.
GetBusinessHours Response
Data Name
Data Type
Data Description
Message
string
Returns a Brink Error message if the request did not go through. Otherwise, this field will be null.
ResultCode
int
Returns one of the following:
- 0 = Request went through successfully
- 1 = Request returned an unknown error
- 2 = Request was not valid
- 3 = Server is currently unavailable and unable to receive the request
- 4 = Access Denied
This call is to retrieve an array of Charity objects for the location.
GetCharities Request
Data Name
Data Type
Data Description
CharityIds
Array of int
Depending on the CharityId(-s) passed in request the response will return the details of that(those) charity(-s)
This call is to retrieve a FutureOrderingOptions object for the location.
GetFutureOrderingOptions Response
Data Name
Data Type
Data Description
Message
string
Returns a Brink Error message if the request did not go through. Otherwise, this field will be null.
ResultCode
int
Returns one of the following:
- 0 = Request went through successfully
- 1 = Request returned an unknown error
- 2 = Request was not valid
- 3 = Server is currently unavailable and unable to receive the request
- 4 = Access Denied
This call is to retrieve an array of Item objects for the location.
GetItems Request
Data Name
Data Type
Data Description
ItemIds
Array of int
Depending on the ItemId(-s) passed in request the response will return the details of that(those) item(-s)
This call is to retrieve the DateTime for when the Settings and/or Employees were last modified for the location.
GetLastModifiedTime Response
Data Name
Data Type
Data Description
Message
string
Returns a Brink Error message if the request did not go through. Otherwise, this field will be null.
ResultCode
int
Returns one of the following:
- 0 = Request went through successfully
- 1 = Request returned an unknown error
- 2 = Request was not valid
- 3 = Server is currently unavailable and unable to receive the request
- 4 = Access Denied
EmployeesOnlyLastModifiedTime
DateTimeOffset?
Date and time corresponding to the most recent Employees modification at the location, in location's local time
SettingsLastModified
DateTimeOffset?
Date and time corresponding to the most recent Employees or Settings modification at the location, whichever is more recent when taken into consideration together, in location's local time.
SettingsOnlyLastModifiedTime
DateTimeOffset?
Date and time corresponding to the most recent Settings modification at the location, in location's local time
This call is to retrieve a Menu object for the location.
GetMenu Request
Data Name
Data Type
Data Description
MenuId
int
Specify the Id of the Menu you would like to retrieve
GetMenu Response
Data Name
Data Type
Data Description
Message
string
Returns a Brink Error message if the request did not go through. Otherwise, this field will be null.
ResultCode
int
Returns one of the following:
- 0 = Request went through successfully
- 1 = Request returned an unknown error
- 2 = Request was not valid
- 3 = Server is currently unavailable and unable to receive the request
- 4 = Access Denied
This call is to retrieve an array of AlternateMenu objects and/or an OnlineOrderingMenuId for the location.
GetOnlineOrderingMenuOptions Response
Data Name
Data Type
Data Description
Message
string
Returns a Brink Error message if the request did not go through. Otherwise, this field will be null.
ResultCode
int
Returns one of the following:
- 0 = Request went through successfully
- 1 = Request returned an unknown error
- 2 = Request was not valid
- 3 = Server is currently unavailable and unable to receive the request
- 4 = Access Denied
OnlineOrderingMenuId
int?
Id for the default Online Ordering Menu
This call is to retrieve an array of Promotions objects for the location.
GetPromotions Request
Data Name
Data Type
Data Description
PromotionIds
Array of int
Depending on the PromotionId(-s) passed in request the response will return the details of that(those) promotion(-s)
This call is to retrieve multiple Settings for the location.
Data Type
Data Name
Data Type
Data Description
DataType
DataType
Specify one or more DataType you would like to retrieve. You can choose one of the following:
- Employee
- Job
- Permission
- SecurityLevel
- KitchenQueue
- FutureOrderingOptions
- Menu
- OnlineOrderingMenuOptions
- PriceChange
- Promotion
- Table
- Brand
- Printer
- MenuItem
- PaymentOptions
- PrinterGroup
- PriceLevel
- ModifierTiers
- KitchenVideoGroups
- Panels
- Screens
- Tares
GetSettings Response
Data Name
Data Type
Data Description
Message
string
Returns a Brink Error message if the request did not go through. Otherwise, this field will be null.
ResultCode
int
Returns one of the following:
- 0 = Request went through successfully
- 1 = Request returned an unknown error
- 2 = Request was not valid
- 3 = Server is currently unavailable and unable to receive the request
- 4 = Access Denied
Settings Type
Data Name
Data Type
Data Description
FutureOrderingOptions
FutureOrderingOptions object
FutureOrderingOptions for the location if specified
OnlineOrderingMenu Options
OnlineOrderingMenu Options object
OnlineOrderingMenuOptions for the location if specified
This call is to retrieve a collection of Table object setup at the location.(Only used for Table Service locations)
This call is to upsert business hours of a location . Please do not keep batch size of more than 100, i.e. the number of operations in a single request should not be more than 100.
SaveBusinessHours Request
Data Name
Data Type
Data Description
BusinessDate
DateTime?
The BusinessDate from when the change should apply. Default is the current BusinessDate of the location
ChangesetName
string
Optionally provide a custom "changeset" name. If the value is not passed, a default "changeset" name is created.
IsImmediatePublish
bool
Whether or not the change should be applied immediately (will restart all registers at the location)
BusinessHours
Collection of BusinessHours
Specify one or more BusinessHour objects you would like to create
SaveBusinessHours Response
Data Name
Data Type
Data Description
SaveResults
A Collection of SaveBusinessHoursResult
Contains details on whether or not the request has succeeded with success details or failure details
This call is to upsert a destination to a location . Please do not keep batch size of more than 100, i.e. the number of operations in a single request should not be more than 100.
SaveDestinations Request
Data Name
Data Type
Data Description
BusinessDate
DateTime?
The BusinessDate from when the change should apply. Default is the current BusinessDate of the location
ChangesetName
string
Optionally provide a custom "changeset" name. If the value is not passed, a default "changeset" name is created.
IsImmediatePublish
bool
Whether or not the change should be applied immediately (will restart all registers at the location)
Destinations
Collection of Destination
Specify one or more Destination objects you would like to create
SaveDestinations Response
Data Name
Data Type
Data Description
SaveResults
A Collection of SaveDestinationsResult
Contains details on whether or not the request has succeeded with success details or failure details
This call is to create or update one or more Employees for the location.
SaveEmployees Request
Data Name
Data Type
Data Description
Employees
Array of Employee
Specify one or more Employee objects you would like to create and/or update
SaveEmployees Response
Data Name
Data Type
Data Description
Message
string
Returns a Brink Error message if the request did not go through. Otherwise, this field will be null.
ResultCode
int
Returns one of the following:
- 0 = Request went through successfully
- 1 = Request returned an unknown error
- 2 = Request was not valid
- 3 = Server is currently unavailable and unable to receive the request
- 4 = Access Denied
ValidationMessages
List<string>
Details if the request was unsuccessful
This call is to upsert exception dates of a location . Please do not keep batch size of more than 100, i.e. the number of operations in a single request should not be more than 100.
SaveExceptionDates Request
Data Name
Data Type
Data Description
BusinessDate
DateTime?
The BusinessDate from when the change should apply. Default is the current BusinessDate of the location
ChangesetName
string
Optionally provide a custom "changeset" name. If the value is not passed, a default "changeset" name is created.
IsImmediatePublish
bool
Whether or not the change should be applied immediately (will restart all registers at the location)
ExceptionDates
Collection of ExceptionDate
Specify one or more ExceptionDates objects you would like to create
SaveExceptionDates Response
Data Name
Data Type
Data Description
SaveResults
A Collection of SaveExceptionDatesResult
Contains details on whether or not the request has succeeded with success details or failure details
This call is to upsert items to a location . Please do not keep batch size of more than 100, i.e. the number of operations in a single request should not be more than 100.
SaveItems Request
Data Name
Data Type
Data Description
BusinessDate
DateTime?
The BusinessDate from when the change should apply. Default is the current BusinessDate of the location
ChangesetName
string
Optionally provide a custom "changeset" name. If the value is not passed, a default "changeset" name is created.
IsImmediatePublish
bool
Whether or not the change should be applied immediately (will restart all registers at the location)
SaveItems Response
Data Name
Data Type
Data Description
SaveResults
A collection of SaveItemsResult
Contains details on whether or not the request has succeeded with success details or failure details
This call is to upsert a price change to a location for marking up or down an item's/items' base price. Please do not keep batch requests, i.e. single operation should be performed in a single request.
SavePriceChanges Request
Data Name
Data Type
Data Description
BusinessDate
DateTime?
The BusinessDate from when the change should apply. Default is the current BusinessDate of the location
ChangesetName
string
Optionally provide a custom "changeset" name. If the value is not passed, a default "changeset" name is created.
IsImmediatePublish
bool
Determines whether or not to publish the change immediately on the Register (will restart all registers at the location)
PriceChanges
Collection of PriceChange
Specify one or more PriceChange objects you would like to create
SavePriceChanges Response
Data Name
Data Type
Data Description
SaveResults
A Collection of SavePriceChangeResult
Contains details on whether or not the request has succeeded with success details or failure details
This call is to upsert a tax to a location . Please do not keep batch size of more than 100, i.e. the number of operations in a single request should not be more than 100.
SaveTaxes Request
Data Name
Data Type
Data Description
BusinessDate
DateTime?
The BusinessDate from when the change should apply. Default is the current BusinessDate of the location
ChangesetName
string
Optionally provide a custom "changeset" name. If the value is not passed, a default "changeset" name is created.
IsImmediatePublish
bool
Whether or not the change should be applied immediately (will restart all registers at the location)
SaveTaxes Response
Data Name
Data Type
Data Description
SaveResults
A Collection of SaveTaxesResult
Contains details on whether or not the request has succeeded with success details or failure details
This call is to update an Item's price or Component Item's price for the location. Price changes will be applied after the businessday specified in the request.
UpdateItemPrice Request
Data Name
Data Type
Data Description
BusinessDate
DateTime?
The BusinessDate from when the change should apply. Default is the current BusinessDate of the location
ChangesetName
string
Optionally provide a custom "changeset" name. If the value is not passed, a default "changeset" name is created.
ItemPriceUpdates
Array of ItemPriceUpdate
Specify one or more ItemPriceUpdate objects you would like to create
UpdateItemPrice Response
Data Name
Data Type
Data Description
Message
string
Returns a Brink Error message if the request did not go through. Otherwise, this field will be null.
ResultCode
int
Returns one of the following:
- 0 = Request went through successfully
- 1 = Request returned an unknown error
- 2 = Request was not valid
- 3 = Server is currently unavailable and unable to receive the request
- 4 = Access Denied
- 5 = Settings Error
- 6 = Partial Success
Global Type
All the Types available in Settings2.svc will be displayed below.
AlternateMenu Type
Data Name
Data Type
Data Description
Days
byte?
Returns a byte describing the days this AlternateMenu is available:
If multiple days are selected, binary addition is used in determining this value.
- 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.
EndTime
TimeSpan
End time of this AlternateMenu
Id
int
Unique Id of this AlternateMenu
StartTime
TimeSpan
Start time of this AlternateMenu
TimeType
byte
Returns a byte describing the time type of this AlternateMenu:
- 0 = RequestedTime
- 1 = CalculatedSendTime
BogoPromotion Type
Data Name
Data Type
Data Description
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
FreeItemType
FreeItemType?
Returns one of the following:
- GreatestPrice
- LowestPrice
PricingMethod
BogoPricingMethod
Returns one of the following:
- Free
- DiscountedPrice
- PercentDiscount
- DollarDiscount
Brands Type
Data Name
Data Type
Data Description
Id
int
Unique Id of this Brand
Name
string
Name of the Brand
BusinessHour Type
Data Name
Data Type
Data Description
CloseTime
TimeSpan
The open time of the store on the given day
OpenTime
TimeSpan
The end time of the store on the given day
DayOfWeek
DayOfWeek
One of the days of the week (Monday/Tuesday/Wednesday/Thursday/Friday/ Saturday/Sunday)
Charity Type
Data Name
Data Type
Data Description
AutomaticallyApply
bool
True if automatically apply the charity to all orders that qualify, False if not
Days
byte?
Limits the day(s) of the week on which the charity can be assigned:
- 0 = None
- 1 = Sunday
- 2 = Monday
- 4 = Tuesday
- 8 = Wednesday
- 16 = Thursday
- 32 = Friday
- 64 = Saturday
EndDate
DateTime?
Limits the end date on which the charity can be applied
EndTime
TimeSpan?
Limits the end time of day during which the charity can be assigned
EnforceDateRange
bool
True if limits the date(s) on which the charity can be applied, False if not
EnforceDays
bool
True if limits the day(s) of the week on which the charity can be assigned, False if not
EnforceMaximumPerOrder
bool
True if limits the number of times the charity can be assigned to an order, False if not
EnforceTimeRange
bool
True if limits the time of day during which the charity can be assigned, False if not
Id
int
Unique Id of this Charity
IsActive
bool
True if charity can be assigned to orders, False if not
MaximumPerOrder
int?
Number of times the charity can be assigned to an order
Name
string
Name of the charity
NonRevenueItemId
int
ItemId selected for the roundup charity
Percent
decimal
Charity amount to be applied as a percent of the order sub-total
RoundUp
bool
True if activated the 'round up for charity' feature, False if not
StartDate
DateTime?
Limits the start date on which the charity can be applied
StartTime
TimeSpan?
Limits the start time of day during which the charity can be assigned
CharityItem Type
Data Name
Data Type
Data Description
ItemId
int
ItemId of this CharityItem
ComboComponent Type
Data Name
Data Type
Data Description
Id
int
Id of this ComboComponent
IsPrimary
bool
True if this combo component is primary, False if not
Name
string
Name of this ComboComponent
ComboItem Type
Data Name
Data Type
Data Description
Id
int
Id of this ComboItem
ItemId
int
ItemId of this ComboItem
ComboPromotion Type (NO LONGER USED)
Data Name
Data Type
Data Description
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
Price
decimal
Price of this Promotion
ComponentItemPriceChange Type
Data Name
Data Type
Data Description
Id
int
Unique Id of this ComponentItemPriceChange
Price
decimal?
Price of this ComponentItemPriceChange
ComponentPriceChange Type
Data Name
Data Type
Data Description
ComponentId
int
Id of the Component of this ComponentPriceChange
ComponentItemPrice Changes
Array of ComponentItemPrice Change
Component item price changes of this ComponentPriceChange
Id
int
Unique Id of this ComponentPriceChange
Price
decimal?
Price of this ComponentPriceChange
CouponPromotion Type
Data Name
Data Type
Data Description
Amount
decimal
Amount of this Promotion
Application
CouponApplication
Returns one of the following:
- UserSelects
- SystemSelects
AppliesToModifiers
bool
True if Promotion applies to modifiers as well as base items, 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
DiscountedItemLimit
int
Maximum number of items that can be reduced by the promotion
Distribution
CouponDistribution
Returns one of the following:
- AcrossItems
- EachItem
CreditCardOptions Type
Data Name
Data Type
Data Description
AllowUnsolicitedSwipes
bool
True if credit cards can be swiped at any time,False if not
CardSwipePostProcessScript
string
Script to be executed after processing an unsolicited card swipe
CardSwipePreProcessScript
string
Script to execute after an unsolicited card swipe, but prior to displaying the credit card dialog or processing the card
EnableStoredCreditCards
bool
True if credit cards can be stored on customer accounts,False if not
FailTransactionsOnCvvMismatch
bool
True if the CVV entered does not match the credit card's CVV,False if not
FailTransactionsOnZipMismatch
bool
True if the zip code entered does not match the credit card's zip code,False if not
ProcessorOptions
CreditProcessor Options
Configuration settings for the selected CreditProcessor
Processor
CreditProcessor
Returns one of the following:
- None
- FirstData
- GlobalPayments
- Heartland
- Hypercom
- Mercury
- Vantiv
- WorldPay
- Tsys
RequireCvvForManualEntry TerminalTypes
ValidTerminal Types
CVV is required for manually entered cards on the checked terminal types
RequireZipForManualEntry TerminalTypes
ValidTerminal Types
Billing zip code is required for manually entered cards on the checked terminal types
ShowCardWindowOnUnsolicitedSwipe
bool
Display the credit card dialog, allowing the employee to change the amount prior to processing
Customfield Type
Data Name
Data Type
Data Description
Id
int
Unique Id of this customfield
FieldName
string
Name of the customfield
Value
string
Value for the customfield
DestinationDeliveryZone Type
Data Name
Data Type
Data Description
Id
int
Unique identifier of the object.
Name
string
Name of the object
SurchargeId
int?
ID of the surcharge
DestinationDeliveryZoneCoordinates Type
Data Name
Data Type
Data Description
Id
int
Unique ID of this object
Latitude
double
Latitude of the delivery zone
Longitude
double
Longitude of the delivery zone
Destinations Type
Data Name
Data Type
Data Description
AllItems
bool
Not used anymore. Default value is false.
AutoCloseFutureOrders
bool
True if order is sent to the kitchen and there is no balance due, False if not
AutoPrintType
AutoPrintType
Automatically print order receipt.Never : Do not auto print. Immediate : Print when future order is received. On Send to Kitchen : Print when order is sent to kitchen.
AutoPrintCreditVouchers
bool
True if credit drafts are to be printed, False if not
AutoPrintPrinterId
int?
ID of the printer
DeliveryMinutes
byte?
Average delivery time in minutes, used to calculate approximate delivery driver arrival time.
Description
string
When entered, replaces the destination name in Customer Portal.
Id
int
Unique Id of this Destination
Indicator
string
Prints in front of the item name on the kitchen chit
IsActive
bool
Whether destination is active or not
IsDelivery
bool
True if Delivery Specific, False if not
KitchenChitHeader
string
The header that is printed at the top of each kitchen chit.
KitchenDescription
string
When entered, replaces the destination name displayed on kitchen chit and kitchen video display.
KitchenVideoColor
Color
Color of the destination name displayed on kitchen video display.
LimitByDeliveryZone
bool
True if delivery address is to be limited to specific delivery zones, False if not
LimitByPostalCode
bool
True if delivery address is to be limited to specific postal codes, False if not
Name
string
Name of the destination.
OrderMinimum
decimal?
Minimum order sub-total required
PartyLabelOverride
string
When entered, changes the Table caption to the entered text in the Pivot Seat control, on the Order list, and on the kitchen chit.
SeatLabelOverride
string
When entered, changes the Seat caption to the entered text in the Pivot Seat control, on the Order list, and on the kitchen chit.
SuppressBarcode
bool
Prevents a loyalty redemption barcode from printing on the customer receipt to prevent earning double loyalty rewards on 3rd party orders.
TipAndSignatureDialogEnabled
bool
Not used anymore. Default value is false.
ValidDeliveryZones
Array of DestinationDeliveryZone
List of valid Delivery Zones where delivery can be done
ValidPostalCodes
Array of string
List of valid Postal codes where delivery can be done
Employee Type
Data Name
Data Type
Data Description
Address1
string
Employee's address
Address2
string
Employee's address
AlternateId
string
Alternate external Id for this Employee
BirthDate
DateTime?
Employee's birth date (the time component will always return as 00:00:00)
CanLoginWithCard
bool
True if Employee can login with a card, False if not
CanLoginWithFinger
bool
True if Employee can login with their fingerprint, False if not
CanLoginWithPin
bool
True if Employee can login with their PIN, False if not
CardNumber
string
Employee's card number
CellPhone
string
Employee's cell phone
City
string
Employee's city of residence
ClockedInDiscountId
int?
Employee's discount Id when clocked in
ClockedOutDiscountId
int?
Employee's discount Id when clocked out
DisplayName
string
Employee's display name on the register
EmailAddress
string
Employee's email address
EmployeeUniqueId
Guid
ExportToPayroll
bool
True if Employee should be exported to payroll, False if not
FirstName
string
Employee's first name
HealthCardExpirationDate
DateTime?
Date of expiration for the Employee's health card
HireDate
DateTime?
Employee's hire date (the time component will always return as 00:00:00)
HomeLocationId
Guid?
Employee's home location
HomePhone
string
Employee's home phone
Id
int
Unique Id in Brink for this Employee
IdentificationVerified
bool
True if Employee's identity has been verified, False if not
IsExempt
bool
True if Employee is tax exempt, False if not
IsSalaried
bool
True if Employee is salaried, False if not
LastName
string
Employee's last name
LimitLocations
bool
True if Employee's locations are limited, False if not
MaritalStatus
byte
Returns one of the following:
- 0 = None
- 1 = Single
- 2 = Married
MaximumDailyDiscountAmount
decimal
Maximum daily discount amount this Employee is allowed
MaximumDailyDiscountCount
int
Maximum daily discount count this Employee is allowed
Notes
string
Notes about this Employee
PayrollId
string
Unique payroll Id for this Employee
Pin
string
PIN of this Employee. This value will always be null when returned.
Ssn
string
Employee's social security number. This value will always be null when returned.
State
string
Employee's state of residence
TaxWitholdingAllowance
int
Number of withholding allowances claimed
Terminated
bool
True if Employee has been terminated, False if not
TerminationDate
DateTime?
Employee's termination date, if applicable
Zip
string
Employee's zip code
EmployeeJob Type
Data Name
Data Type
Data Description
Id
int
Unique Id of the Employee-Job relationship
JobUniqueId
Guid
Primary Key for Job
PayRate
decimal
Pay rate for this EmployeeJob
SecurityLevelUniqueId
Guid
Primary Key for SecurityLevel
EmployeeLocation Type
Data Name
Data Type
Data Description
Id
int
Unique Id of the Employee-Location relationship
LocationId
Guid
Id of the location
EmployeePermission Type
Data Name
Data Type
Data Description
Id
int
Unique Id of the Employee-Permission relationship
PermissionUniqueId
Guid
Primary Key for Permission
ExceptionDate Type
Data Name
Data Type
Data Description
CloseTime
TimeSpan?
The open time at which this current exception begins
OpenTime
TimeSpan?
The close time at which this current exception ends
Date
DateTime
The date at which this current exception is triggered upon
IsOpen
Boolean
Whether or not the location is open at the given date. If this value is false, the OpenTime and CloseTime are null
ExternalPaymentOptions Type
Data Name
Data Type
Data Description
Processor
ExternalPaymentProcessor
Returns one of the following:
- None
- LevelUp
- Punchh
ProcessorOptions
ExternalPaymentProcessorOptions
Configuration of non-integrated payment processors
FutureOrderingOptions Type
Data Name
Data Type
Data Description
AllowFutureDateOrdering
bool
True if future ordering is allowed at this location, False if not
Destinations
Array of OnlineOrderingDestination
Destinations that future ordering can be directed to
IsEnabled
bool
True if future ordering is enabled, False if not
MaximumDaysInAdvance
short
Maximum days in advance a futre order can be placed
MinimumLeadMinutes
short
Minumum amount of time that the order pickup time needs to be from placement time
MinimumPrepMinutes
short
Minimum amount of time before the order pickup time allocated at which the order is open on the register and sent to the kitchen
RequiredDepositPercent
byte
Percent amount of deposit required for a future order
GiftCardOptions Type
Data Name
Data Type
Data Description
DisplayCvvForManualEntry
bool
True if display the CVV field on the gift card dialog,False if not
DisplaySecurityCodeFor ManualEntry
bool
True if display the security code field on the gift card dialog,False if not
EnforceIssueReloadManual GiftCardMaximum
bool
True if value can be assigned to IssueReloadManualGiftCard Maximum,False if not
EnforceIssueReloadSwiped GiftCardMaximum
bool
True if value can be assigned to IssueReloadSwipedGiftCard Maximum,False if not
EnforceTenderManual GiftCardMaximum
bool
True if value can be assigned to TenderManualGiftCardMaximum,False if not
EnforceTenderSwiped GiftCardMaximum
bool
True if value can be assigned to TenderSwipedGiftCardMaximum,False if not
IssueReloadManual GiftCardMaximum
decimal
Maximum amount that can be added to a new or reloaded gift card in one transaction
IssueReloadSwiped GiftCardMaximum
decimal
Maximum amount that can be added to a new or reloaded gift card in one transaction
PromptForCashoutAmount
bool
True if cashout amount is prompted, False if not
ProcessorOptions
GiftProcessor Options
Payment processor configuration for integrated stored value processing
Processor
GiftProcessor
Returns one of the following:
- None
- Heartland
- Mercury
- Svs
- WorldPay
- Vantiv
- Givex
- Valutec
- Paytronix
- Firstdata
- Tcc
RequireCvvForManualEntry
bool
True if CVV value must be entered prior to processing manually entered gift cards,False if not
RequireSecurityCodeFor ManualEntry
bool
True if security code value must be entered prior to processing manually entered gift cards,False if not
TenderManualGiftCard Maximum
decimal
Maximum amount that can be charged to a gift card in one transaction
TenderSwipedGiftCard Maximum
decimal
Maximum amount that can be charged to a gift card in one transaction
AllowGiftCardMaximum Cashout
bool
True if value can be assigned to GiftCardMaximumCashoutAmount,False if not
GiftCardMaximumCashout Amount
decimal
Value of a gift card that can be cashed out
GiftCardPromotion Type
Data Name
Data Type
Data Description
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
ReductionType
GiftCardPromotionReduction Type
Returns one of the following:
- Percentage
- Amount
- NewPrice
ItemBrandAllocation Type
Data Name
Data Type
Data Description
BrandId
int
Brand to allocate sales to
Id
int
Unique Id of this BrandAllocation
Weight
decimal
Percent of the net sales to allocate to the selected brand
ItemCompositeComponent Type
Data Name
Data Type
Data Description
Id
int
Unique Id of this Component
ItemGroupId
int?
The item group to which the component is assigned
Items
Array of ItemCompositeComponentItem
The items that are eligible to be this component of the combo
Name
string
The name of the combo component
OverridePrice
bool
True if the Item's price specified in this dialog overrides all other prices for this item when it is in a combo, False if not
Panels
Array of ItemCompositeComponentPanel
Panels that are to be displayed when the item is ordered or selected
Price
decimal?
Enter the price of the item
RollupPrice
bool
True if the Item's price isn't displayed separately on the 'OrderList' screen on the Register, but is included in the total price of the combo, False if not
ItemCompositeComponentItem Type
Data Name
Data Type
Data Description
Id
int
Unique Id of this ItemComponent
IsDefault
bool
True if this item is used as the default item for this combo component, False if not
OverridePrice
bool
True if the price specified in this dialog overrides all other prices for this item when it is in a combo, False if not
Price
decimal?
Enter the price of the item
ItemCompositeComponentPanel Type
Data Name
Data Type
Data Description
Id
int
Unique Id of this Panel
PanelId
int
The panel to be shown, when screen matches
ScreenId
int?
Current screen that triggers the selected panel
ItemIncludedModifier Type
Data Name
Data Type
Data Description
AutomaticallyAdd
bool
True if this item automatically add the modifier when the item is ordered, False if not
Id
int
Unique Id of this IncludedModifier
IsIncluded
bool
True if modifier is included in/on the item, False if not
ModifierGroupId
int
Modifier group the included modifier belongs to
Position
short
Returns an index of where this ItemIncludeModifier is positioned
PrintInKitchen
bool
True if item always print the modifier in the kitchen, even when not selected, False if not
ItemIngredient Type
Data Name
Data Type
Data Description
Id
int
Unique Id of this Ingredient
Position
short
Returns an index of where this ItemIngredient is positioned
ItemModifierGroup Type
Data Name
Data Type
Data Description
Id
int
Unique Id of this ModifierGroup
ModifierGroupId
int
Modifier groups that are to be available when the item is ordered or modified
Position
short
Returns an index of where this ItemModifierGroup is positioned
ItemModifyPanel Type
Data Name
Data Type
Data Description
Id
int
Unique Id of this ModifyPanel
PanelId
int
The panel to be shown, when screen matches
ScreenId
int?
Current screen that triggers the selected panel
ItemPriceChange Type
Data Name
Data Type
Data Description
Id
int
Unique Id of this ItemPriceChange
Name
string
Name of this ItemPriceChange
OriginalPrice
decimal?
Original price of the Item before this ItemPriceChange
Price
decimal?
Resulting price of the Item before this ItemPriceChange
ItemPriceUpdate Type
Data Name
Data Type
Data Description
ComponentId
int?
Id of the the group that contains details on specific child items (see FAQs on combos). The ComponentId can be found in GetItems that lives in Settings.svc for items that are of type combo. If ComponentId is specified, then ComponentItemId must also be specified
ComponentItemId
int?
ItemId of ItemCompositeComponentItem. This is to target a specific child item and update it's price. ComponentId is required if updating the price of a ComponentItemId
Price
decimal
The value we would like to change the item or component item to
ItemPriceUpdateError Type
Data Name
Data Type
Data Description
ErrorCode
string
Error Code for the error due to any validation failed
ItemPriceUpdateKey Type
Data Name
Data Type
Data Description
ComponentId
int?
Id of the the group that contains details on specific child items
ItemSelectionPanel Type
Data Name
Data Type
Data Description
Id
int
Unique Id of this SelectionPanel
PanelId
int
The panel to be shown, when screen matches
ScreenId
int?
Current screen that triggers the selected panel
Items Type
Data Name
Data Type
Data Description
AllowAutoCombo
bool?
True if this item automatically create a combo, False if not
AlternateId
string
AlternateId for this item provided for customer integration
AlternateKitchenName
string
Alternate name to be displayed on kitchen chits and kitchen displays
AskName
bool
True if this Item's name will be prompted for, False if not
AskPrice
bool
True if this Item's price will be prompted for, False if not
AvailableEndDate
DateTime?
End date of this Item
AvailableSelectDates
bool
True if this Item is available on select dates, False if not
AvailableSelectDays
bool
True if this Item is available on select days of the week, False if not
AvailableStartDate
DateTime?
Start date of this Item
BlinkInKitchen
bool
True if this Item's name flashes on kitchen display, False if not
ClearsAllOtherModifiers
bool
True if adding this modifier clears all other modifiers except required or deferred modifiers, False if not
Cost
decimal
Cost of this Item
CustomFields
Array of CustomFields
Dictionary of User Defined key value pair.(Save of this field from API is in future scope)
DaysAvailable
byte?
Returns a byte describing the days this Item is available:
- 0 = None
- 1 = Sunday
- 2 = Monday
- 4 = Tuesday
- 8 = Wednesday
- 16 = Thursday
- 32 = Friday
- 64 = Saturday
Description
string
Description of this Item
DiscountId
int?
Discount having an External ID and is a Loyalty Discount
FreeModifierSubstitutionLimit
short?
Limits the number of modifiers that can be substituted without charge
GiftCardItemType
GiftCardItemType?
Returns one of the following:
- None
- CashOut
- Issue
- Reload
Id
int
Unique Id of this Item
Ingredients
Array of ItemIngredient
Items that are considered ingredients when calculating modifier prices
IsActive
bool
True if this Item is active, False if inactive
IsExceptionMod
bool
NO LONGER USED
IsQuantityCounted
bool
True if this Item quantity is counted, False if not
KitchenBackgroundColor
Color
Color of the item background when displayed on the kitchen display
KitchenColor
Color
Color of the item text when displayed on kitchen display
IncludedModifiers
Array of ItemIncludedModifier
Modifiers that are implied as being included in/on the item by default
ItemGroups
IdList
Item groups that the item belongs to
ModifierGroups
Array of ItemModifierGroup
Modifier groups that are to be available when the item is ordered or modified
ModifierRouting
ModifierRoutingOptions
Returns one of the following:
- Follow parent item
- Route Separately
- Parent item also follows modifier
- Parent item only follows modifier
ModifierTierId
int?
Modifier Tier Id for this Item, or 0 if null
ModifierWeight
byte
Count towards the modifier group's min/max/free settings, when ordered as a modifier
ModifyPanels
Array of ItemModifyPanel
Panels that are to be displayed in place of the 'Modify' system screen
Name
string
Name of this Item
NonRevenueItem
bool
True if this Item is a non-revenue Item, False if not
Plu
string
Price look-up code of this Item
PrepaidItemType
PrepaidItemType?
Returns one of the following:
- Code
- Code on Receipt
- PIN on receipt
Price
decimal
Price of this Item
PriceLevelId
int?
Price level that is to override the item price
PricePer
PricePer
Returns one of the following:
- Ounce
- Pound
PrinterGroupId
int?
Printer group Id for this Item, or 0 if null
RevenueCenterId
int
Maps to the Id of the RevenueCenter of this Item
RestrictComboBreak
bool?
True if this Item blocks the cashier from breaking a combo into individual items sold at discount, False if not
SelectionPanels
Array of ItemSelectionPanel
Panels that are to be displayed when the item is ordered or selected
Skus
List<string>
Product barcode identifiers used to order item via barcode scanner or 'Lookup Item' screen
SortPriority
byte
Sort priority of this Item
TareId
int?
Tare Id of this Item
Taxes
IdList
Taxes that are to be applied to the item, in addition to those inherited via the revenue center
Type
ItemType
Returns one of the following:
- Normal
- Chicken
- Gift Card
- Loyalty item
- Pizza
- Composite
- Prepaid
- CompCard
UnitName
string
Unit name for this Item
UnitPrecision
byte
Unit precision for this Item
VideoGroupId
int?
Video group Id for this Item, or 0 if null
Job Type
Data Name
Data Type
Data Description
AllowAddItem
bool
True if employees under this Job are allowed to add items, False if not
AlternateId
string
Alternate external Id for this Job
CannotClose
bool
True if employees under this Job are allowed to close, False if not
CanOpenAnyOrder
bool
True if employees under this Job are allowed to open any order, False if not
CashDrawer
bool
True if employees under this Job are allowed to be assigned a cash drawer, False if not
CheckoutRequiresApproval
bool
True if employees under this Job require approval for their checkout, False if not
ClockInRequiresApproval
bool
True if employees under this Job require approval for their clockin, False if not
ClockOutRequiresApproval
bool
True if employees under this Job require approval for their clockout, False if not
DeclareTips
bool
True if employees under this Job can declare tips, False if not
DefaultScreenId
int?
Id of this Job's default screen
DefaultSecurityLevelId
int?
Id of this Job's default Security Level
DefaultSecurityLevelUniqueId
Guid?
Primary Key for Default SecurityLevel
DisplayColor
int
ARGB encoded color for this Job's display
ExcludeOnSalesAndLaborReports
bool
True if employees under this Job are excluded on sales and labor reports, False if not
ExemptFromLaborSchedule
bool
True if employees under this Job are exempt from the labor schedule, False if not
ExportCode
string
Export code for this Job
GroupItemsBySeat
bool
True if employees under this Job can group items by seat, False if not
Id
int
Unique Id in Brink for this Job
IndicateTrainingModeOnKitchenChits
bool
Indicator on kitchen chits for orders created by staff in training mode
IsBartender
bool
True if this Job is a bartender Job, False if not
IsDeliveryDispatcher
bool
True if this Job is a delivery dispatcher Job, False if not
IsDeliveryDriver
bool
True if this Job is a delivery driver Job, False if not
IsHostess
bool
True if this Job is a hostess Job, False if not
ItemLookup
Guid
True if employees under this Job can perform an item lookup, False if not
JobUniqueId
int?
Primary Key for Job
LaneId
int?
Lane Id assigned to this Job
LimitShiftBreakTypes
byte
True if employees under this Job have limited shift break types, False if not
Menus
string
Menus for this Job
Name
bool
Name of this Job
NoCashTransactions
bool
True if employees under this Job are not allowed to perform cash transactions, False if not
OrderEntry
int?
True if employees under this Job are allowed to enter orders, False if not
OrderScreenId
bool
Id of the order screen for this Job
RequireTipReporting
int?
True if employees under this Job can present a minimum required tip declaration at the end of the shift, False if not
SelfBanking
bool
True if employees under this Job can be self-banking, False if not
ShiftBreakTypes
bool
Job shift break types allowed for this Job
Tabs
bool
True if employees under this Job can open tabs, False if not
Training
True if this Job is a training Job, False if not
JobMenu Type
Data Name
Data Type
Data Description
Days
byte?
Days of the week on which the scheduled menu is to be displayed
MenuId
int
Id of the menu which is to be displayed according to the schedule
StartTime
TimeSpan?
Time at which the scheduled menu will begin displaying
JobShiftBreakType Type
Data Name
Data Type
Data Description
Id
int
Unique Id of the Job-ShiftBreakType relationship
ShiftBreakTypeId
int
Id of the ShiftBreakType of this JobMenuShiftBreakType
KeyedSettingsObjectSaveResult Type
Data Name
Data Type
Data Description
Id
int
New Id of the Employee created
OriginalId
int
Original Id in the Employee creation request
ValidationMessages
List<string>
Details if the request was unsuccessful
KitchenQueue Type
Data Name
Data Type
Data Description
Id
int
Unique Id of this KitchenQueue
Name
string
Name of this KitchenQueue
KitchenVideoGroup Type
Data Name
Data Type
Data Description
Id
int
Id of the KitchenVideoGroup
Name
string
Name of the KitchenVideoGroup
KitchenBackgroundColor
Color
Background color for all items and modifiers in the video group
RoutingOverrides
Array of KitchenVideoGroupRouting Override
Alternate set of kitchen queues to route to when the order meets certain criteria
KitchenQueues
Array of KitchenVideoGroupQueue
Contains the kitchen displays that are to display order items for this group
KitchenVideoGroupQueue Type
Data Name
Data Type
Data Description
Id
int
Id of the KitchenVideoGroupQueue
Name
string
Name of the KitchenVideoGroupQueue
KitchenQueueId
int
Id of KitchenQueue
KitchenVideoGroupRoutingOverride Type
Data Name
Data Type
Data Description
Id
int
Id of the KitchenVideoGroupRoutingOverride
Name
string
Name of the KitchenVideoGroupRoutingOverride
Type
KitchenVideoGroupRouting OverrideType
Type of the KitchenVideoGroupRoutingOverride
LeadTimeThreshold Type
Data Name
Data Type
Data Description
LeadMinutes
int
Minutes for a lead time threshold
LocationOptions Type
Data Name
Data Type
Data Description
BusinessHours
IEnumerable<BusinessHour>
A collection that contains time-related information of each business BusinessHours
ExceptionDates
IEnumerable<ExceptionDate>
A collection of dates that contains days when the location may have different hours or is closed
Menu Type
Data Name
Data Type
Data Description
Description
string
Description of this Menu
Id
int
Unique Id of this Menu
ImageId
int
Id of the Image for this Menu
Name
string
Name of this Menu
MenuCategory Type
Data Name
Data Type
Data Description
Description
string
Description of this MenuCategory
Id
int
Unique Id of this MenuCategory
Name
string
Name of this MenuCategory
SortOrderId (Exposed Only in GetSettings)
int
Returns an index of where this MenuCategory is positioned in the Menu. E.g.:
- 1 If this value is, "1", this is the first category to be displayed in the Menu
- 2 If this value is, "2", this is the second category to be displayed in the Menu
MenuItem Type
Data Name
Data Type
Data Description
Description
string
Description of this MenuItem
Id
int
Unique Id of this MenuItem
ImageId
int
Id of the Image for this MenuItem
ItemOptions (Exposed Only in GetSettings)
Array of MenuItemOption
Returns a list of ItemOptions that can be selected to order on Customer Portal of this MenuItem
ModifierGroups (Exposed Only in GetSettings)
Array of MenuItemModifierGroup
Returns a list of customer MenuModifierGroups specific to this MenuItem. It can be different from the ModifierGroup associated with the Item found in GetItems
ModifierMethod
byte
Name
string
Name of this MenuItem
Price
decimal
Price of this MenuItem
PriceMethod
byte
SortOrderId (Exposed Only in GetSettings)
short
Returns an index of where this MenuItem is positioned in the MenuCategory. E.g.:
- 1 If this value is, "1", this is the first item to be displayed in the MenuCategory
- 2 If this value is, "2", this is the second item to be displayed in the MenuCategory
MenuItemModifierGroup Type
Data Name
Data Type
Data Description
Id
int
Unique Id of this MenuItemModifierGroup
SortOrderId (Exposed Only in GetSettings)
short
Returns an index of where this MenuItemModifierGroup is positioned in the MenuItem. E.g.:
- 1 If this value is, "1", this is the first menu modifier group to be displayed in the MenuItem
- 2 If this value is, "2", this is the second menu modifier group to be displayed in the MenuItem
MenuItemOption Type
Data Name
Data Type
Data Description
Id
int
Unique Id of this MenuItemOption
DisplayName
string
Label to be displayed beside the radio button of this MenuItemOption
SortOrderId (Exposed Only in GetSettings)
short
Returns an index of where this MenuItemOption is positioned in the MenuItem. E.g.:
- 1 If this value is, "1", this is the first item option to be displayed in the MenuItem
- 2 If this value is, "2", this is the second item option to be displayed in the MenuItem
ModifierTier Type
Data Name
Data Type
Data Description
Id
int
Id of the modifier tier
Name
string
Name of the modifier tier
Level
short
Level of the modifier tier, relative to other tiers.
OnlineOrderingDestination Type
Data Name
Data Type
Data Description
Instructions
string
Instructions for this OnlineOrderingDestination
IsDefault
bool
True if this OnlineOrderingDestination is the default destination for online ordering, False if not
OrderReductionPromotion Type
Data Name
Data Type
Data Description
Amount
decimal
Amount of this Promotion
AppliesTo ComboComponents
bool
True if Promotion applies to combo components, False if not
AppliesToModifiers
bool
True if Promotion applies to modifiers as well as base items, 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
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 subtotal required before any items qualify
OrderPromotions RequiredItems
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
PanelControl Type
Data Name
Data Type
Data Description
Id
int
Id of the PanelControl
Name
string
Name of the PanelControl
BackgroundColor
Color
BackgroundColor of the PanelControl
BackgroundOpacity
double?
Level of transparency applied to the background of an PanelControl
BorderColor
Color
BorderColor of the PanelControl
ButtonTemplate
ButtonTemplate
Template for creating styled, reusable buttons
CornerRadius
byte
Radius of the PanelControl's corners
Font
FontInfo
Font of the text to be displayed on PanelControl
Height
short
Height of the PanelControl
IsShadowEnabled
bool
True if shadow of the PanelControl is visible, False if not
Left
short
Distance of PanelControl from left side of the screen
Style
byte
Style of the PanelControl
TextColor
Color
Color of the text to be displayed on PanelControl
Top
short
Distance of PanelControl from upper side of the screen
Type
PanelControlType
Type of the PanelControl to be added
Width
short
Width of the PanelControl
ZOrder
short
Used to determine which element appear on top of other when they overlap
Panels Type
Data Name
Data Type
Data Description
Id
int
Id of the Panel
Name
string
Name of the Panel
BackgroundColor
Color
BackgroundColor of the Panel
BackgroundImageDisplay Mode
BackgroundImageDisplay Mode?
Way that the Background image should display
BorderColor
Color
Color of border
BorderType
BorderType?
Type of Border
Font
FontInfo
Type of font
Height
short
Height of Panel
InheritBackgroundFromScreen
bool
Inherits the Panel color from parent screen
Left
short
Where on the screen the panel appears, relative to the left of the screen
Title
string
Title of Panel
TitleColor
Color
Color of title
Top
short
Where on the screen the panel appears, relative to the top of the screen
Type
PanelType
Type of panel: User or System
Width
short
Width of Panel
PayAtTableOptions Type
Data Name
Data Type
Data Description
PayAtTableType
PayAtTableType
Returns one of the payment providers:
- None
- ParPay
PortNumber
int?
Port the payment device is connected to
PromptForTip
bool
True if guest should be prompted by the payment device for a tip, False if not
PaymentOptions Type
Data Name
Data Type
Data Description
TipAndSignature
Settings to control the tip and signature prompt on the register main screen or customer display
PayAtTable
These settings allow guests to pay their check at the table for more efficient transactions
Permission Type
Data Name
Data Type
Data Description
Id
int
Unique Id of this Permission
IsActive
bool
True if this Permisson is active, False if not
Name
string
Name of this Permission
PermissionUniqueId
Guid
Primary Key for Permission
PrepTimeThreshold Type
Data Name
Data Type
Data Description
PrepMinutes
int
Minutes for a prep time threshold
PriceChange Type
Data Name
Data Type
Data Description
Days
byte?
Returns a byte describing the days for this PriceChange:
If multiple days are selected, binary addition is used in determining this value.
- 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
bool
True if StartDate and EndDate are enforced, False if not
EnforceDays
bool
True if Days are enforced, False if not
EnforceTimeRanges
bool
True if StartTime and EndTime are enforced, False if not
Id
int
Unique Id of this PriceChange
IsActive
bool
True if this PriceChange is active, False if not
Name
string
Name of this PriceChange
StartDate
DateTime?
Start date of this PriceChange
StartTime
TimeSpan?
Start time of this PriceChange
PriceChangeDestination Type
Data Name
Data Type
Data Description
DestinationName
string
Name of this PriceChangeDestination
Id
int
Unique Id of this PriceChangeDestination
PriceLevel Type
Data Name
Data Type
Data Description
Id
int
Id of the PriceLevel
Name
string
Name of the PriceLevel
Price
decimal
Price assigned to items of this price level.
Printer Type
Data Name
Data Type
Data Description
Name
string
Name of the Printer
Id
int
Id of the Printer
BackupPrinterId
int?
Id of the BackupPrinter
BaudRate
int?
Set the Baud Rate
ChitType
ChitType?
Select one of the following : None, Summary, Single, Bag or Both
ComPort
byte?
Enter the COM Port number used by the printer
DiscountChitPlacement
DiscountChitPlacement?
Select one of the following : None, Top, Bottom or Both
Handshake
PrinterHandshake?
Select DTR/DSR or XOn/XOff
Interface
PrinterInterface?
Select one of the following : Ethernet, Serial, Windows
IsKitchen
bool
True if this can be included in printer groups, False if not
ItemLabelId
int?
Enter the item label
KeyIngredientSummaryPlacement
KeyIngredientSummary Placement?
Prints a total count for each qualifying key ingredient summary for the sent order items
Model
PrinterModel?
Enter the printer model
Parity
PrinterParity?
Enter Odd or Even
Path
string
Set the path of the Printer
PrintAllItems
bool?
True if all items sent are printed, False if not
PrintOnlyCustomizedItems
bool?
True if chits are printed only for items that have been customized, False if not
PrintOnlyCustomizedItems ExceptionItemGroupId
int?
When Print Only Customized Items is checked, this can be used to select an item group for which all items will have chits printed
StoredImageNumber
byte?
Enter the image number
SummaryLabelId
int?
Id of the summary label
TerminalId
int
Id of the terminal that the printer is attached to
Width
byte?
Set the printer width in the field
PrinterGroup Type
Data Name
Data Type
Data Description
Id
int
Id of the PrinterGroup
Name
string
Name of the PrinterGroup
RoutingOverrides
Array of PrinterGroupRoutingOverride
Defines an alternate set of printers to print to when the order meets certain criteria
PrinterGroupPrinter Type
Data Name
Data Type
Data Description
Id
int
Id of the PrinterGroupPrinter
PrinterId
int
Id of the Printer
PrinterGroupRoutingOverride Type
Data Name
Data Type
Data Description
Type
PrinterGroupRoutingOverrideType
Type of the PrinterGroupRoutingOverride
PromotionDestination Type
Data Name
Data Type
Data Description
Id
int
Id of this Promotion Destination
DestinationId
int
DestinationId of this Promotion Destination
PromotionEligibleItem Type
Data Name
Data Type
Data Description
Id
int
Id of this Promotion Eligible Item
ItemId
int
ItemId of this Promotion Eligible Item
PromotionEligibleItemGroup Type
Data Name
Data Type
Data Description
Id
int
Id of this Promotion Eligible ItemGroup
ItemGroupId
int
ItemGroupId of this Promotion Eligible ItemGroup
Limit
byte
Limit of Eligible ItemGroup
PromotionQualification Type
Data Name
Data Type
Data Description
Amount
decimal?
Amount of this Promotion Qualification
Id
int
Id of this Promotion
ItemGroupId
int
Id of the Item group containing the items that qualify for the Promotion
Type
QualificationType
Returns one of the following:
- ItemQuantity
- ItemAmount
PromotionQualificationItem Type
Data Name
Data Type
Data Description
Id
int
Id of this Promotion Qualification Item
ItemId
int
ItemId of this Promotion Qualification Item
PromotionSection Type
Data Name
Data Type
Data Description
Id
int
Id of this Promotion Section
SectionId
int
SectionId of this Promotion SectionId
Promotions Type
Data Name
Data Type
Data Description
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
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
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
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
ValidDestinations
Array of PromotionDestination
Destinations to which this Promotion must be applied
ValidTerminalTypes
ValidTerminalTypes
Returns one of the following:
- None
- Register
- CustomerPortal
- Kiosk
- CustomerPortalMobile
- WebService
- MobileApp
RoundingOptions Type
Data Name
Data Type
Data Description
IsEnabled
bool
Automatically rounds the order balance due when a cash payment is applied
RoundingMethod
RoundingMethod?
Select how order balance will be rounded when a calculation results in fractional cents:Up: Rounds up to the next higher cent. Down : Rounds down to the next lower cent. Nearest: Rounds to the nearest cent.
RoundToValue
decimal?
Value to which the order balance will be rounded
SaveBusinessHoursResult Type
Data Name
Data Type
Data Description
Id
Int
The new generated Id of a specific entity in the SaveBusinessHours request
OriginalId
Int
The original Id of a specific entity passed into the SaveBusinessHours request
ValidationMessages
List<string>
Details if the request was unsuccessful
SaveDestinationsResult Type
Data Name
Data Type
Data Description
Id
Int
The new generated Id of a specific entity in the SaveDestination request
OriginalId
Int
The original Id of a specific entity passed into the SaveDestination request
ValidationMessages
List<string>
Details if the request was unsuccessful
SaveExceptionDatesResult Type
Data Name
Data Type
Data Description
Id
Int
The new generated Id of a specific entity in the Saveexceptiondates request
OriginalId
Int
The original Id of a specific entity passed into the Saveexceptiondates request
ValidationMessages
List<string>
Details if the request was unsuccessful
SaveItemsResult Type
Data Name
Data Type
Data Description
Id
Int
The new generated Id of a specific entity in the SaveItems request
OriginalId
Int
The original Id of a specific entity passed into the SaveItems request
ValidationMessages
List<string>
Details if the request was unsuccessful
SavePriceChangesResult Type
Data Name
Data Type
Data Description
Id
Int
The new generated Id of a specific entity in the SavePriceChange request
OriginalId
Int
The original Id of a specific entity passed into the SavePriceChange request
ValidationMessages
List<string>
Details if the request was unsuccessful
SaveTaxesResult Type
Data Name
Data Type
Data Description
Id
Int
The new generated Id of a specific entity in the SaveTaxes request
OriginalId
Int
The original Id of a specific entity passed into the SaveTaxes request
ValidationMessages
List<string>
Details if the request was unsuccessful
ScreenPanel Type
Data Name
Data Type
Data Description
Id
int
Id of the screen panel
PanelId
int
Id of the selected panel
Screens Type
Data Name
Data Type
Data Description
Id
int
Id of the screen
Name
string
Name of the screen
BackgroundColor
Color
Background color of the screen
DefaultPanelColor
Color
Default background color for panels displayed within the screen
Height
short
Height of the screen
Width
short
Width of the screen
SecurityLevel Type
Data Name
Data Type
Data Description
AddSurcharges
bool
True if employees with this SecurityLevel can add surcharges, False if not
AllowExcessEmployeeCardUsage
bool
True if employees with this SecurityLevel are allowed excess employee card usage, False if not
ApproveCheckout
bool
True if employees with this SecurityLevel can approve checkouts, False if not
ApproveClockIn
bool
True if employees with this SecurityLevel can approve clockins, False if not
ApproveClockOut
bool
True if employees with this SecurityLevel can approve clockouts, False if not
ApproveDiscounts
bool
True if employees with this SecurityLevel can approve discounts, False if not
ApproveLoyaltyCards
bool
True if employees with this SecurityLevel can approve loyalty cards, False if not
ApproveOrderRequestTime
bool
True if employees with this SecurityLevel can approve order request times, False if not
ApprovePromotions
bool
True if employees with this SecurityLevel can approve promotions, False if not
AssignCharity
bool
True if employees with this SecurityLevel can assign charity, False if not
CanAdjustTipsFromAnyTill
bool
True if employees with this SecurityLevel can adjust tips from any till, False if not
CanCloseOrdersAssignedTo DeliveryDrivers
bool
True if employees with this SecurityLevel can close orders assigned to delivery drivers, False if not
CanOpenAnyDrawer
bool
True if employees with this SecurityLevel can open any drawer, False if not
DeleteDeposits
bool
True if employees with this SecurityLevel can delete deposits, False if not
DeleteDiscounts
bool
True if employees with this SecurityLevel can delete discounts, False if not
DeleteDonations
bool
True if employees with this SecurityLevel can delete donations, False if not
DeletePayments
bool
True if employees with this SecurityLevel can delete payments, False if not
DeletePromotions
bool
True if employees with this SecurityLevel can delete promotions, False if not
DeleteSurcharges
bool
True if employees with this SecurityLevel can delete surcharges, False if not
ForceAuthorization
bool
True if employees with this SecurityLevel can force authorization, False if not
ForceReconciliation
bool
True if employees with this SecurityLevel can force reconciliation, False if not
Id
int
Unique Id of this SecurityLevel
ManageCashDrawers
bool
True if employees with this SecurityLevel can manage cash drawers, False if not
Name
string
Name of this SecurityLevel
OverrideDailyLoyaltyCardLimit
bool
True if employees with this SecurityLevel can override the daily loyalty card limit, False if not
OverrideMaximumTipPercent
bool
True if employees with this SecurityLevel can override the maximum tip percent, False if not
ReopenOrders
bool
True if employees with this SecurityLevel can reopen orders, False if not
SplitCheck
bool
True if employees with this SecurityLevel can split checks, False if not
SecurityLevelUniqueId
Guid
VoidItems
bool
True if employees with this SecurityLevel can void items, False if not
SecurityLevelPermission Type
Data Name
Data Type
Data Description
Id
int
Unique Id of this SecurityLevelPermission
PermissionUniqueId
Guid
Primary Key for SecurityLevelPermission
Table Type
Data Name
Data Type
Data Description
Id
int
Unique Id of this Table
Name
string
Name of this Table
Capacity
int
Allowed number of seats for this Table
IsActive
bool
True if this Table is active, False if not
Tares Type
Data Name
Data Type
Data Description
Id
int
Id of the tare
Name
string
Name of the tare
Weight
decimal
Weight of the tare
TaxBracket Type
Data Name
Data Type
Data Description
From
decimal
The lowest order total for which the Tax Amount is charged.
TaxAmount
decimal
The amount of tax charge
To
decimal
The highest order total for which the Tax Amount is charged
Id
int
Unique Id against the tax entity
TaxDestination Type
Data Name
Data Type
Data Description
DestinationId
int
Unique ID of the destination to which the tax is being applied
Id
int
Unique mapping ID
Taxes Type
Data Name
Data Type
Data Description
Amount
decimal
Amount of this tax
MinimumAmount
decimal
Mimimum amount to be applied per qualifying order
DisplayName
string
An alternative name that prints on the receipt.
IsInclusive
bool
True if tax is included in price of item, False if not
UseLocationRules
bool
True if Brink POS uses embedded, location-specific tax tables, False if not
CompoundTax
bool
True when tax is considered to be compounded, False if not
CompoundTaxPriority
int
The order in which compound taxes are applied. The lowest priority is applied first.
ExemptionEnabled
bool
True if the tax is to be excluded based on an Order Total amount, False if not
RoundingMethod
RoundingMethod
Select how taxes will be rounded when a calculation results in fractional cents.:Up: Rounds up to the next higher cent. Down : Rounds down to the next lower cent. Nearest: Rounds to the nearest cent. Bracket: Selecting Bracket displays two lists: Non-Repeating and Repeating
OrderTotalType
OrderTotalType
One of the following:Order Total Order Subtotal None
ExemptionOrderAmount
decimal
Order Amount below which the tax is exempted.
ExemptionItemGroupId
int
Mention the items for which tax is to be exempted up to a certain order amount.
LimitDestinations
bool
True if tax is to be applied for a specific destination, False if not
ModifierItems
IdList
Modifiers in the list will result in the tax being applied to the root item
NonRepeatingTaxBrackets
Array of TaxBracket
For rows where the intervals are not repeated, such as for the first dollar, where the taxation rate often includes a point below which no tax is charged
RepeatingTaxBrackets
Array of TaxBracket
For establishing a pattern of tax brackets. When you enter a number of rows in the Repeating sub-tab to establish the pattern, the system extrapolates based on the established pattern for values above what is entered
AppliesTo
IdList
Items in the Selected Items list will have this tax applied to them.
Id
int
Unique ID of this tax
Name
string
Name of this tax
Type
TaxType
One of the following:Percentage FlatFee None
TipAndSignatureOptions Type
Data Name
Data Type
Data Description
LimitByDestination
bool
True if limits the display of the tip and signature prompt to orders for particular destinations, False if not
RequireTipSelection
bool
True if enables the ability to require tip selection to increase the likelihood of adding a tip to the order, False if not
TipAmount1
decimal
Returns one of the following:
- Percent = Displays tip amounts that are percentages of the order price
- Fixed Amount = Displays fixed tip amounts
TipAmount2
decimal
The first amount to display on the tip prompt
TipAmount3
decimal
The second amount to display on the tip prompt
TipType
TipType
The third amount to display on the tip prompt
DeleteBusinessHours Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Threading.Tasks;
using API_Settings2_DeleteBusinessHours.ServiceReference1;
namespace API_Settings2_DeleteBusinessHours
{
class Program
{
static void Main(string[] args)
{
var clientSettingsWebService2Client = new SettingsWebService2Client();
var accessToken = @"";
var locationToken = @"";
using (var scope = new OperationContextScope(clientSettingsWebService2Client.InnerChannel))
{
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = accessToken;
headers["LocationToken"] = locationToken;
var deleteBusinessHoursRequest = new DeleteBusinessHoursRequest()
{
BusinessDate = new DateTime(2023, 1,1),
ChangesetName = "DeleteBusinessHours",
IsImmediatePublish = false,
BusinessHourIds = new[] { 1,2,3 }
};
var deleteBusinessHoursResponse = clientSettingsWebService2Client.DeleteBusinessHours(deleteBusinessHoursRequest);
if (deleteBusinessHoursResponse.ResultCode == 0)
{
Console.WriteLine("Success!");
}
else
{
Console.WriteLine($"Error Code: {deleteBusinessHoursResponse.ResultCode}");
Console.WriteLine($"Message: {deleteBusinessHoursResponse.Message}");
foreach (var saveResult in deleteBusinessHoursResponse.SaveResult)
{
foreach (var error in saveResult.ValidationMessages)
{
Console.WriteLine($"\t\tError: {error}");
}
}
}
Console.ReadKey();
}
}
}
}
DeleteDestinations Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Threading.Tasks;
using API_Settings2_DeleteDestinations.ServiceReference1;
namespace API_Settings2_DeleteDestinations
{
class Program
{
static void Main(string[] args)
{
var clientSettingsWebService2Client = new SettingsWebService2Client();
var accessToken = @"";
var locationToken = @"";
using (var scope = new OperationContextScope(clientSettingsWebService2Client.InnerChannel))
{
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = accessToken;
headers["LocationToken"] = locationToken;
var deleteDestinationsRequest = new DeleteDestinationsRequest()
{
BusinessDate = new DateTime(2023, 1,1),
ChangesetName = "DeleteDestinations",
IsImmediatePublish = false,
DestinationsIds = new[] { 1,2,3 }
};
var deleteDestinationsResponse = clientSettingsWebService2Client.DeleteDestinations(deleteDestinationsRequest);
if (deleteDestinationsResponse.ResultCode == 0)
{
Console.WriteLine("Success!");
}
else
{
Console.WriteLine($"Error Code: {deleteDestinationsResponse.ResultCode}");
Console.WriteLine($"Message: {deleteDestinationsResponse.Message}");
foreach (var saveResult in deleteDestinationsResponse.SaveResult)
{
foreach (var error in saveResult.ValidationMessages)
{
Console.WriteLine($"\t\tError: {error}");
}
}
}
Console.ReadKey();
}
}
}
}
DeleteExceptionDates Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Threading.Tasks;
using API_Settings2_DeleteExceptionDates.ServiceReference1;
namespace API_Settings2_DeleteExceptionDates
{
class Program
{
static void Main(string[] args)
{
var clientSettingsWebService2Client = new SettingsWebService2Client();
var accessToken = @"";
var locationToken = @"";
using (var scope = new OperationContextScope(clientSettingsWebService2Client.InnerChannel))
{
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = accessToken;
headers["LocationToken"] = locationToken;
var deleteExceptionDatesRequest = new DeleteExceptionDatesRequest()
{
BusinessDate = new DateTime(2023, 1,1),
ChangesetName = "DeleteExceptionDates",
IsImmediatePublish = false,
ExceptionDateIds = new[] { 1,2,3 }
};
var deleteExceptionDatesResponse = clientSettingsWebService2Client.DeleteExceptionDates(deleteExceptionDatesRequest);
if (deleteExceptionDatesResponse.ResultCode == 0)
{
Console.WriteLine("Success!");
}
else
{
Console.WriteLine($"Error Code: {deleteExceptionDatesResponse.ResultCode}");
Console.WriteLine($"Message: {deleteExceptionDatesResponse.Message}");
foreach (var saveResult in deleteExceptionDatesResponse.SaveResult)
{
foreach (var error in saveResult.ValidationMessages)
{
Console.WriteLine($"\t\tError: {error}");
}
}
}
Console.ReadKey();
}
}
}
}
DeleteItems Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Threading.Tasks;
using API_Settings2_DeleteItems.ServiceReference1;
namespace API_Settings2_DeleteItems
{
class Program
{
static void Main(string[] args)
{
var clientSettingsWebService2Client = new SettingsWebService2Client();
var accessToken = @"AccessToken";
var locationToken = @"LocationToken";
using (var scope = new OperationContextScope(clientSettingsWebService2Client.InnerChannel))
{
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = accessToken;
headers["LocationToken"] = locationToken;
var deleteItemsRequest = new DeleteItemsRequest()
{
BusinessDate = new DateTime(2023, 07, 28),
ChangesetName = "DeleteItems",
IsImmediatePublish = false,
ItemIds = new[] { 1,2,3 }
};
DeleteItemsRequest1 request1 = new DeleteItemsRequest1();
request1.request = deleteItemsRequest;
var deleteItemsResponse = clientSettingsWebService2Client.DeleteItems(request1);
if (deleteItemsResponse.DeleteItemsResult.ResultCode == 0)
{
Console.WriteLine("Success!");
}
else
{
Console.WriteLine($"Error Code: {deleteItemsResponse.DeleteItemsResult.ResultCode}");
Console.WriteLine($"Message: {deleteItemsResponse.DeleteItemsResult.Message}");
foreach (var error in deleteItemsResponse.DeleteItemsResult.Errors)
{
Console.WriteLine($"\tError: {error}");
}
}
Console.ReadKey();
}
}
}
}
DeletePriceChanges Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Threading.Tasks;
using API_Settings2_DeletePriceChanges.ServiceReference1;
namespace API_Settings2_DeletePriceChanges
{
class Program
{
static void Main(string[] args)
{
var clientSettingsWebService2Client = new SettingsWebService2Client();
var accessToken = @"";
var locationToken = @"";
using (var scope = new OperationContextScope(clientSettingsWebService2Client.InnerChannel))
{
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = accessToken;
headers["LocationToken"] = locationToken;
var deletePriceChangesRequest = new DeletePriceChangesRequest()
{
BusinessDate = new DateTime(2023, 01, 01),
ChangesetName = "DeletePriceChanges",
IsImmediatePublish = false,
PriceChangeIds = new[] {1, 2, 3}
};
var deletePriceChangesResponse = clientSettingsWebService2Client.DeletePriceChanges(deletePriceChangesRequest);
if (deletePriceChangesResponse.ResultCode == 0)
{
Console.WriteLine("Success!");
}
else
{
Console.WriteLine($"Error Code: {deletePriceChangesResponse.ResultCode}");
Console.WriteLine($"Message: {deletePriceChangesResponse.Message}");
foreach (var error in deletePriceChangesResponse.Errors)
{
Console.WriteLine($"\tError: {error}");
}
}
Console.ReadKey();
}
}
}
}
DeleteTaxes Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Threading.Tasks;
using API_Settings2_DeleteTaxes.ServiceReference1;
namespace API_Settings2_DeleteTaxes
{
class Program
{
static void Main(string[] args)
{
var clientSettingsWebService2Client = new SettingsWebService2Client();
var accessToken = @"";
var locationToken = @"";
using (var scope = new OperationContextScope(clientSettingsWebService2Client.InnerChannel))
{
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = accessToken;
headers["LocationToken"] = locationToken;
var deleteTaxesRequest = new DeleteTaxesRequest()
{
BusinessDate = new DateTime(2023, 1, 1),
ChangesetName = "DeleteTaxes",
IsImmediatePublish = false,
TaxIds = new[] { 1,2,3 }
};
var deleteTaxesResponse = clientSettingsWebService2Client.DeleteTaxes(deleteTaxesRequest);
if (deleteTaxesResponse.ResultCode == 0)
{
Console.WriteLine("Success!");
}
else
{
Console.WriteLine($"Error Code: {deleteTaxesResponse.ResultCode}");
Console.WriteLine($"Message: {deleteTaxesResponse.Message}");
foreach (var saveResult in deleteTaxesResponse.SaveResult)
{
foreach (var error in saveResult.ValidationMessages)
{
Console.WriteLine($"\t\tError: {error}");
}
}
}
Console.ReadKey();
}
}
}
}
GetBrands Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using Settings2_GetBrands.Settings2ServiceReference;
namespace Settings2_GetBrands
{
class Program
{
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
int count = 1;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
//Make GetBrands call
var response = client.GetBrands();
//If call is successful
if (response.ResultCode == 0)
{
//Loop through collection of Brand objects returned
if (response.Collection != null)
{
foreach (var item in response.Collection)
{
Console.WriteLine("Brand #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("---------------------------");
count++;
}
}
Console.WriteLine("End");
Console.ReadKey();
}
else
{
Console.WriteLine("Error Code: " + response.ResultCode);
Console.WriteLine("Message: " + response.Message);
Console.ReadKey();
}
}
}
}
}
GetBusinessHours Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using Settings2_GetBusinessHours.Settings2ServiceReference;
namespace Settings2_GetBusinessHours
{
class Program
{
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
var request = new GetBusinessHoursRequest()
{
StartDate="2020-11-11",
EndDate="2020-12-12"
};
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
//Make GetBusinessHours call
var response = client.GetGetBusinessHours(request);
//If call is successful
if (response.GetBusinessHoursResult.ResultCode == 0)
{
//Loop through collection of LocationOptions objects returned
if (response.GetBusinessHoursResult.LocationOptions != null)
{
foreach (var item in response.GetBusinessHoursResult.LocationOptions)
{
foreach (var businessHour in response.GetBusinessHoursResult.LocationOptions.BusinessHours)
{
Console.WriteLine("---------------------------");
Console.WriteLine("CloseTime: " + businessHour.CloseTime);
Console.WriteLine("DayOfWeek: " + businessHour.DayOfWeek);
Console.WriteLine("OpenTime: " + businessHour.OpenTime);
}
foreach (var excDate in response.GetBusinessHoursResult.LocationOptions.ExceptionDates)
{
Console.WriteLine("---------------------------");
Console.WriteLine("CloseTime: " + excDate.CloseTime);
Console.WriteLine("Date: " + excDate.Date);
Console.WriteLine("IsOpen: " + excDate.IsOpen);
Console.WriteLine("OpenTime: " + excDate.OpenTime);
}
}
}
Console.WriteLine("End");
Console.ReadKey();
}
else
{
Console.WriteLine("Error Code: " + response.GetBusinessHoursResult.ResultCode);
Console.WriteLine("Message: " + response.GetBusinessHoursResult.Message);
Console.ReadKey();
}
}
}
}
}
GetCharities Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using ServiceReference1;
namespace Settings2_GetCharities
{
class Program
{
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
var request = new GetCharitiesRequest();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
int count = 1;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
//Make GetCharities call
var response = client.GetCharities(request);
//If call is successful
if (response.GetCharitiesResult.ResultCode == 0)
{
//Loop through collection of Charity objects returned
if (response.GetCharitiesResult.Collection != null)
{
foreach (var charity in response.GetCharitiesResult.Collection)
{
Console.WriteLine("Charity #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + charity.Id);
Console.WriteLine("Name: " + charity.Name);
Console.WriteLine("AutomaticallyApply: " + charity.AutomaticallyApply);
Console.WriteLine("Days: " + charity.Days);
Console.WriteLine("EndDate: " + charity.EndDate);
Console.WriteLine("EndTime: " + charity.EndTime);
Console.WriteLine("EnforceDateRange: " + charity.EnforceDateRange);
Console.WriteLine("EnforceDays: " + charity.EnforceDays);
Console.WriteLine("EnforceMaximumPerOrder: " + charity.EnforceMaximumPerOrder);
Console.WriteLine("EnforceTimeRange: " + charity.EnforceTimeRange);
Console.WriteLine("IsActive: " + charity.IsActive);
Console.WriteLine("Items: ");
if (charity.Items != null)
{
foreach (var item in charity.Items)
{
Console.WriteLine("\tItemId: " + item.ItemId);
}
}
Console.WriteLine("MaximumPerOrder: " + charity.MaximumPerOrder);
Console.WriteLine("Percent: " + charity.Percent);
Console.WriteLine("RoundUp: " + charity.RoundUp);
Console.WriteLine("StartDate: " + charity.StartDate);
Console.WriteLine("StartTime: " + charity.StartTime);
count++;
}
}
Console.WriteLine("End");
Console.ReadKey();
}
else
{
Console.WriteLine("Error Code: " + response.GetCharitiesResult.ResultCode);
Console.WriteLine("Message: " + response.GetCharitiesResult.Message);
Console.ReadKey();
}
}
}
}
}
GetDestinations Minified Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using Settings2_GetDestinations.Settings2ServiceReference;
namespace Settings2_GetDestinations
{
class Program
{
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
int count = 1;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
//Make GetDestinations call
var response = client.GetDestinations();
//If call is successful
if (response.ResultCode == 0)
{
//Loop through collection of Destination objects returned
if (response.Collection != null)
{
foreach (var item in response.Collection)
{
Console.WriteLine("Destination #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("Description: " + item.Description);
Console.WriteLine("ValidDeliveryZones:");
//Loop through collection of DestinationDeliveryZone objects returned
if (item.ValidDeliveryZones != null)
{
foreach (var change in item.ValidDeliveryZones)
{
Console.WriteLine("\tId: " + change.Id);
Console.WriteLine("\tName: " + change.Name);
Console.WriteLine("\tSurchargeId: " + change.SurchargeId);
Console.WriteLine("\tCoordinates:");
//Loop through collection of DestinationDeliveryZoneCoordinates objects returned
if (change.Coordinates != null)
{
foreach (var compChange in change.Coordinates)
{
Console.WriteLine("\t\tId: " + compChange.Id);
Console.WriteLine("\t\tLatitude: " + compChange.Latitude);
Console.WriteLine("\t\tLongitude: " + compChange.Longitude);
Console.WriteLine("\t\t------------");
}
}
Console.WriteLine("\t-----------------------");
}
}
Console.WriteLine("---------------------------");
count++;
}
}
Console.WriteLine("End");
Console.ReadKey();
}
}
}
}
}
GetEmployees Minified Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using Settings2_GetEmployees.Settings2ServiceReference;
namespace Settings2_GetEmployees
{
class Program
{
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
int count = 1;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
//Make GetEmployees call
var response= client.GetEmployees();
//If call is successful
if (response.ResultCode == 0)
{
//Loop through collection of Employee objects returned
foreach (var item in response.Collection)
{
Console.WriteLine("Employee #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("DisplayName: " + item.DisplayName);
Console.WriteLine("Jobs:");
//Loop through collection of EmployeeJob objects returned
if (item.Jobs.Length > 0)
{
foreach (var job in item.Jobs)
{
Console.WriteLine("\tId: " + job.Id);
Console.WriteLine("\tJobId: " + job.JobId);
Console.WriteLine("\t------------");
}
}
Console.WriteLine("PayrollId: " + item.PayrollId);
Console.WriteLine("---------------------------");
count++;
}
Console.WriteLine("End");
Console.ReadKey();
}
}
}
}
}
GetFutureOrderingOptions Minified Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using Settings2_GetFutureOrderingOptions.Settings2ServiceReference;
namespace Settings2_GetFutureOrderingOptions
{
class Program
{
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
//Make GetFutureOrderingOptions call
var response = client.GetFutureOrderingOptions();
//If call is successful
if (response.ResultCode == 0)
{
var item = response.FutureOrderingOptions;
Console.WriteLine("AllowFutureDateOrdering: " + item.AllowFutureDateOrdering);
Console.WriteLine("MinimumLeadMinutes: " + item.MinimumLeadMinutes);
Console.WriteLine("MinimumPrepMinutes: " + item.MinimumPrepMinutes);
Console.WriteLine("---------------------------");
Console.WriteLine("End");
Console.ReadKey();
}
}
}
}
}
GetItems Minified Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using Settings2_GetItems.Settings2ServiceReference;
namespace Settings2_GetItems
{
class Program
{
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
var request = new GetItemsRequest1();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
int count = 1;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
//Make GetItems call
var response = client.GetItems(request);
//If call is successful
if (response.GetItemsResult.ResultCode == 0)
{
//Loop through collection of Item objects returned
if (response.GetItemsResult.Collection != null)
{
foreach (var item in response.GetItemsResult.Collection)
{
Console.WriteLine("Item #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("AllowAutoCombo: " + item.AllowAutoCombo);
Console.WriteLine("AlternateId: " + item.AlternateId);
Console.WriteLine("AlternateKitchenName: " + item.AlternateKitchenName);
Console.WriteLine("AskName: " + item.AskName);
Console.WriteLine("AskPrice: " + item.AskPrice);
Console.WriteLine("BlinkInKitchen: " + item.BlinkInKitchen);
Console.WriteLine("ClearsAllOtherModifiers: " + item.ClearsAllOtherModifiers);
Console.WriteLine("Cost: " + item.Cost);
Console.WriteLine("DaysAvailable: " + item.DaysAvailable);
Console.WriteLine("ItemGroups: " + item.ItemGroups);
Console.WriteLine("ModifierTierId: " + item.ModifierTierId);
Console.WriteLine("Price: " + item.Price);
Console.WriteLine("PricePer: " + item.PricePer);
Console.WriteLine("PrinterGroupId: " + item.PrinterGroupId);
Console.WriteLine("RevenueCenterId: " + item.RevenueCenterId);
Console.WriteLine("Skus: " + item.Skus);
Console.WriteLine("SortPriority: " + item.SortPriority);
Console.WriteLine("TareId: " + item.TareId);
Console.WriteLine("Taxes: " + item.Taxes);
Console.WriteLine("Type: " + item.Type);
Console.WriteLine("UnitName: " + item.UnitName);
Console.WriteLine("UnitPrecision: " + item.UnitPrecision);
Console.WriteLine("VideoGroupId: " + item.VideoGroupId);
Console.WriteLine("Components:");
//Loop through collection of ItemCompositeComponent objects returned
if (item.Components != null)
{
foreach (var change in item.Components)
{
Console.WriteLine("ItemCompositeComponent: ");
Console.WriteLine("\tId: " + change.Id);
Console.WriteLine("\tName: " + change.Name);
Console.WriteLine("\tItemGroupId: " + change.ItemGroupId);
Console.WriteLine("\tOverridePrice: " + change.OverridePrice);
Console.WriteLine("\tPrice: " + change.Price);
Console.WriteLine("\tRollupPrice: " + change.RollupPrice);
Console.WriteLine("\tItems:");
//Loop through collection of ItemCompositeComponentItem objects returned
if (change.Items != null)
{
foreach (var compChange in change.Items)
{
Console.WriteLine("ItemCompositeComponentItem: ");
Console.WriteLine("\t\tId: " + compChange.Id);
Console.WriteLine("\t\tIsDefault: " + compChange.IsDefault);
Console.WriteLine("\t\tItemId: " + compChange.ItemId);
Console.WriteLine("\t\tOverridePrice: " + compChange.OverridePrice);
Console.WriteLine("\t\tPrice: " + compChange.Price);
Console.WriteLine("\t\t------------");
}
}
Console.WriteLine("\t-----------------------");
}
}
count++;
}
}
Console.WriteLine("End");
Console.ReadKey();
}
else
{
Console.WriteLine("Error Code: " + response.GetItemsResult.ResultCode);
Console.WriteLine("Message: " + response.GetItemsResult.Message);
Console.ReadKey();
}
}
}
}
}
GetJobs Minified Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using Settings2_GetJobs.Settings2ServiceReference;
namespace Settings2_GetJobs
{
class Program
{
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
int count = 1;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"AccessToken";
//Make GetJobs call
var response = client.GetJobs();
//If call is successful
if (response.ResultCode == 0)
{
//Loop through collection of Job objects returned
foreach (var item in response.Collection)
{
Console.WriteLine("Job #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("---------------------------");
count++;
}
Console.WriteLine("End");
Console.ReadKey();
}
}
}
}
}
GetKitchenQueues Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using Settings2_GetKitchenQueues.Settings2ServiceReference;
namespace Settings2_GetKitchenQueues
{
class Program
{
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
int count = 1;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
//Make GetKitchenQueues call
var response = client.GetKitchenQueues();
//If call is successful
if (response.ResultCode == 0)
{
//Loop through collection of KitchenQueue objects returned
foreach (var item in response.Collection)
{
Console.WriteLine("KitchenQueue #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("---------------------------");
count++;
}
Console.WriteLine("End");
Console.ReadKey();
}
else
{
Console.WriteLine("Error Code: " + reply.ResultCode);
Console.WriteLine("Message: " + reply.Message);
Console.ReadKey();
}
}
}
}
}
GetLastModifiedTime Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using Settings2_GetLastModifiedTime.Settings2ServiceReference;
namespace Settings2_GetLastModifiedTime
{
class Program
{
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
//Make GetLastModifiedTime call
var response = client.GetLastModifiedTime();
//If call is successful
if (response.ResultCode == 0)
{
Console.WriteLine("EmployeesOnlyLastModifiedTime: " + response.EmployeesOnlyLastModifiedTime);
Console.WriteLine("SettingsLastModified: " + response.SettingsLastModified);
Console.WriteLine("SettingsOnlyLastModifiedTime: " + response.SettingsOnlyLastModifiedTime);
Console.WriteLine("---------------------------");
Console.WriteLine("End");
Console.ReadKey();
}
else
{
Console.WriteLine("Error Code: " + response.ResultCode);
Console.WriteLine("Message: " + response.Message);
Console.ReadKey();
}
}
}
}
}
GetMenu Minified Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using Settings2_GetMenu.Settings2ServiceReference;
namespace Settings2_GetMenu
{
class Program
{
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
int count = 1;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
int menuId = 1;
//Include the MenuId parameter in request body
var request = new GetMenuRequest()
{
MenuId = menuId,
};
//Make GetMenu call
var response = client.GetMenu(request);
//If call is successful
if (response.ResultCode == 0)
{
var item = response.Menu;
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("Categories:");
//Loop through collection of MenuCategory objects returned
if (item.Categories != null)
{
foreach (var category in item.Categories)
{
Console.WriteLine("\tCategory #" + count);
Console.WriteLine("\t-----------------------");
Console.WriteLine("\tId: " + category.Id);
Console.WriteLine("\tItems:");
//Loop through collection of MenuItem objects returned
if (category.Items != null)
{
foreach (var menuItem in category.Items)
{
Console.WriteLine("\t\tId: " + menuItem.Id);
Console.WriteLine("\t\t------------");
}
}
Console.WriteLine("\t-----------------------");
count++;
}
}
Console.WriteLine("---------------------------");
Console.WriteLine("End");
Console.ReadKey();
}
}
}
}
}
GetOnlineOrderingMenuOptions Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using Settings2_GetOnlineOrderingMenuOptions.Settings2ServiceReference;
namespace Settings2_GetOnlineOrderingMenuOptions
{
class Program
{
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
//Make GetOnlineOrderingMenuOptions call
var response = client.GetOnlineOrderingMenuOptions();
//If call is successful
if (response.ResultCode == 0)
{
Console.WriteLine("OnlineOrderingMenuId: " + response.OnlineOrderingMenuId);
Console.WriteLine("---------------------------");
Console.WriteLine("End");
Console.ReadKey();
}
}
}
}
}
GetPermissions Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using Settings2_GetPermissions.Settings2ServiceReference;
namespace Settings2_GetPermissions
{
class Program
{
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
int count = 1;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
//Make GetPermissions call
var response = client.GetPermissions();
//If call is successful
if (response.ResultCode == 0)
{
//Loop through collection of Permission objects returned
if (response.Collection != null)
{
foreach (var item in response.Collection)
{
Console.WriteLine("Permission #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("IsActive: " + item.IsActive);
Console.WriteLine("---------------------------");
count++;
}
}
Console.WriteLine("End");
Console.ReadKey();
}
else
{
Console.WriteLine("Error Code: " + response.ResultCode);
Console.WriteLine("Message: " + response.Message);
Console.ReadKey();
}
}
}
}
}
GetPriceChanges Minified Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using Settings2_GetPriceChanges.Settings2ServiceReference;
namespace Settings2_GetPriceChanges
{
class Program
{
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
int count = 1;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
//Make GetPriceChanges call
var response = client.GetPriceChanges();
//If call is successful
if (response.ResultCode == 0)
{
//Loop through collection of PriceChange objects returned
if (response.Collection != null)
{
foreach (var item in response.Collection)
{
Console.WriteLine("PriceChange #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("ItemPriceChanges:");
//Loop through collection of ItemPriceChange objects returned
if (item.ItemPriceChanges != null)
{
foreach (var change in item.ItemPriceChanges)
{
Console.WriteLine("\tId: " + change.Id);
Console.WriteLine("\tItemId: " + change.ItemId);
Console.WriteLine("\tName: " + change.Name);
Console.WriteLine("\tOriginalPrice: " + change.OriginalPrice);
Console.WriteLine("\tPrice: " + change.Price);
Console.WriteLine("\t-----------------------");
}
}
Console.WriteLine("---------------------------");
count++;
}
}
Console.WriteLine("End");
Console.ReadKey();
}
}
}
}
}
GetPromotions Minified Sample Code
using ServiceReference;
using System;
using System.ServiceModel;
using System.ServiceModel.Web;
namespace Settings2_GetPromotions
{
class Program
{
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
var request = new GetPromotionsRequest();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
int count = 1;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
//Make GetPromotions call
var response = client.GetPromotions(request);
//If call is successful
if (response.ResultCode == 0)
{
//Loop through collection of Promotion objects returned
if (response.Collection != null)
{
foreach (var promotion in response.Collection)
{
Console.WriteLine("Promotion #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + promotion.Id);
Console.WriteLine("Name: " + promotion.Name);
Console.WriteLine("AllowLaterOrderReductions: " + promotion.AllowLaterOrderReductions);
Console.WriteLine("AllowPriorItemPromotions: " + promotion.AllowPriorItemPromotions);
Console.WriteLine("AllowPriorModifierPromotions: " + promotion.AllowPriorModifierPromotions);
Console.WriteLine("AllowPriorOrderReductions: " + promotion.AllowPriorOrderReductions);
Console.WriteLine("AlternateId: " + promotion.AlternateId);
Console.WriteLine("BarCode: " + promotion.BarCode);
Console.WriteLine("Code: " + promotion.Code);
Console.WriteLine("Days: " + promotion.Days);
Console.WriteLine("EndDate: " + promotion.EndDate);
Console.WriteLine("EndTime: " + promotion.EndTime);
Console.WriteLine("EnforceDateRange: " + promotion.EnforceDateRange);
Console.WriteLine("EnforceDays: " + promotion.EnforceDays);
Console.WriteLine("EnforceMaximumAmount: " + promotion.EnforceMaximumAmount);
Console.WriteLine("EnforceMaximumPerOrder: " + promotion.EnforceMaximumPerOrder);
Console.WriteLine("EnforceTimeRange: " + promotion.EnforceTimeRange);
Console.WriteLine("IsActive: " + promotion.IsActive);
Console.WriteLine("Type: " + promotion.Type);
if (promotion.ValidDestinations != null)
{
//Loop through collection of PromotionDestinations objects returned
foreach (var promotionDestination in promotion.ValidDestinations)
{
Console.WriteLine("PromotionDestination: ");
Console.WriteLine("\tId: " + promotionDestination.Id);
Console.WriteLine("\tDestinationId: " + promotionDestination.DestinationId);
Console.WriteLine("\t-----------------------");
}
}
Console.WriteLine("ValidTerminalTypes: " + promotion.ValidTerminalTypes);
//If Returned Promotion is BogoPromotion
if (promotion.Type == PromotionType.Bogo)
{
var bogoPromotion = (BogoPromotion)promotion;
Console.WriteLine("Amount: " + bogoPromotion.Amount);
Console.WriteLine("AutomaticallyApply: " + bogoPromotion.AutomaticallyApply);
Console.WriteLine("CanSpanMultipleSeats: " + bogoPromotion.CanSpanMultipleSeats);
Console.WriteLine("DiscountedItemGroupId: " + bogoPromotion.DiscountedItemGroupId);
if (bogoPromotion.DiscountedItemIds != null)
{
//Loop through collection of PromotionEligibleItems objects returned
foreach (var promotionEligibleItem in bogoPromotion.DiscountedItemIds)
{
Console.WriteLine("PromotionEligibleItem: ");
Console.WriteLine("\tId: " + promotionEligibleItem.Id);
Console.WriteLine("\tItemId: " + promotionEligibleItem.ItemId);
Console.WriteLine("\t-----------------------");
}
}
Console.WriteLine("FreeItemType: " + bogoPromotion.FreeItemType);
Console.WriteLine("PricingMethod: " + bogoPromotion.PricingMethod);
}
Console.WriteLine("---------------------------");
count++;
}
}
Console.WriteLine("End");
Console.ReadKey();
}
else
{
Console.WriteLine("Error Code: " + response.ResultCode);
Console.WriteLine("Message: " + response.Message);
Console.ReadKey();
}
}
}
}
}
GetSecurityLevels Minified Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using Settings2_GetSecurityLevels.Settings2ServiceReference;
namespace Settings2_GetSecurityLevels
{
class Program
{
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
int count = 1;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
//Make GetSecurityLevels call
var response = client.GetSecurityLevels();
//If call is successful
if (response.ResultCode == 0)
{
//Loop through collection of SecurityLevel objects returned
if (response.Collection != null)
{
foreach (var item in response.Collection)
{
Console.WriteLine("SecurityLevel #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("Permissions:");
//Loop through collection of Permission objects returned
if (item.Permissions != null)
{
foreach (var permission in item.Permissions)
{
Console.WriteLine("\tId: " + permission.Id);
Console.WriteLine("\tPermissionId: " + permission.PermissionId);
Console.WriteLine("\t------------");
}
}
Console.WriteLine("---------------------------");
count++;
}
}
Console.WriteLine("End");
Console.ReadKey();
}
}
}
}
}
GetSettings Minified Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Settings2_GetSettings.Settings2ServiceReference;
using System.ServiceModel.Web;
using System.ServiceModel;
namespace Settings2_GetSettings
{
class Program
{
static void PrintEmployees(Employee[] employees)
{
int count = 1;
//Loop through collection of Employee objects returned
foreach (var item in employees)
{
Console.WriteLine("Employee #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("DisplayName: " + item.DisplayName);
Console.WriteLine("Jobs:");
//Loop through collection of EmployeeJob objects returned
if (item.Jobs.Length > 0)
{
foreach (var job in item.Jobs)
{
Console.WriteLine("\tId: " + job.Id);
Console.WriteLine("\tJobId: " + job.JobId);
Console.WriteLine("\t------------");
}
}
Console.WriteLine("PayrollId: " + item.PayrollId);
Console.WriteLine("---------------------------");
count++;
}
Console.WriteLine("Employees End");
}
static void PrintJobs(Job[] jobs)
{
int count = 1;
//Loop through collection of Job objects returned
foreach (var item in jobs)
{
Console.WriteLine("Job #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("---------------------------");
count++;
}
Console.WriteLine("Jobs End");
}
static void PrintPermissions(Permission[] permissions)
{
int count = 1;
//Loop through collection of Permission objects returned
foreach (var item in permissions)
{
Console.WriteLine("Permission #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("IsActive: " + item.IsActive);
Console.WriteLine("---------------------------");
count++;
}
Console.WriteLine("Permissions End");
}
static void PrintSecurityLevels(SecurityLevel[] securityLevels)
{
int count = 1;
//Loop through collection of SecurityLevel objects returned
foreach (var item in securityLevels)
{
Console.WriteLine("SecurityLevel #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("Permissions:");
//Loop through collection of Permission objects returned
if (item.Permissions != null)
{
foreach (var permission in item.Permissions)
{
Console.WriteLine("\tId: " + permission.Id);
Console.WriteLine("\tPermissionId: " + permission.PermissionId);
Console.WriteLine("\t------------");
}
}
Console.WriteLine("---------------------------");
count++;
}
Console.WriteLine("Security Levels End");
}
static void PrintKitchenQueues(KitchenQueue[] kitchenQueues)
{
int count = 1;
//Loop through collection of KitchenQueue objects returned
foreach (var item in kitchenQueues)
{
Console.WriteLine("KitchenQueue #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("---------------------------");
count++;
}
Console.WriteLine("End");
}
static void PrintFutureOrderingOptions(FutureOrderingOptions futureOrderingOptions)
{
Console.WriteLine("AllowFutureDateOrdering: " + futureOrderingOptions.AllowFutureDateOrdering);
Console.WriteLine("MinimumLeadMinutes: " + futureOrderingOptions.MinimumLeadMinutes);
Console.WriteLine("MinimumPrepMinutes: " + futureOrderingOptions.MinimumPrepMinutes);
Console.WriteLine("---------------------------");
Console.WriteLine("Future Ordering Options End");
}
static void PrintMenu(Menu item)
{
int count = 1;
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("Categories:");
//Loop through collection of MenuCategory objects returned
if (item.Categories != null)
{
foreach (var category in item.Categories)
{
Console.WriteLine("\tCategory #" + count);
Console.WriteLine("\t-----------------------");
Console.WriteLine("\tId: " + category.Id);
//Loop through collection of MenuItem objects returned
if (category.Items != null)
{
Console.WriteLine("\tItems:");
foreach (var menuItem in category.Items)
{
Console.WriteLine("\t\tId: " + menuItem.Id);
if (menuItem.ModifierGroups != null)
{
Console.WriteLine("\t\tModifierGroups:");
//Loop through collection of MenuItemModifierGroup objects returned
foreach (var menuItemModifierGroup in menuItem.ModifierGroups)
{
Console.WriteLine("\t\t\tId: " + menuItemModifierGroup.Id);
Console.WriteLine("\t\t\tModifierGroupId: " + menuItemModifierGroup.ModifierGroupId);
}
}
else
{
Console.WriteLine("\t\tModifierGroups: None");
}
Console.WriteLine("\t\t------------");
}
}
else
{
Console.WriteLine("\tItems: None");
}
Console.WriteLine("\t-----------------------");
count++;
}
}
else
{
Console.WriteLine("Category: None");
}
Console.WriteLine("---------------------------");
Console.WriteLine($"Menu {item.Name} End");
}
static void PrintOnlineOrderingMenuOptions(OnlineOrderingMenuOptions onlineOrderingMenuOptions)
{
Console.WriteLine("OnlineOrderingMenuId: " + onlineOrderingMenuOptions.OnlineOrderingMenuId);
Console.WriteLine("---------------------------");
Console.WriteLine("Online Ordering Menu Options End");
}
static void PrintPriceChanges(PriceChange[] priceChanges)
{
int count = 1;
//Loop through collection of PriceChange objects returned
foreach (var item in priceChanges)
{
Console.WriteLine("PriceChange #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("ItemPriceChanges:");
//Loop through collection of ItemPriceChange objects returned
if (item.ItemPriceChanges != null)
{
foreach (var change in item.ItemPriceChanges)
{
Console.WriteLine("\tId: " + change.Id);
Console.WriteLine("\tItemId: " + change.ItemId);
Console.WriteLine("\tName: " + change.Name);
Console.WriteLine("\tOriginalPrice: " + change.OriginalPrice);
Console.WriteLine("\tPrice: " + change.Price);
Console.WriteLine("\t-----------------------");
}
}
Console.WriteLine("---------------------------");
count++;
}
Console.WriteLine("Price Changes End");
}
static void PrintPromotions(Promotion[] promotions)
{
int count = 1;
//Loop through collection of Promotion objects returned
foreach (var item in promotions)
{
Console.WriteLine("Promotion #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("BarCode: " + item.BarCode);
Console.WriteLine("Code: " + item.Code);
Console.WriteLine("IsActive: " + item.IsActive);
Console.WriteLine("IsCodeRequired: " + item.IsCodeRequired);
Console.WriteLine("RequireSingleUseCode: " + item.RequireSingleUseCode);
Console.WriteLine("Type: " + item.Type);
Console.WriteLine("---------------------------");
count++;
}
Console.WriteLine("Promotions End");
}
static void PrintTables(Table[] tables)
{
int count = 1;
//Loop through collection of Table objects returned
foreach (var item in tables)
{
Console.WriteLine("Table #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("Capacity: " + item.Capacity);
Console.WriteLine("IsActive: " + item.IsActive);
Console.WriteLine("---------------------------");
count++;
}
Console.WriteLine("Tables End");
}
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
var request = new GetSettingsRequest()
{
DataTypes = new DataType[]
{
DataType.Employee,
DataType.Job,
DataType.Permission,
DataType.SecurityLevel,
DataType.KitchenQueue,
DataType.FutureOrderingOptions,
DataType.Menu,
DataType.OnlineOrderingMenuOptions,
DataType.PriceChange,
DataType.Promotion,
DataType.Table
}
};
//Make GetSettings call
var response = client.GetSettings(request);
//If call is successful
if (response.ResultCode == 0)
{
var employees = response.Settings.Employees;
var jobs = response.Settings.Jobs;
var permissions = response.Settings.Permissions;
var securityLevels = response.Settings.SecurityLevels;
var kitchenQueues = response.Settings.KitchenQueues;
var futureOrderingOptions = response.Settings.FutureOrderingOptions;
var menus = response.Settings.Menus;
var onlineOrderingMenuOptions = response.Settings.OnlineOrderingMenuOptions;
var priceChanges = response.Settings.PriceChanges;
var promotions = response.Settings.Promotions;
var tables = response.Settings.Tables;
if (employees != null)
{
Console.WriteLine("Employees:");
PrintEmployees(employees);
}
else
{
Console.WriteLine("Employees: None");
}
if (jobs != null)
{
Console.WriteLine("Jobs:");
PrintJobs(jobs);
}
else
{
Console.WriteLine("Jobs: None");
}
if (permissions != null)
{
Console.WriteLine("Permissions:");
PrintPermissions(permissions);
}
else
{
Console.WriteLine("Permissions: None");
}
if (securityLevels != null)
{
Console.WriteLine("Security Levels:");
PrintSecurityLevels(securityLevels);
}
else
{
Console.WriteLine("Security Levels: None");
}
if (kitchenQueues != null)
{
Console.WriteLine("Kitchen Queues:");
PrintKitchenQueues(kitchenQueues);
}
else
{
Console.WriteLine("Kitchen Queues: None");
}
if (futureOrderingOptions != null)
{
Console.WriteLine("Future Ordering Options:");
PrintFutureOrderingOptions(futureOrderingOptions);
}
else
{
Console.WriteLine("Future Ordering Options: None");
}
if (menus != null)
{
Console.WriteLine("Menus:");
foreach (var menu in menus)
{
Console.WriteLine($"Menu {menu.Name}: ");
PrintMenu(menu);
}
Console.WriteLine("Menus End");
}
else
{
Console.WriteLine("Menus: None");
}
if (onlineOrderingMenuOptions != null)
{
Console.WriteLine("Online Ordering Menu Options:");
PrintOnlineOrderingMenuOptions(onlineOrderingMenuOptions);
}
else
{
Console.WriteLine("Online Ordering Menu Options: None");
}
if(priceChanges != null)
{
Console.WriteLine("Price Changes:");
PrintPriceChanges(priceChanges);
}
else
{
Console.WriteLine("Price Changes: None");
}
if (promotions != null)
{
Console.WriteLine("Promotions:");
PrintPromotions(promotions);
}
else
{
Console.WriteLine("Promotions: None");
}
if (tables != null)
{
Console.WriteLine("Tables:");
PrintTables(tables);
}
else
{
Console.WriteLine("Tables: None");
}
}
}
Console.ReadKey();
}
}
}
GetTables Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using Settings2_GetTables.Settings2ServiceReference;
namespace Settings2_GetTables
{
class Program
{
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
int count = 1;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
//Make GetTables call
var response = client.GetTables();
//If call is successful
if (response.ResultCode == 0)
{
//Loop through collection of Table objects returned
if (response.Collection != null)
{
foreach (var item in response.Collection)
{
Console.WriteLine("Table #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("Capacity: " + item.Capacity);
Console.WriteLine("IsActive: " + item.IsActive);
Console.WriteLine("---------------------------");
count++;
}
Console.WriteLine("End");
}
}
else
{
Console.WriteLine("Error Code: " + response.ResultCode);
Console.WriteLine("Message: " + response.Message);
}
}
Console.ReadKey();
}
}
}
GetTaxes Minified Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using Settings2_GetTaxes.Settings2ServiceReference;
namespace Settings2_GetTaxes
{
class Program
{
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
int count = 1;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
//Make GetTaxes call
var response = client.GetTaxes();
//If call is successful
if (response.ResultCode == 0)
{
//Loop through collection of Tax objects returned
if (response.Collection != null)
{
foreach (var item in response.Collection)
{
Console.WriteLine("Tax #" + count);
Console.WriteLine("---------------------------");
Console.WriteLine("Id: " + item.Id);
Console.WriteLine("Name: " + item.Name);
Console.WriteLine("Amount: " + item.Amount);
Console.WriteLine("Destinations:");
//Loop through collection of TaxDestination objects returned
if (item.TaxDestination != null)
{
foreach (var change in item.TaxDestination)
{
Console.WriteLine("\tId: " + change.Id);
Console.WriteLine("\tDestinationId: " + change.DestinationId);
Console.WriteLine("\t-----------------------");
}
}
Console.WriteLine("---------------------------");
count++;
}
}
Console.WriteLine("End");
Console.ReadKey();
}
}
}
}
}
SaveBusinessHours Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Threading.Tasks;
using API_Settings2_SaveBusinessHours.ServiceReference1;
using K = ExternalApi.SettingsServiceClient.Contracts;
using SettingsApi.V2.Data.LocationOptions;
using ExternalApi.Common.Utilities;
namespace API_Settings2_SaveBusinessHours
{
class Program
{
static void Main(string[] args)
{
var clientSettingsWebService2Client = new SettingsWebService2Client();
var accessToken = @"";
var locationToken = @"";
using (var scope = new OperationContextScope(clientSettingsWebService2Client.InnerChannel))
{
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = accessToken;
headers["LocationToken"] = locationToken;
List<K.BusinessHourRange> businesshour=new List<K.BusinessHourRange>()
{
new K.BusinessHourRange(){Id = 1, OpenTime = new TimeSpan(7,00,00), CloseTime = new TimeSpan(22, 00, 00),DayOfWeek = DayOfWeek.Wednesday},
new K.BusinessHourRange(){Id = 2, OpenTime = new TimeSpan(7,00,00), CloseTime = new TimeSpan(22, 00, 00),DayOfWeek = DayOfWeek.Thursday},
new K.BusinessHourRange(){Id = 3, OpenTime = new TimeSpan(22,00,00), CloseTime = new TimeSpan(04, 00, 00),DayOfWeek = DayOfWeek.Thursday}
};
var saveBusinessHoursRequest = new SaveBusinessHoursRequest()
{
BusinessDate = new DateTime(2023, 1, 1),
ChangesetName = "SaveBusinessHours",
IsImmediatePublish = false,
BusinessHours = businesshour
};
var saveBusinessHoursResponse = clientSettingsWebService2Client.SaveBusinessHours(saveBusinessHoursRequest);
if (saveBusinessHoursResponse.ResultCode == 0)
{
Console.WriteLine("Success!");
foreach (var saveResult in saveBusinessHoursResponse.SaveResult)
{
Console.WriteLine($"\tId: {saveResult.Id}");
Console.WriteLine($"\tOriginalBusinessHourId: {saveResult.OriginalId}");
}
}
else
{
Console.WriteLine($"Error Code: {saveBusinessHoursResponse.ResultCode}");
Console.WriteLine($"Message: {saveBusinessHoursResponse.Message}");
foreach (var saveResult in saveBusinessHoursResponse.SaveResult)
{
foreach (var error in saveResult.ValidationMessages)
{
Console.WriteLine($"\t\tError: {error}");
}
}
}
Console.ReadKey();
}
}
}
}
SaveDestinations Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Threading.Tasks;
using API_Settings2_SaveDestinations.ServiceReference1;
namespace API_Settings2_SaveDestinations
{
class Program
{
static void Main(string[] args)
{
var clientSettingsWebService2Client = new SettingsWebService2Client();
var accessToken = @"";
var locationToken = @"";
using (var scope = new OperationContextScope(clientSettingsWebService2Client.InnerChannel))
{
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = accessToken;
headers["LocationToken"] = locationToken;
var saveDestinationsRequest = new SaveDestinationsRequest()
{
BusinessDate = new DateTime(2023, 02, 22),
ChangesetName = "SaveDestinations",
IsImmediatePublish = false,
Destinations = new Destination[]
{
new Destination()
{
Id = -1,
Name = "abc",
AllItems = true,
AutoCloseFutureOrders = true,
AutoPrintType = AutoPrintType.Never,
AutoPrintCreditVouchers = true,
Description = "Destination description",
Indicator = "Indicator",
IsActive = true,
IsDelivery = true,
KitchenChitHeader = "kitchen",
KitchenDescription = "kitchen description",
//KitchenVideoColor = R,
LimitByDeliveryZone = false,
LimitByPostalCode = true,
PartyLabelOverride = "party",
SeatLabelOverride = "seat",
SuppressBarcode = true,
TipAndSignatureDialogEnabled = false,
ValidDeliveryZones = new DestinationDeliveryZone[]
{
new DestinationDeliveryZone()
{
Id = -2,
Coordinates = new DestinationDeliveryZoneCoordinate []
{
new DestinationDeliveryZoneCoordinate()
{
Id = 123,
Latitude = 26.922070,
Longitude = 75.778885
}
},
Name = "DeliveryZone Description",
SurchargeId = 321
}
},
ValidPostalCodes = new []{"000000","111111" }
}
}
};
var saveDestinationsResponse = clientSettingsWebService2Client.SaveDestinations(saveDestinationsRequest);
if (saveDestinationsResponse.ResultCode == 0)
{
Console.WriteLine("Success!");
foreach (var saveResult in saveDestinationsResponse.SaveResult)
{
Console.WriteLine($"\tNewDestinationId: {saveResult.Id}");
Console.WriteLine($"\tOriginalDestinationId: {saveResult.OriginalId}");
}
}
else
{
Console.WriteLine($"Error Code: {saveDestinationsResponse.ResultCode}");
Console.WriteLine($"Message: {saveDestinationsResponse.Message}");
foreach (var saveResult in saveDestinationsResponse.SaveResult)
{
foreach (var error in saveResult.ValidationMessages)
{
Console.WriteLine($"\t\tError: {error}");
}
}
}
Console.ReadKey();
}
}
}
}
SaveEmployees Minified Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using Settings2_SaveEmployees.Settings2ServiceReference;
namespace Settings2_SaveEmployees
{
class Program
{
public static Employee[] CreateEmployee()
{
int negativeId = -1;
var employee = new Employee()
{
Id = negativeId,
DisplayName = "John Doe",
FirstName = "John",
LastName = "Doe",
};
Employee[] employees = new Employee[]
{
employee
};
return employees;
}
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
//Include the at least one Employee in the Employees parameter in request body
var request = new SaveEmployeesRequest()
{
Employees = CreateEmployee(),
};
//Make SaveEmployees call
var response = client.SaveEmployees(request);
//If call is successful
if (response.ResultCode == 0)
{
Console.WriteLine("Success! Result Code: " + response.ResultCode);
}
else
{
Console.WriteLine("Error Code: " + response.ResultCode);
}
Console.ReadKey();
}
}
}
}
SaveExceptionDates Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Threading.Tasks;
using API_Settings2_SaveExceptionDates.ServiceReference1;
namespace API_Settings2_SaveExceptionDates
{
class Program
{
static void Main(string[] args)
{
var clientSettingsWebService2Client = new SettingsWebService2Client();
var accessToken = @"";
var locationToken = @"";
using (var scope = new OperationContextScope(clientSettingsWebService2Client.InnerChannel))
{
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = accessToken;
headers["LocationToken"] = locationToken;
var saveExceptionDatesRequest = new SaveExceptionDatesRequest()
{
BusinessDate = new DateTime(2023, 1, 1),
ChangesetName = "SaveExceptionDates",
IsImmediatePublish = false,
ExceptionDates = new List<ExceptionDate>()
{
new ExceptionDate() { Id = -1, Name = "ExceptionDateName", IsOpen = true, OpenTime = new TimeSpan(0,1,0), CloseTime = new TimeSpan(0,3,0) },
}
};
var saveExceptionDatesResponse = clientSettingsWebService2Client.SaveExceptionDates(saveExceptionDatesRequest);
if (saveExceptionDatesResponse.ResultCode == 0)
{
Console.WriteLine("Success!");
foreach (var saveResult in saveExceptionDatesResponse.SaveResult)
{
Console.WriteLine($"\Id: {saveResult.Id}");
Console.WriteLine($"\tOriginalExceptionDateId: {saveResult.OriginalId}");
}
}
else
{
Console.WriteLine($"Error Code: {saveExceptionDatesResponse.ResultCode}");
Console.WriteLine($"Message: {saveExceptionDatesResponse.Message}");
foreach (var saveResult in saveExceptionDatesResponse.SaveResult)
{
foreach (var error in saveResult.ValidationMessages)
{
Console.WriteLine($"\t\tError: {error}");
}
}
}
Console.ReadKey();
}
}
}
}
SaveItems Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Threading.Tasks;
using API_Settings2_SaveItems.ServiceReference1;
namespace API_Settings2_SaveItems
{
class Program
{
static void Main(string[] args)
{
var clientSettingsWebService2Client = new SettingsWebService2Client();
var accessToken = @"";
var locationToken = @"";
using (var scope = new OperationContextScope(clientSettingsWebService2Client.InnerChannel))
{
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = accessToken;
headers["LocationToken"] = locationToken;
var saveItemsRequest = new SaveItemsRequest()
{
BusinessDate = new DateTime(2023, 07, 28),
ChangesetName = "SaveItems",
IsImmediatePublish = false,
Items = new Item[]
{
new Item()
{
Id = -1,
Name = "New Item9999",
AllowAutoCombo = true,
AlternateId = "alternateid",
AlternateKitchenName = "AlternateKitchenName",
AskName = false,
AskPrice = false,
AvailableSelectDates = false,
AvailableSelectDays = false,
Cost = 25.34M,
Description = "Description",
IsActive = true,
RevenueCenterId=4001281,
BrandAllocations = new ItemBrandAllocation[]
{
new ItemBrandAllocation()
{
Id = -2,
BrandId = 1,
Weight = 5.00M
}
},
Ingredients = new ItemIngredient[]
{
new ItemIngredient()
{
Id = -3,
ItemId = 1,
Position = 5
}
},
ModifyPanels = new ItemModifyPanel[]
{
new ItemModifyPanel()
{
Id = -4,
PanelId = 1,
ScreenId = 5
}
}
}
}
};
SaveItemsRequest1 request1 = new SaveItemsRequest1();
request1.request = saveItemsRequest;
var saveItemsResponse = clientSettingsWebService2Client.SaveItems(request1);
if (saveItemsResponse.SaveItemsResult.ResultCode == 0)
{
Console.WriteLine("Success!");
foreach (var saveResult in saveItemsResponse.SaveItemsResult.SaveResult)
{
Console.WriteLine($"\tNewItemId: {saveResult.Id}");
Console.WriteLine($"\tOriginalItemId: {saveResult.OriginalId}");
foreach (var error in saveResult.ValidationMessages)
{
Console.WriteLine($"\t\tError: {error}");
}
}
}
else
{
Console.WriteLine($"Error Code:{saveItemsResponse.SaveItemsResult.ResultCode}");
Console.WriteLine($"Message: {saveItemsResponse.SaveItemsResult.Message}");
foreach (var error in saveItemsResponse.SaveItemsResult.Errors)
{
Console.WriteLine($"\tError: {error}");
}
}
Console.ReadKey();
}
}
}
}
SavePriceChanges Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Threading.Tasks;
using API_Settings2_SavePriceChanges.ServiceReference1;
namespace API_Settings2_SavePriceChanges
{
class Program
{
static void Main(string[] args)
{
var clientSettingsWebService2Client = new SettingsWebService2Client();
var accessToken = @"";
var locationToken = @"";
using (var scope = new OperationContextScope(clientSettingsWebService2Client.InnerChannel))
{
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = accessToken;
headers["LocationToken"] = locationToken;
var savePriceChangesRequest = new SavePriceChangesRequest()
{
BusinessDate = new DateTime(2023, 01, 01),
ChangesetName = "SavePriceChanges",
IsImmediatePublish = false,
PriceChanges = new PriceChange[]
{
new PriceChange()
{
Id = -1,
Days = 63,
EndDate = new DateTime(2023, 12, 21),
EndTime = new TimeSpan(11, 59, 59),
EnforceDateRanges = true,
EnforceDays = true,
EnforceTimeRanges = true,
IsActive = true,
ItemPriceChanges = new ItemPriceChange[]
{
new ItemPriceChange()
{
Id = -2,
ComponentPriceChanges = new ComponentPriceChange[]
{
new ComponentPriceChange()
{
ComponentId = 1,
ComponentItemPriceChanges = new ComponentItemPriceChange[]
{
new ComponentItemPriceChange()
{
Id = -3,
ItemId = 12345,
Price = 5.0M
}
}
}
},
ItemId = 123,
Name = "Item Description",
OriginalPrice = 2.0M,
Price = 10.0M
}
},
PriceChangeDestinations = new PriceChangeDestination[]
{
new PriceChangeDestination()
{
DestinationId = 2222,
DestinationName = "Destination Name",
Id = -4
}
}
}
}
};
var savePriceChangesResponse = clientSettingsWebService2Client.SavePriceChanges(savePriceChangesRequest);
if (savePriceChangesResponse.ResultCode == 0)
{
Console.WriteLine("Success!");
foreach (var saveResult in savePriceChangesResponse.SaveResult)
{
Console.WriteLine($"\tNewPriceChangeId: {saveResult.Id}");
Console.WriteLine($"\tOriginalPriceChangeId: {saveResult.OriginalId}");
foreach (var error in saveResult.Errors)
{
Console.WriteLine($"\t\tError: {error}");
}
}
}
else
{
Console.WriteLine($"Error Code:{savePriceChangesResponse.ResultCode}");
Console.WriteLine($"Message: {savePriceChangesResponse.Message}");
foreach (var error in saveResult.Errors)
{
Console.WriteLine($"\tError: {error}");
}
}
Console.ReadKey();
}
}
}
}
SaveTaxes Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.Text;
using System.Threading.Tasks;
using API_Settings2_SaveTaxes.ServiceReference1;
namespace API_Settings2_SaveTaxes
{
class Program
{
static void Main(string[] args)
{
var clientSettingsWebService2Client = new SettingsWebService2Client();
var accessToken = @"";
var locationToken = @"";
using (var scope = new OperationContextScope(clientSettingsWebService2Client.InnerChannel))
{
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = accessToken;
headers["LocationToken"] = locationToken;
var saveTaxesRequest = new SaveTaxesRequest()
{
BusinessDate = new DateTime(2023, 1, 1),
ChangesetName = "SaveTaxes",
IsImmediatePublish = false,
Taxes = new Tax[]
{
new Tax()
{
Id = -1,
Name = "abc",
Type = TaxType.None,
Amount = 10.0M,
MinimumAmount = 5.0M,
DisplayName = "New Tax",
IsInclusive = true,
UseLocationRules = true,
CompoundTax = true,
CompoundTaxPriority = 2,
ExemptionEnabled = false,
RoundingMethod = RoundingMethod.Nearest,
OrderTotalType = OrderTotalType.OrderTotal,
ExemptionOrderAmount = 5000.0M,
ExemptionItemGroupId = 123,
LimitDestinations = true,
Destinations = new TaxDestination[]
{
new TaxDestination()
{
Id = -2,
DestinationId = 1
}
},
ModifierItems = new []{12345},
NonRepeatingTaxBrackets = new TaxBracket[]
{
new TaxBracket()
{
Id = -2,
To = 5.0M,
From = 1.0M,
TaxAmount = 10.0M
}
},
RepeatingTaxBrackets = new TaxBracket[]
{
new TaxBracket()
{
Id = -2,
To = 5.0M,
From = 1.0M,
TaxAmount = 10.0M
}
},
AppliesTo = new []{123,456 }
}
}
};
var saveTaxesResponse = clientSettingsWebService2Client.SaveTaxes(saveTaxesRequest);
if (saveTaxesResponse.ResultCode == 0)
{
Console.WriteLine("Success!");
foreach (var saveResult in saveTaxesResponse.SaveResult)
{
Console.WriteLine($"\tNewTaxId: {saveResult.Id}");
Console.WriteLine($"\tOriginalTaxId: {saveResult.OriginalId}");
}
}
else
{
Console.WriteLine($"Error Code: {saveTaxesResponse.ResultCode}");
Console.WriteLine($"Message: {saveTaxesResponse.Message}");
foreach (var saveResult in saveTaxesResponse.SaveResult)
{
foreach (var error in saveResult.ValidationMessages)
{
Console.WriteLine($"\t\tError: {error}");
}
}
}
Console.ReadKey();
}
}
}
}
UpdateItemPrice Sample Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel;
using System.ServiceModel.Web;
using UpdateItemPriceSample.Settings2ServiceReference;
namespace UpdateItemPriceSample
{
class Program
{
public static ItemPriceUpdate[] CreateUpdates()
{
var priceUpdate = new ItemPriceUpdate()
{
ComponentId = 4004919,
ComponentItemId = 4004898,
ItemId = 4004912,
Price = 10
};
ItemPriceUpdate[] updates = new ItemPriceUpdate[]
{
priceUpdate
};
return updates;
}
static void Main(string[] args)
{
//Connect to Settings2 service client
var client = new SettingsWebService2Client();
//Set security protocol to TLS 1.2
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
using (var scope = new OperationContextScope(client.InnerChannel))
{
//Include tokens in HTTP Web Request Headers
var headers = WebOperationContext.Current.OutgoingRequest.Headers;
headers["AccessToken"] = @"AccessToken";
headers["LocationToken"] = @"LocationToken";
//Include at least one ItemPriceUpdate parameter in request body
var request = new UpdateItemPriceRequest()
{
BusinessDate = DateTime.Today,
ChangesetName = "UpdateItemPrices",
ItemPriceUpdates = CreateUpdates()
};
//Make UpdateItemPrice call
var response = client.UpdateItemPrice(request);
//If call is successful
if (response.ResultCode == 0)
{
Console.WriteLine("Success! Result Code: " + response.ResultCode);
}
else
{
Console.WriteLine("Error Code: " + response.ResultCode);
foreach (var error in response.Errors)
{
Console.WriteLine("Error: " + error.ErrorCode);
}
}
Console.ReadKey();
}
}
}
}