8  /  41

Блюда и заготовки v.1

Для получения XML-файла с группами и списком блюд необходимо сформировать GET-запрос в котором передаются параметры авторизации и параметр file=dish.

Параметры запроса GET

Параметр Обязательный Описание
LOGIN Да Логин пользователя на FOODCOST к которому привязана компания.
PASSWORD Да Пароль пользователя на FOODCOST к которому привязана компания.
KEY Да Ключ интеграции, получаемый пользователем после активации подписки на FOODCOST и к которому привязана компания.
KEY_SESSION Да Идентификатор сессии получается при каждом новом сеансе работы пользователя с вашим приложением. При последующих заходах того же пользователя это значение будет другим, поэтому его нужно сохранить для последующей авторизации.
file Да dish
v Версия файлов, доступ к которым нужно получить. Параметр необязательный. Для доступа к актуальным данным требуется установить значение 2.
Если этот параметр не используется, будут загружены данные актуальные на 01.10.2018

Внимание! При формировании запроса, названия параметров должны быть написаны прописными или строчными буквами так, как указано в настоящей документации.

Пример запроса GET

	
		GET /personal/exchange/?LOGIN=user&PASSWORD=qWerTy&KEY=UHui9B7zAST4AAK9Z&KEY_SESSION=6f347c1f5817502451ec1a5d91e42823&file=dish&v=2 HTTP/1.1
		Host: foodcost.pro
		Cache-Control: no-cache
	

В случае успешной авторизации, сервер ответит предоставит для скачивания XML-файл с описанием групп и данные для формирования Технико-технологических карт, включая все необходимые методологичекие материалы для формирования печатной формы Технико-технологической карты по ГОСТ 31987–2012:

  • Рецептуру блюда (см. Глоссарий);
  • Сроки и условия хранения заготовок и полуфабрикатов;
  • Сроки и условия реализации блюд;
  • Органолептические показатели качества;
  • Микробиологические качества;
  • Нутриентный состав базовый (см. Глоссарий);

