Kitchen.svc

Sending a Request to Kitchen.svc
All calls to Kitchen.svc require the AccessToken and the LocationToken in the HTTP Web Request Headers of the request. The parameters for the request body of each call are outlined in the sections below.

Kitchen.svc Endpoint
Endpoint
https://{{server}}.brinkpos.net/Kitchen.svc


HTTP Web Request Headers
Header Name
Header Value
AccessToken
{{AccessToken}}
LocationToken
{{LocationToken}}
This call is to retrieve an array of OrderBumpTime objects for a business date.

GetOrderBumpTimes Request
Data Name
Data Type
Data Description
BumpTime
DateTimeOffset?
(Optional) Only bumps occurring on or after the specified time will be retrieved
BusinessDate
DateTime
Specify the business date you would like to retrieve bumps from


GetOrderBumpTimes 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.
OrderBumpTimes
Array of OrderBumpTime
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
ResultCode
int
Order bump times for this business date


This call is to retrieve an array of OrderItemBumpTime objects for a business date.

GetOrderItemBumpTimes Request
Data Name
Data Type
Data Description
BumpTime
DateTimeOffset?
(Optional) Only item bumps occurring on or after the specified time will be retrieved
BusinessDate
DateTime
Specify the business date you would like to retrieve bumps from


GetOrderItemBumpTimes 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.
OrderItemBumpTimes
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
ResultCode
int
Order item bump times for this business date


Global Type
All the Types available in Kitchen.svc will be displayed below.

OrderBumpTime Type
Data Name
Data Type
Data Description
BumpTime
DateTimeOffset
Bump time of the order
FirstSendTime
DateTimeOffset
First send time of the order
KitchenQueueId
int
Id of the kitchen queue from which the order was bumped
OrderId
long
Maps to the Id of Order
SendNumber
short
Send number of the order bump
SendTime
DateTimeOffset
Send time of the order

