Заказ в доставкуLink to Заказ в доставку

<RK7Query>
 <RK7CMD CMD="DeliveryUpdateStatus">
  <Order guid="{99ECDC52-09EF-4927-8068-F25830EF493C}"/>
  <DeliveryBlock deliveryState="1" startTime="2" travelTime="3" deliveryTime="4" forwarderSendTime="" forwarderReturnTime="" realDeliveryTime="" zoneID="" zoneName="" orderPrefix=""/>
  <ExtSource source="31"/>
 </RK7CMD>
</RK7Query>
XML

Список заказовLink to Список заказов

<RK7Query>
 <RK7Command CMD="GetOrderList" >
 </RK7Command>
</RK7Query>
XML

ЗаказLink to Заказ

<RK7Query>
 <RK7Command CMD="GetOrder">
  <Order guid="{577FFA69-348A-41D7-810B-CF0A32489BE1}"/>
 </RK7Command>
</RK7Query>
XML

Либо по связке visit+orderident:

<RK7Query>
 <RK7Command CMD="GetOrder">
  <Order visit="543555" ident="256"/>
 </RK7Command>
</RK7Query>
XML

Создание нового заказаLink to Создание нового заказа

Для создания нового заказа, используйте запрос вида:

<RK7Query>
 <RK7CMD CMD="CreateOrder">
  <Order persistentComment="100500">
   <Table code="1"/>
   <Waiter code="5"/>
   <Station id="15015"/>
   <GuestType id="1"/>
   <Guests>
    <Guest GuestLabel="1"/>
    <Guest GuestLabel="2"/>
    <Guest GuestLabel="3"/>
    <Guest GuestLabel="4"/>
    <Guest GuestLabel="5"/>
   </Guests>
  </Order>
 </RK7CMD>
</RK7Query>
XML

Здесь обязательный параметр - только стол.

Где:

  • PersistentComment — сохраняемый комментарий к заказу
  • Table — стол, обязательный параметр для заполнения. Обращение происходит при указании любого из его полей code, ident или guid. Аналогично для всех остальных параметров.
  • Waiter — от имени какого официанта создается заказ. Если не задан — создается от имени системы.
  • Station — станция
  • GuestType — тип гостей. В разделе <Guests> заполните гостей, задайте имена.

Пустой заказ создан, после чего приходит ответ вида:

<?xml version="1.0" encoding="utf-8"?>
<RK7QueryResult ServerVersion="7.5.3.182" XmlVersion="166" Status="Ok" CMD="CreateOrder" VisitID="356255787" OrderID="256" guid="{6002FD3A-68B6-4FC9-8EB1-D53A697C286C}" ErrorText="" DateTime="2014-11-19T18:23:04" WorkTime="30" Processed="1"/>
XML

В данном ответе, для дальнейшей работы, необходимо получить связку visit + orderid или guid.

Для наполнения заказа отправьте запрос вида:

<RK7Query>
 <RK7CMD CMD="SaveOrder">
  <Order visit="356255787" orderIdent="256"/>
  <Session>
   <Station id="15015"/>
   <Dish id="1043439" quantity="1000" price="0"/>
  </Session>
 </RK7CMD>
</RK7Query>
XML

В примере обращались ключом связкой полей visit + orderid.
Станция не является обязательным параметром, её можно опустить.
Общаться к блюдам можно по id, guid или коду. Количество — умножается на 1000. Цена — необязательный параметр.

Для задания модификатора, сделайте запрос вида:

<Dish id="1043439" quantity="1000" price="0">
<Modi id="100" count="1" price="100"/>
</Dish>
XML
  • Обращение по id, guid или коду.
  • price — необязательный параметр
  • count — в единицах.

Пример наполнения заказа блюдом со скидкой на заказ:

<RK7Query>
 <RK7CMD CMD="SaveOrder">
  <Order visit="356255787" orderIdent="256"/>2
  <Session>
   <Station id="15015"/>
   <Dish id="1043439" quantity="1000" price="0"/>
 <Discount id="100"/>
  </Session>
 </RK7CMD>
</RK7Query>
XML

Пример на добавление в заказ скидки на заказ:

<RK7Query>
 <RK7CMD CMD="SaveOrder">
  <Order guid="{5AAEB01D-C8BE-4C11-A1EC-348EF361F3AE}"/>
  <Session>
   <Station id="15002"/>
   <Discount id="1000229"/>
  </Session>
 </RK7CMD>
</RK7Query>
XML

Пример на добавление в заказ скидки на блюдо:

<RK7Query>
 <RK7CMD CMD="SaveOrder">
  <Order guid="{5AAEB01D-C8BE-4C11-A1EC-348EF361F3AE}"/>
  <Session line_guid="{9DC95843-E141-42BF-BB78-9818BCDED302}">
     <Dish line_guid="{A409B650-DC23-45B3-8509-97DE257F00EF}">
      <Discount code="6"/>
     </Dish> 
  </Session>
 </RK7CMD>
</RK7Query>
XML

<Session line_guid=«{9DC95843-E141-42BF-BB78-9818BCDED302}»> — данные берутся из запроса GetOrder

<Dish line_guid=«{A409B650-DC23-45B3-8509-97DE257F00EF}»> — данные берутся из запроса GetOrder наполнения заказа комбо-блюдом