Схема документа

	
		
		<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="catalog">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="comments" type="xs:string" />
        <xs:element minOccurs="0" name="elements">
          <xs:complexType>
            <xs:sequence>
              <xs:element minOccurs="0" maxOccurs="unbounded" name="element">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element minOccurs="0" name="fc_id" type="xs:string" />
                    <xs:element minOccurs="0" name="name" type="xs:string" />
                    <xs:element minOccurs="0" name="timestamp" type="xs:string" />
                    <xs:element minOccurs="0" name="parent_id" type="xs:string" />
                    <xs:element minOccurs="0" name="description" type="xs:string" />
                    <xs:element minOccurs="0" name="weight_units" type="xs:unsignedShort" />
                    <xs:element minOccurs="0" name="storage_unit" type="xs:unsignedShort" />
                    <xs:element minOccurs="0" name="link" type="xs:string" />
                    <xs:element minOccurs="0" name="image" type="xs:string" />
                    <xs:element minOccurs="0" name="out" type="xs:unsignedShort" />
                    <xs:element minOccurs="0" name="type" type="xs:string" />
                    <xs:element minOccurs="0" name="out_conv" type="xs:unsignedShort" />
                    <xs:element minOccurs="0" name="out_main" type="xs:unsignedShort" />
                    <xs:element minOccurs="0" name="out_garnir" type="xs:unsignedShort" />
                    <xs:element minOccurs="0" name="out_sous" type="xs:unsignedByte" />
                    <xs:element minOccurs="0" name="recipe">
                      <xs:complexType>
                        <xs:sequence minOccurs="0">
                          <xs:element minOccurs="0" maxOccurs="unbounded" name="item">
                            <xs:complexType>
                              <xs:attribute name="value" type="xs:string" use="optional" />
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" name="nutrition">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" name="alcohol" type="xs:decimal" />
                          <xs:element minOccurs="0" name="proteins" type="xs:decimal" />
                          <xs:element minOccurs="0" name="fat" type="xs:decimal" />
                          <xs:element minOccurs="0" name="carbohydrates" type="xs:decimal" />
                          <xs:element minOccurs="0" name="caloric" type="xs:decimal" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" name="requirements" type="xs:string" />
                    <xs:element minOccurs="0" name="microb">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" name="item">
                            <xs:complexType>
                              <xs:attribute name="value" type="xs:unsignedInt" use="optional" />
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" name="organoleptic">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" name="item">
                            <xs:complexType>
                              <xs:attribute name="value" type="xs:unsignedInt" use="optional" />
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" name="technology" type="xs:string" />
                    <xs:element minOccurs="0" name="ban">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" name="item">
                            <xs:complexType>
                              <xs:attribute name="value" type="xs:unsignedInt" use="optional" />
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" name="sale">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" name="item">
                            <xs:complexType>
                              <xs:attribute name="value" type="xs:unsignedInt" use="optional" />
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" name="raw_list">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" name="item">
                            <xs:complexType>
                              <xs:attribute name="value" type="xs:unsignedInt" use="optional" />
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" name="best_before">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" name="item">
                            <xs:complexType>
                              <xs:attribute name="value" type="xs:unsignedInt" use="optional" />
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" name="serve">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" name="item">
                            <xs:complexType>
                              <xs:attribute name="value" type="xs:unsignedInt" use="optional" />
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element minOccurs="0" name="national">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" name="item">
                            <xs:complexType>
                              <xs:attribute name="value" type="xs:unsignedInt" use="optional" />
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" name="recipes">
          <xs:complexType>
            <xs:sequence>
              <xs:element minOccurs="0" maxOccurs="unbounded" name="recipe">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element minOccurs="0" name="fc_id" type="xs:string" />
                    <xs:element minOccurs="0" name="brutto" type="xs:decimal" />
                    <xs:element minOccurs="0" name="netto" type="xs:decimal" />
                    <xs:element minOccurs="0" name="output" type="xs:string" />
                    <xs:element minOccurs="0" name="ingredient" type="xs:string" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element minOccurs="0" name="properties">
          <xs:complexType>
            <xs:sequence>
              <xs:element minOccurs="0" name="microb">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="item">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" name="id" type="xs:unsignedInt" />
                          <xs:element minOccurs="0" name="name" type="xs:string" />
                          <xs:element minOccurs="0" name="text" type="xs:string" />
                          <xs:element minOccurs="0" name="index" type="xs:string" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element minOccurs="0" name="organoleptic">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="item">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" name="id" type="xs:unsignedInt" />
                          <xs:element minOccurs="0" name="name" type="xs:string" />
                          <xs:element minOccurs="0" name="productview" type="xs:string" />
                          <xs:element minOccurs="0" name="color" type="xs:string" />
                          <xs:element minOccurs="0" name="consistency" type="xs:string" />
                          <xs:element minOccurs="0" name="taste" type="xs:string" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element minOccurs="0" name="raw_list">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="item">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" name="id" type="xs:unsignedInt" />
                          <xs:element minOccurs="0" name="name" type="xs:string" />
                          <xs:element minOccurs="0" name="text" type="xs:string" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element minOccurs="0" name="ban">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="item">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" name="id" type="xs:unsignedInt" />
                          <xs:element minOccurs="0" name="name" type="xs:string" />
                          <xs:element minOccurs="0" name="text" type="xs:string" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element minOccurs="0" name="best_before">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="item">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" name="id" type="xs:unsignedInt" />
                          <xs:element minOccurs="0" name="name" type="xs:string" />
                          <xs:element minOccurs="0" name="text" type="xs:string" />
                          <xs:element minOccurs="0" name="time" type="xs:unsignedByte" />
                          <xs:element minOccurs="0" name="unit" type="xs:string" />
                          <xs:element minOccurs="0" name="temp" type="xs:string" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element minOccurs="0" name="sale">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="item">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" name="id" type="xs:unsignedInt" />
                          <xs:element minOccurs="0" name="name" type="xs:string" />
                          <xs:element minOccurs="0" name="text" type="xs:string" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element minOccurs="0" name="serve">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="item">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" name="id" type="xs:unsignedInt" />
                          <xs:element minOccurs="0" name="name" type="xs:string" />
                          <xs:element minOccurs="0" name="time" type="xs:string" />
                          <xs:element minOccurs="0" name="unit" type="xs:string" />
                          <xs:element minOccurs="0" name="temp" type="xs:string" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element minOccurs="0" name="national">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element minOccurs="0" maxOccurs="unbounded" name="item">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element minOccurs="0" name="id" type="xs:unsignedInt" />
                          <xs:element minOccurs="0" name="name" type="xs:string" />
                          <xs:element minOccurs="0" name="text" type="xs:string" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="data" type="xs:string" use="optional" />
    </xs:complexType>
  </xs:element>
