<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:include schemaLocation="common.xsd"/>

  <xs:simpleType name="messageType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="Unknown"/>
      <xs:enumeration value="FromTable"/>
      <xs:enumeration value="FromMonitor"/>
      <xs:enumeration value="DishesReady"/>
      <xs:enumeration value="ErrorNotify"/>
      <xs:enumeration value="KitchenRequest"/>
      <xs:enumeration value="FromStationScript"/>
      <xs:enumeration value="FromServerScript"/>
      <xs:enumeration value="XMLInterface"/>
      <xs:enumeration value="LicenseInfo"/>
      <xs:enumeration value="TariffClosing"/>
      <xs:enumeration value="SysTimeChanged"/>
      <xs:enumeration value="FromManagerStation"/>
      <xs:enumeration value="SecondScreen"/>
      <xs:enumeration value="RequestOrderLock"/>      
    </xs:restriction>
  </xs:simpleType>

  <xs:complexType name="messageButton">
    <xs:annotation>
      <xs:documentation xml:lang="ru">Описание кнопки для сообщения</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Image" type="refItem">
        <xs:annotation>
          <xs:documentation xml:lang="ru">Картинка для кнопки, ссылка на справочник
            картинок</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="text" type="xs:normalizedString" use="required">
      <xs:annotation>
        <xs:documentation xml:lang="ru">Текст на кнопке</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="browseurl" type="xs:normalizedString" use="optional" default="">
      <xs:annotation>
        <xs:documentation xml:lang="ru">URL который будет открыт в браузере при нажатии на
          кнопку</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="httpcall_url" type="xs:normalizedString" use="optional" default="">
      <xs:annotation>
        <xs:documentation xml:lang="ru">URL по которому будет выполнен http-get запрос при нажатии
          на кнопку (без открытия браузера)</xs:documentation>
      </xs:annotation>
    </xs:attribute>
  </xs:complexType>

  <xs:complexType name="messageButtons">
    <xs:annotation>
      <xs:documentation xml:lang="ru">Список кнопок для сообщения</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Button" type="messageButton" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="ExternalIDString">
    <xs:restriction base="xs:normalizedString">
      <xs:maxLength value="38" />
    </xs:restriction>
  </xs:simpleType>
  
  <xs:complexType name="waiterMessage">
    <xs:annotation>
      <xs:documentation xml:lang="ru">Сообщение</xs:documentation>
    </xs:annotation>
      <xs:all>
        <xs:element name="Station" type="refItem" minOccurs="0">
          <xs:annotation>
            <xs:documentation xml:lang="ru">Станция, на которой должно быть показано сообщение</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Waiter" type="refItem" minOccurs="0">
          <xs:annotation>
            <xs:documentation xml:lang="ru">Официант</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Manager" type="refItem" minOccurs="0">
          <xs:annotation>
            <xs:documentation xml:lang="ru">Менеджер</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Order" type="orderElement" minOccurs="0">
          <xs:annotation>
            <xs:documentation xml:lang="ru">Заказ (сообщение будет показано только если открыт этот заказ)</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Buttons" type="messageButtons" minOccurs="0" maxOccurs="1">
          <xs:annotation>
            <xs:documentation xml:lang="ru">Список кнопок для сообщения</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:all>
    <xs:attribute name="external_id" type="ExternalIDString" use="optional" default="">
      <xs:annotation>
        <xs:documentation xml:lang="ru">Внешний идентификатор сообщения (строка)</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="ondeleteurl" type="xs:string" use="optional" default="">
      <xs:annotation>
        <xs:documentation xml:lang="ru">URL по которому будет выполнен http-get запрос при удалении сообщения. С версии 7.6.5.433</xs:documentation>
      </xs:annotation>
    </xs:attribute>
    <xs:attribute name="text" type="xs:normalizedString" use="required">
        <xs:annotation>
          <xs:documentation xml:lang="ru">Сообщение</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="expireTime" type="xs:dateTime">
        <xs:annotation>
          <xs:documentation xml:lang="ru">Время жизни сообщения</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="messageType" type="messageType" use="required">
        <xs:annotation>
          <xs:documentation xml:lang="ru">Тип сообщения</xs:documentation>
        </xs:annotation>
      </xs:attribute>
      <xs:attribute name="param" type="xs:integer">
        <xs:annotation>
          <xs:documentation xml:lang="ru">Параметр сообщения</xs:documentation>
        </xs:annotation>
      </xs:attribute>
  </xs:complexType>
  
  <xs:complexType name="resWaiterMessage">
    <xs:complexContent>
      <xs:extension base="waiterMessage">
        <xs:attribute name="id" type="xs:positiveInteger">
          <xs:annotation>
            <xs:documentation xml:lang="ru">ID сообщения</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="createTime" type="xs:dateTime">
          <xs:annotation>
            <xs:documentation xml:lang="ru">Время создания сообщения</xs:documentation>
          </xs:annotation>
        </xs:attribute>
        <xs:attribute name="repeatCount" type="xs:nonNegativeInteger">
          <xs:annotation>
            <xs:documentation xml:lang="ru">Число повторений</xs:documentation>
          </xs:annotation>
        </xs:attribute>
      </xs:extension>
    </xs:complexContent>          
  </xs:complexType>
    
</xs:schema>