<RK7Query>
 <RK7CMD CMD="saveOrder">
	<order guid="{4461052B-CF8B-4AB8-9D9D-40D1D6363EAC}"/>
		<Session>
			<Combo id="1000205" quantity = "1000" >
				<Component id="1000033"></Component>				
				<Component id="1000034"></Component>
 
			</Combo>
		</Session>	
 </RK7CMD>
</RK7Query>
XML

Где:

  • Combo id=«1000205» - это идентификатор блюда в меню
  • Component id=«1000033» - идентификатор блюда привязанного к комбоэлементу.

Пример на добавление в заказ email гостя:

<?xml version="1.0" encoding="utf-8"?>');
<RK7Query>
  <RK7CMD CMD="UpdateOrder">
    <Station code="'IntToStr(StationCode)'"/>
    <Order guid="'o.GUIDString'" />
    <ExternalProps>
      <Prop name="Printed103384" value="1"/>           // set extprop sysname
    </ExternalProps>
  </RK7CMD>
</RK7Query>
CODE

Для изменения курса подачи блюд, воспользуйтесь командой ChangeSessionCourse. Пример:

<?xml version="1.0" encoding="UTF-8"?>
<RK7Query >
<RK7CMD CMD="ChangeSessionCourse" isDraft="true">
<Order guid="" orderIdent="1" visit="1"/>
<Employee code="0" guid="" id="0" />
<LockStation code="0" guid="" id="0" />
<Course code="0" guid="" id="0" />
<CourseFrom code="0" guid="" id="0" />
</RK7CMD>
</RK7Query>
CODE

Пример добавления блюда с указанием курса подачи (тег Course):

<?xml version="1.0" encoding="UTF-8"?>
<RK7Query>
 <RK7CMD CMD="SaveOrder">
  <Order guid="{E8D39ADA-8C8D-49BF-BC87-7A61650F36D6}"/>
  <Session>
   <Course code="3"/>
   <Waiter code="10"/>
   <Station id="15002"/>
   <Dish id="1003070" quantity="1000"/>
  </Session>
 </RK7CMD>
</RK7Query>
CODE

Пример назначения блюду места после переноса между заказами (для переноса блюда используйте TransferDishes):

<?xml version="1.0" encoding="UTF-8"?>
<RK7Query>
 <RK7Command CMD="SaveOrder">
 <Order guid="{99FEAB46-5C9D-4AC9-8E3F-5C365AE8BAE5}"/>
 <Session>
 <Station id="15002"/>
 <Dish id="1000059" line_guid="{E5E8ADC5-41B8-42DF-8007-CBA57007C2D5}" seat="2">
 </Dish>
 </Session>
 </RK7Command>
</RK7Query>
CODE

Создания банкетного заказаLink to Создания банкетного заказа

1. Для создания банкетного заказа используйте xml-запрос CreateOrder.

Пример xml-запроса:

<RK7Query>
<RK7CMD CMD="CreateOrder" openTime="2025-04-17T10:00:00" duration="T05:00:00" holder="ООО Рога и Копыта">
       <Table code="44"/>
       <Waiter code = "1"/>
</RK7CMD>
</RK7Query>
XML

2. Для получения свойств банкетного заказа нужно используйте запрос GetOrder:

<RK7Query>
<RK7CMD CMD="GetOrder">
   <Order guid="{871891FB-FFC3-40D7-B2E0-4D30853E88EE}"/>
</RK7CMD>
</RK7Query>
XML

3. Для добавления блюд в заказ используйте запрос SaveOrder:

<RK7Query>
<RK7CMD CMD="SaveOrder">
  <Order guid="{871891FB-FFC3-40D7-B2E0-4D30853E88EE}"/>
  <Session>
    <Dish code="18" quantity="1000"/>
  </Session>
</RK7CMD>
</RK7Query>
XML

Удаление блюд из заказаLink to Удаление блюд из заказа

По своей структуре похож на наполнение заказа:

<RK7Query>
 <RK7CMD CMD="SaveOrder">
  <Order guid="guid заказа" />
  <Session uni="sessionuni">
   <Dish uni="dishuni" code="1000" price="0">
<Void id="ident причины удаления" quantity="сколько удалять"/>
   </Dish>
  </Session>
 </RK7CMD>
</RK7Query>
XML

Закрытие визитаLink to Закрытие визита

<RK7Query>
 <RK7CMD CMD="CloseVisit" VisitID="393873942"/>
</RK7Query>
XML

Получение ответа:Link to Получение ответа:

<?xml version="1.0" encoding="utf-8"?>
<RK7Query>
  <RK7CMD CMD="GetPrintLayout" TextReport="1" >
    <Layout id="1001922">
 </Layout>
  </RK7CMD>
</RK7Query>
XML


Удаление заказаLink to Удаление заказа

Перед удалением необходимо очистить заказ, удаляется только пустой заказ:

<?xml version="1.0"?>
<RK7Query>
    <RK7CMD CMD="VoidOrder">
        <Order visit="489300334" orderIdent="256"/>
        <Station id="26888"/>
        <Manager id="1100308"/>
        <DeleteReason id="2"/>
    </RK7CMD>
</RK7Query>
CODE


Cписок выполненных операций на кассеLink to Cписок выполненных операций на кассе

<RK7Query>
  <RK7Command CMD="GetDocByLayout">
    <Layout code="12083"/>
  </RK7Command>
</RK7Query>
XML