</xs:schema>

	

Пример ответа в формате XML

	
	<?xml version="1.0" encoding="UTF-8"?>
<catalog date="30-09-2013">
	<program value="Название программы" />
	<comments>&lt;div style="background:#FFF; width:100%;padding:10px;"&gt; &lt;a href="http://foodcost.ru/"&gt; &lt;img src="/upload/medialibrary/d8b/d8b2022632b023e9cfac04838bc69726.png" title="Фуд Кост" border="0" alt="Фуд Кост" width="195" height="34" /&gt; &lt;/a&gt; &lt;br/&gt; &lt;h3 style="color:#FF6300"&gt;Благодарим за использование наших сервисов!&lt;/h3&gt; &lt;/div&gt; &lt;div style="background:#edf5dd; width:100%; padding:10px;"&gt; &lt;h4 style="color:#7ea348"&gt;Дополнительно:&lt;/h4&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="http://foodcost.ru/support/faq/" title="Открыть" target="_blank"&gt;Часто задаваемые вопросы&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://foodcost.ru/support/tiket/" title="Открыть" target="_blank"&gt;Техническая поддержка &lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt;</comments>
	<sections>
		<section>
			<fc_id>2267</fc_id>
			<name>Солянки</name>
			<description>В состав солянок входят соленые огурцы, репчатый лук, томатное пюре, каперсы, маслины или оливки. Солянки готовят с разнообразными мясными и рыбными продуктами, а также со свежими и сушеными грибами. Для рыбных солянок используют рыбные бульоны, которые варят из рыбных отходов или голов рыб семейства осетровых.</description>
			<parent_id>1431</parent_id>
		</section>
	</sections>
	<…>
	<elements>
		<element>
			<fc_id>125234</fc_id>
			<name>Солянка сборная мясная</name>
			<description>Традиционная сборная солянка с мясными продуктами</description>
			<link>http://foodcost.ru/services/recipes/element/solyanki/solyanka-sbornaya-myasnaya/</link>
			<parent_id>2267</parent_id>
			<recipe>
				<item value="317091"/>
				<item value="317059"/>
				<item value="316886"/>
				<item value="316885"/>
				<item value="316884"/>
				<item value="316883"/>
				<item value="302103"/>
				<item value="302104"/>
				<item value="327827"/>
				<item value="302097"/>
				<item value="302098"/>
				<item value="302099"/>
				<item value="302100"/>
				<item value="302101"/>
				<item value="302102"/>
				<item value="302096"/>
			</recipe>
			<out>1280</out>
			<out_main>180</out_main>
			<out_sous>100</out_sous>
			<out_garnir>1000</out_garnir>
			<type>кг.</type>
			<recomend>4</recomend>
			<nutrition>
				<proteins>3.89</proteins>
				<fat>6.14</fat>
				<carbohydrates>2.43</carbohydrates>
				<alcohol>0</alcohol>
				<caloric>80.54</caloric>
			</nutrition>
			<best_before>
				<item value="161948"/>
			</best_before>
			<requirements>Блюдо реализуют в порционной посуде сразу после приготовления. При отпуске в в солянку кладут маслины, кружочек лимона, сметану и посыпают рубленной зеленью петрушки.</requirements>
			<microb>
				<item value="191893"/>
			</microb>
			<organoleptic>
				<item value="162346"/>
			</organoleptic>
			<technology>В кипящий бульон закладывают пассерованные репчатый лук и томатную пасту, припущенные солёные огурцы, нарезанные соломкой, каперсы (вместе с рассолом), подготовленные мясные продукты, нарезанные соломкой, перец горошком, соль, лавровый лист и варят 5-10 мин.</technology>
			<raw>В качестве замены «Бульона говяжьего (заготовка)» рекомендуется использование бульона, полученного при приготовлении Грудинки отварной (заготовка).</raw>
			<raw_list>
				<item value="191799"/>
				<item value="191861"/>
			</raw_list>
			<sale>
				<item value="191801"/>
			</sale>
			<serve>
				<item value="191804"/>
			</serve>
		</element>
	</elements>
	…
	<recipes>
		<recipe>
			<fc_id>317091</fc_id>
			<brutto>14</brutto>
			<netto>10</netto>
			<ingredient>26670</ingredient>
		</recipe>
		<recipe>
			<fc_id>317059</fc_id>
			<brutto>10</brutto>
			<netto>10</netto>
			<ingredient>22047</ingredient>
		</recipe>
		<recipe>
			<fc_id>316886</fc_id>
			<brutto>10</brutto>
			<netto>10</netto>
			<ingredient>27015</ingredient>
		</recipe>
		<recipe>
			<fc_id>316885</fc_id>
			<brutto>0.2</brutto>
			<netto>0.2</netto>
			<ingredient>25562</ingredient>
		</recipe>
		<recipe>
			<fc_id>316884</fc_id>
			<brutto>1</brutto>
			<netto>1</netto>
			<ingredient>26646</ingredient>
		</recipe>
		<recipe>
			<fc_id>316883</fc_id>
			<brutto>100</brutto>
			<netto>100</netto>
			<output>100</output>
			<ingredient>26997</ingredient>
		</recipe>
		<recipe>
			<fc_id>302103</fc_id>
			<brutto>50</brutto>
			<netto>50</netto>
			<output>50</output>
			<ingredient>205051</ingredient>
		</recipe>
		<recipe>
			<fc_id>302104</fc_id>
			<brutto>50</brutto>
			<netto>50</netto>
			<output>50</output>
			<ingredient>203872</ingredient>
		</recipe>
		<recipe>
			<fc_id>327827</fc_id>
			<brutto>750</brutto>
			<netto>750</netto>
			<ingredient>125220</ingredient>
		</recipe>
		<recipe>
			<fc_id>302097</fc_id>
			<brutto>50</brutto>
			<netto>50</netto>
			<ingredient>27077</ingredient>
		</recipe>
		<recipe>
			<fc_id>302098</fc_id>
			<brutto>50</brutto>
			<netto>50</netto>
			<ingredient>26204</ingredient>
		</recipe>
		<recipe>
			<fc_id>302099</fc_id>
			<brutto>40</brutto>
			<netto>20</netto>
			<ingredient>24799</ingredient>
		</recipe>
		<recipe>
			<fc_id>302100</fc_id>
			<brutto>82</brutto>
			<netto>80</netto>
			<output>80</output>
			<ingredient>27019</ingredient>
		</recipe>
		<recipe>
			<fc_id>302101</fc_id>
			<brutto>119</brutto>
			<netto>100</netto>
			<ingredient>22020</ingredient>
		</recipe>
		<recipe>
			<fc_id>302102</fc_id>
			<brutto>62</brutto>
			<netto>60</netto>
			<ingredient>26582</ingredient>
		</recipe>
		<recipe>
			<fc_id>302096</fc_id>
			<brutto>24</brutto>
			<netto>24</netto>
			<ingredient>22058</ingredient>
		</recipe>
		</recipes>
		<…>
		<properties>
			<microb>
				<item>
					<id>191893</id>
					<index>1.9.15.8.</index>
				</item>
			</microb>
			<organoleptic>
				<item>
					<id>162346</id>
					<productview>В блюде гармоничное соотношение жидкости и продуктов. Компоненты не разваренные, распределены равномерно.</productview>
					<color>Бульона — прозрачный, при добавлении томата или свеклы — красноватый, ингредиентов — свойственный компонентам, входящим в состав блюда.</color>
					<consistency>Жидкая, компонентов в составе — достаточно плотная, не разваренная, свойственная типам ингредиентов в составе блюда</consistency>
					<taste>Приятные, свойственные компонентам. В меру острый, соленый. Без посторонних примесей и порочащих признаков.</taste>
				</item>
			</organoleptic>
			<raw_list>
				<item>
					<id>191799</id>
					<text>Овощи должны быть свежими овощей, упругой консистенции; вкус, цвет и запах должны соответствовать используемым продуктам.</text>
				</item>
				<item>
					<id>191861</id>
					<text>Запрещается использовать консервы с нарушением герметичности банок, бомбажные, «хлопуши», банки с ржавчиной, деформированные, без этикеток.</text>
				</item>
			</raw_list>
			<ban>//секция приведена справочно, для демонстрации
				<item>
					<id>191807</id>
					<text>В соответствии с требованиями СанПиН 2.3.6.1079-01, оставлять блюдо на следующий день ЗАПРЕЩАЕТСЯ!!!</text>
				</item>
			</ban>
			<best_before>
				<item>
					<id>161948</id>
					<time>48</time>
					<unit>час</unit>
					<temp>от +2°С до +6°С</temp>
				</item>
			</best_before>
			<sale>
				<item>
					<id>191801</id>
					<text>Согласно требования СанПин 2.3.6.1079-01, температура блюда при подаче должна быть не ниже 75°C.</text>
				</item>
			</sale>
			<serve>
				<item>
					<id>191804</id>
					<time>2–3</time>
					<unit>часа</unit>
					<temp>не ниже 75°C</temp>
				</item>
			</serve>
		</properties>
		<session_id value="ID сессии"/>
	</catalog>
	