OrderItemBumpTime Type
Data Name
Data Type
Data Description
BumpTime
DateTimeOffset
Bump time of the order item
FireTime
DateTimeOffset?
Fire time of the order item
KitchenQueueId
int
Id of the kitchen queue from which the order item was bumped
OrderId
long
Maps to the Id of Order
OrderItemId
int
Maps to the Id of the Order Item
SendNumber
short
Send number of the order item bump
SendTime
DateTimeOffset?
Send time of the order item

                    
                        
                        
                        
                        
GetOrderBumpTimes 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 Kitchen_GetOrderBumpTimes.KitchenServiceReference; namespace Kitchen_GetOrderBumpTimes { class Program { static void Main(string[] args) { //Connect to Kitchen service client var client = new KitchenWebServiceClient(); //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"; DateTime businessDate = new DateTime(2001, 01, 01); //Include BusinessDate parameter in request body var request = new GetOrderBumpTimesRequest() { BusinessDate = businessDate, }; //Make GetOrderBumpTimes call var response = client.GetOrderBumpTimes(request); //If call is successful if (response.ResultCode == 0) { if (response.OrderBumpTimes.Length > 0) { //Loop through collection of OrderBumpTime objects returned foreach (var orderBumpTime in response.OrderBumpTimes) { Console.WriteLine("BumpTime: " + orderBumpTime.BumpTime); Console.WriteLine("FirstSendTime: " + orderBumpTime.FirstSendTime); Console.WriteLine("SendTime: " + orderBumpTime.SendTime); Console.WriteLine("SendNumber: " + orderBumpTime.SendNumber); Console.WriteLine("OrderId: " + orderBumpTime.OrderId); Console.WriteLine("KitchenQueueId: " + orderBumpTime.KitchenQueueId); Console.WriteLine("---------------------------"); } } else { Console.WriteLine("No Order Bump Times"); Console.WriteLine("---------------------------"); } Console.WriteLine("End"); Console.ReadKey(); } else { Console.WriteLine("Error Code: " + response.ResultCode); Console.WriteLine("Message: " + response.Message); Console.ReadKey(); } } } } }
GetOrderBumpTimes Sample Code
using Microsoft.Extensions.DependencyInjection; using ServiceReference5; using System.ServiceModel; using System.ServiceModel.Channels; namespace Kitchen_GetOrderBumpTimes { class Program { public static ServiceCollection services = new ServiceCollection(); public static void AddKitchenServiceClient() { services.AddTransient<IKitchenWebService>((provider) => { BasicHttpBinding binding = new BasicHttpBinding(); binding.MaxReceivedMessageSize = 2147483647; EndpointAddress endpointAddress = new EndpointAddress("{YOUR_WSDL_URL_GOES_HERE}"); ChannelFactory<IKitchenWebService> factory = new ChannelFactory<IKitchenWebService>(binding, endpointAddress); return factory.CreateChannel(); }); } static void Main(string[] args) { AddKitchenServiceClient(); IKitchenWebService client = services.BuildServiceProvider().GetRequiredService<IKitchenWebService>(); try { using (OperationContextScope scope = new OperationContextScope((IContextChannel)client)) { OperationContext context = OperationContext.Current; HttpRequestMessageProperty httpRequestProperty = new HttpRequestMessageProperty(); httpRequestProperty.Headers["AccessToken"] = "AccessToken"; httpRequestProperty.Headers["LocationToken"] = "LocationToken"; context.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty; DateTime businessDate = new DateTime(2023, 05, 12); //Include BusinessDate parameter in request body var request = new GetOrderBumpTimesRequest() { BusinessDate = businessDate, }; //Make GetOrderBumpTimes call var response = client.GetOrderBumpTimesAsync(request); Console.WriteLine("GetOrderBumpTimes"); Console.WriteLine("------------------"); //If call is successful if (response.Result.ResultCode == 0) { if (response.Result.OrderBumpTimes.Length > 0) { //Loop through collection of OrderBumpTime objects returned foreach (var orderBumpTime in response.Result.OrderBumpTimes) { Console.WriteLine("BumpTime: " + orderBumpTime.BumpTime); Console.WriteLine("FirstSendTime: " + orderBumpTime.FirstSendTime); Console.WriteLine("SendTime: " + orderBumpTime.SendTime); Console.WriteLine("SendNumber: " + orderBumpTime.SendNumber); Console.WriteLine("OrderId: " + orderBumpTime.OrderId); Console.WriteLine("KitchenQueueId: " + orderBumpTime.KitchenQueueId); Console.WriteLine("---------------------------"); } } else { Console.WriteLine("No Order Bump Times"); Console.WriteLine("---------------------------"); } Console.WriteLine("End"); Console.ReadKey(); } else { Console.WriteLine("Error Code: " + response.Result.ResultCode); Console.WriteLine("Message: " + response.Result.Message); } } } catch (Exception ex) { Console.WriteLine("Error calling GetOrderBumpTimes operation: " + ex.Message); } } } }
GetOrderBumpTimes Sample Code
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://www.brinksoftware.com/webservices/kitchen/v1" xmlns:sys="http://schemas.datacontract.org/2004/07/System"> <soapenv:Header/> <soapenv:Body> <v1:GetOrderBumpTimes> <v1:request> <!--<v1:BumpTime> <sys:DateTime>?</sys:DateTime> <sys:OffsetMinutes>?</sys:OffsetMinutes> </v1:BumpTime>--> <v1:BusinessDate>2001-01-01</v1:BusinessDate> </v1:request> </v1:GetOrderBumpTimes> </soapenv:Body> </soapenv:Envelope>
GetOrderBumpTimes Sample Code
from zeep import Client from zeep.transports import Transport import requests from datetime import datetime accessToken = 'AccessToken' locationToken = 'LocationToken' #Include tokens in HTTP Web Request Headers session = requests.Session() session.headers.update({'AccessToken': accessToken, 'LocationToken': locationToken}) transport = Transport(session=session) #Connect to Kitchen service client client = Client(wsdl='{YOUR_WSDL_URL_GOES_HERE}', transport=transport) service = client.create_service( '{http://www.brinksoftware.com/webservices/kitchen/v1}BasicHttpBinding_IKitchenWebService', 'https://{YourStack}.brinkpos.net/kitchen.svc' ) #Prepare the dynamic type for GetOrderBumpTimesRequest reqType = client.get_type('ns1:GetOrderBumpTimesRequest') businessDate = datetime(2001, 1, 1) #Include BusinessDate parameter in request body req = reqType(BusinessDate=businessDate) try: #Make GetOrderBumpTimes call res = service.GetOrderBumpTimes(req) #If call is successful if res.ResultCode == 0: if res.OrderBumpTimes != None: #Loop through collection of OrderBumpTime objects returned for orderBumpTime in res.OrderBumpTimes.OrderBumpTime: print('BumpTime: ' + str(orderBumpTime.BumpTime)) print('FirstSendTime: ' + str(orderBumpTime.FirstSendTime)) print('SendTime: ' + str(orderBumpTime.SendTime)) print('SendNumber: ' + str(orderBumpTime.SendNumber)) print('OrderId: ' + str(orderBumpTime.OrderId)) print('KitchenQueueId: ' + str(orderBumpTime.KitchenQueueId)) print('---------------------------') else: print('No Order Bump Times') print('---------------------------') print('End') else: print('Error Code: ' + str(res.ResultCode)) print('Message: ' + str(res.Message)) except Exception as e: print(e)

                    
                        
                        
                        
                        
GetOrderItemBumpTimes 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 Kitchen_GetOrderItemBumpTimes.KitchenServiceReference; namespace Kitchen_GetOrderItemBumpTimes { class Program { static void Main(string[] args) { //Connect to Kitchen service client var client = new KitchenWebServiceClient(); 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"; DateTime businessDate = new DateTime(2001, 01, 01); //Include BusinessDate parameter in request body var request = new GetOrderItemBumpTimesRequest() { BusinessDate = businessDate, }; //Make GetOrderItemBumpTimes call var response = client.GetOrderItemBumpTimes(request); //If call is successful if (response.ResultCode == 0) { if (response.OrderItemBumpTimes.Length > 0) { //Loop through collection of OrderItemBumpTime objects returned foreach (var orderItemBumpTime in response.OrderItemBumpTimes) { Console.WriteLine("BumpTime: " + orderItemBumpTime.BumpTime); Console.WriteLine("FireTime: " + orderItemBumpTime.FireTime); Console.WriteLine("SendTime: " + orderItemBumpTime.SendTime); Console.WriteLine("SendNumber: " + orderItemBumpTime.SendNumber); Console.WriteLine("OrderId: " + orderItemBumpTime.OrderId); Console.WriteLine("OrderItemId: " + orderItemBumpTime.OrderItemId); Console.WriteLine("KitchenQueueId: " + orderItemBumpTime.KitchenQueueId); Console.WriteLine("---------------------------"); } } else { Console.WriteLine("No Order Item Bump Times"); } Console.WriteLine("End"); Console.ReadKey(); } else { Console.WriteLine("Error Code: " + response.ResultCode); Console.WriteLine("Message: " + response.Message); Console.ReadKey(); } } } } }
GetOrderItemBumpTimes Sample Code
using Microsoft.Extensions.DependencyInjection; using ServiceReference5; using System.ServiceModel; using System.ServiceModel.Channels; namespace Kitchen_GetOrderItemBumpTimes { class Program { public static ServiceCollection services = new ServiceCollection(); public static void AddKitchenServiceClient() { services.AddTransient<IKitchenWebService>((provider) => { BasicHttpBinding binding = new BasicHttpBinding(); binding.MaxReceivedMessageSize = 2147483647; EndpointAddress endpointAddress = new EndpointAddress("{YOUR_WSDL_URL_GOES_HERE}"); ChannelFactory<IKitchenWebService> factory = new ChannelFactory<IKitchenWebService>(binding, endpointAddress); return factory.CreateChannel(); }); } static void Main(string[] args) { AddKitchenServiceClient(); IKitchenWebService client = services.BuildServiceProvider().GetRequiredService<IKitchenWebService>(); try { using (OperationContextScope scope = new OperationContextScope((IContextChannel)client)) { OperationContext context = OperationContext.Current; HttpRequestMessageProperty httpRequestProperty = new HttpRequestMessageProperty(); httpRequestProperty.Headers["AccessToken"] = "AccessToken"; httpRequestProperty.Headers["LocationToken"] = "LocationToken"; context.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty; DateTime businessDate = new DateTime(2001, 01, 01); //Include BusinessDate parameter in request body var request = new GetOrderItemBumpTimesRequest() { BusinessDate = businessDate, }; //Make GetOrderItemBumpTimes call var response = client.GetOrderItemBumpTimesAsync(request); Console.WriteLine("GetOrderItemBumpTimes"); Console.WriteLine("------------------"); //If call is successful if (response.Result.ResultCode == 0) { if (response.Result.OrderItemBumpTimes.Length > 0) { //Loop through collection of OrderItemBumpTime objects returned foreach (var orderItemBumpTime in response.Result.OrderItemBumpTimes) { Console.WriteLine("BumpTime: " + orderItemBumpTime.BumpTime); Console.WriteLine("FireTime: " + orderItemBumpTime.FireTime); Console.WriteLine("SendTime: " + orderItemBumpTime.SendTime); Console.WriteLine("SendNumber: " + orderItemBumpTime.SendNumber); Console.WriteLine("OrderId: " + orderItemBumpTime.OrderId); Console.WriteLine("OrderItemId: " + orderItemBumpTime.OrderItemId); Console.WriteLine("KitchenQueueId: " + orderItemBumpTime.KitchenQueueId); Console.WriteLine("---------------------------"); } } else { Console.WriteLine("No Order Item Bump Times"); } Console.WriteLine("End"); Console.ReadKey(); } else { Console.WriteLine("Error Code: " + response.Result.ResultCode); Console.WriteLine("Message: " + response.Result.Message); } } } catch (Exception ex) { Console.WriteLine("Error calling GetOrderItemBumpTimes operation: " + ex.Message); } } } }
GetOrderItemBumpTimes Sample Code
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://www.brinksoftware.com/webservices/kitchen/v1" xmlns:sys="http://schemas.datacontract.org/2004/07/System"> <soapenv:Header/> <soapenv:Body> <v1:GetOrderItemBumpTimes> <v1:request> <!--<v1:BumpTime> <sys:DateTime>?</sys:DateTime> <sys:OffsetMinutes>?</sys:OffsetMinutes> </v1:BumpTime>--> <v1:BusinessDate>2001-01-01</v1:BusinessDate> </v1:request> </v1:GetOrderItemBumpTimes> </soapenv:Body> </soapenv:Envelope>
GetOrderItemBumpTimes Sample Code
from zeep import Client from zeep.transports import Transport import requests from datetime import datetime accessToken = 'AccessToken' locationToken = 'LocationToken' #Include tokens in HTTP Web Request Headers session = requests.Session() session.headers.update({'AccessToken': accessToken, 'LocationToken': locationToken}) transport = Transport(session=session) #Connect to Kitchen service client client = Client(wsdl='{YOUR_WSDL_URL_GOES_HERE}', transport=transport) service = client.create_service( '{http://www.brinksoftware.com/webservices/kitchen/v1}BasicHttpBinding_IKitchenWebService', 'https://{YourStack}.brinkpos.net/kitchen.svc' ) #Prepare the dynamic type for GetOrderItemBumpTimesRequest reqType = client.get_type('ns1:GetOrderItemBumpTimesRequest') businessDate = datetime(2001, 1, 1) #Include BusinessDate parameter in request body req = reqType(BusinessDate=businessDate) try: #Make GetOrderItemBumpTimes call res = service.GetOrderItemBumpTimes(req) #If call is successful if res.ResultCode == 0: if res.OrderItemBumpTimes != None: #Loop through collection of OrderItemBumpTime objects returned for orderItemBumpTime in res.OrderItemBumpTimes.OrderItemBumpTime: print('BumpTime: ' + str(orderItemBumpTime.BumpTime)) print('FireTime: ' + str(orderItemBumpTime.FireTime)) print('SendTime: ' + str(orderItemBumpTime.SendTime)) print('SendNumber: ' + str(orderItemBumpTime.SendNumber)) print('OrderId: ' + str(orderItemBumpTime.OrderId)) print('KitchenQueueId: ' + str(orderItemBumpTime.KitchenQueueId)) print('---------------------------') else: print('No Order Item Bump Times') print('---------------------------') print('End') else: print('Error Code: ' + str(res.ResultCode)) print('Message: ' + str(res.Message)) except Exception as e: print(e)