Спецификация данных каталога блюд

наименование описание
catalog date Дата редактирования файла
program value Название ПО, указанного пользователем при подключении сервиса
comments Сервисные для пользователей в формате HTML
sections Раздел с описанием групп
section Описание группы
elements Раздел с описанием элементов
element Описание элемента
name Название
link Ссылка на элемент в каталоге foodCOST
image Изображение
description Краткое текстовое описание раздела, элемента
recipes Раздел с рецептурами
recipe Рецептура блюда
brutto Вес ингредиента БРУТТО в базовой единице измерения (граммы)
netto Вес ингредиента НЕТТО в базовой единице измерения (граммы)
output Вес готового ингредиента после тепловой обработки в базовой единице измерения (граммы)
technology Описание технологии приготовления блюда
type Тип рецептуры — кг/порц
out_conv Масса полуфабриката в базовой единице измерения (граммы)
out Общий выход блюда в базовой единице измерения (граммы)
out_main Вес основного продукта в блюде в базовой единице измерения (граммы)
out_sous Вес соуса в блюде в базовой единице измерения (граммы)
out_garnir Вес гарнира в блюде в базовой единице измерения (граммы)
raw_list Требования к сырью
raw Дополнительные требования к сырью
nutrition Раздел ТТК для показателей пищевой ценности
proteins Содержание белка в 100 г продукта в граммах
fats Содержание жиров в 100 г продукта в граммах
carbohydrates Содержание углеводов в 100 г продукта в граммах
alcohol Содержание спирта в 100 г продукта в граммах
caloric Калорийность 100 г продукта в граммах
properties Раздел со значениями свойств ТТК
microb Раздел ТТК для микробиологических показателей качества блюда
best_before Раздел ТТК для сроков и условий хранения блюда
requirements Дополнительные требования к реализации и оформлению
sale Раздел ТТК для типовых требований к реализации
serve Раздел ТТК для правил подачи блюда
ban Информация о запрете оставлять блюдо на следующий день
recomend Рекомендованное количество порций для рецептуры
parent_id ID родительского раздела
session_id ID сессии
0