Техническое описание импорта данных в систему Мозг

Вся необходимая информация для разработки собственного импорта данных в систему Мозг из любой системы автоматизации ресторанов.

Общая информация

Данные в систему Мозг отправляются в виде архива с CSV файлами по протоколу HTTPS по адресу https://mozg.rest/import. В случае коробочной версии системы Мозг, вместо https://mozg.rest указывается ip-адрес виртуальной машины.

Для работы импорта необходима активная лицензия.

Перед импортом данных необходимо выгрузить справочник ресторанов и отметить чекбокс "Импорт" у импортируемых ресторанов в настроках Мозга в разделе "Рестораны".

В случае импорта данных из нескольких источников (серверов баз данных) для каждого из них необходимо создать запись в настроках Мозга в разделе "Источники импорта".

Перед импортом файла order.csv из системы Мозг удалятся все заказы, продажи, оплаты и чеки текущего источника импорта, начиная с самой ранней даты в файле order.csv.

Отправка

HTTP Метод POST
URI import
Result Сообщение об успешном добавлении архива в очередь импорта или об ошибке.

Параметры

Параметр Тип, формат Описание
orgid integer

Идентификатор организации в системе Мозг, находится в настройках системы Мозг в разделе "Импорт данных".

dbid integer Идентификатор источника импорта в системе Мозг, находится в настройках системы Мозг в разделе "Импорт данных".
impkey string Ключ импорта, находится в настройках системы Мозг в разделе "Импорт данных".
archive file Архив arch.tar.gz с файлами csv.

Описание файлов для импорта

Разделитель значений - ; (точка с запятой).
Символ экранирования - `.
Символ конца строк - \r\n.
Кодировка CP1251.

Файл categ.csv - справочник категорий меню системы автоматизации

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID категории меню системы автоматизации
3 desc   varchar(255) Название категории меню системы автоматизации
4 sort   integer Порядок сортировки
Файл class1.csv - справочник классификаторов системы автоматизации 1

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID классификатора 1
3 desc   varchar(50) Название классификатора 1
4 sort   integer Порядок сортировки
Файл class2.csv - справочник классификаторов системы автоматизации 2

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID классификатора 2
3 desc   varchar(50) Название классификатора 2
4 sort   integer Порядок сортировки
Файл cost.csv - себестоимость

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 date Да char(7) Год и месяц в формате ГГГГ-ММ
3 rest_id Да varchar(36) GUID ресторана
4 item_id Да varchar(36) GUID позиции меню
5 cost   double Себестоимость единицы
Файл cot.csv - справочник типов заказа

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID типа заказа
3 desc   varchar(50) Название типа заказа
4 status   integer Статус. 0 - удален, 1 - черновик, 2 - неактивный, 3 - активный
Файл curr.csv - справочник методов оплат

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID метода оплаты
3 desc   varchar(50) Название метода оплаты
4 status   integer Статус. 0 - удален, 1 - черновик, 2 - неактивный, 3 - активный
5 crrg_id   integer Id группы метода оплаты
6 active_in_reps   integer Участие в расчете себестоимости списаний и служебных методов оплат. 0 - нет, 1 - да.
Файл deliv_addr.csv - справочник адресов доставки

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID адреса
3 desc   varchar(255) Адрес
4 active   integer Активность. 0 - нет, 1 - да.
5 city_id   varchar(36) GUID города
Файл deliv_city.csv - справочник городов доставки

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID города
3 desc   varchar(255) Название
4 active   integer Активность. 0 - нет, 1 - да.
Файл discount.csv - справочник скидок

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID скидки
3 desc   varchar(50) Название скидки
4 status   integer Статус. 0 - удален, 1 - черновик, 2 - неактивный, 3 - активный
Файл empl.csv - справочник сотрудников

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID сотрудника
3 desc   varchar(50) Имя сотрудника
4 status   integer Статус. 0 - удален, 1 - черновик, 2 - неактивный, 3 - активный
5 rest_id   varchar(36) GUID ресторана
6 code   integer Код сотрудника
7 cardcode   varchar(50) Табельный номер сотрудника
8 role_name   varchar(50) Название должности сотрудника
Файл group.csv - справочник групп меню

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID группы меню
3 desc   varchar(50) Название группы меню
4 status   integer Статус. 0 - удален, 1 - черновик, 2 - неактивный, 3 - активный
5 parent_id   varchar(36) GUID родительской группы меню
6 rest_id   varchar(36) GUID ресторана
Файл hall.csv - справочник залов

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID зала
3 desc   varchar(50) Название зала
4 status   integer Статус. 0 - удален, 1 - черновик, 2 - неактивный, 3 - активный
5 rest_id   varchar(36) GUID ресторана
6 sort   integer Порядок сортировки
7 hllg_id   integer Id подразделения
8 guest   integer вместимость гостей
Файл item.csv - справочник номенклатуры

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID позиции меню
3 group_id   varchar(36) GUID группы меню
4 desc   varchar(50) Название позиции меню
5 status   integer Статус. 0 - удален, 1 - черновик, 2 - неактивный, 3 - активный
6 print_id   varchar(36) GUID места приготовления (принтера, цеха)
7 categ_id   varchar(36) GUID категории меню системы автоматизации
8 categ_mozg_id   integer Id категории Мозга
9 class1_id   varchar(36) GUID классификатора 1
10 class2_id   varchar(36) GUID классификатора 2
11 portion   float Порционный коэффициент. Если в меню есть позиция, которая в количестве 1 является половиной порции, то ПК равен 0.5. Если позиция является большим блюдом на четверых, тогда ПК равен 4. У незначительных позиций и модификаторов ПК равен нулю. Этот показатель необходим для расчета количества блюд/напитков в чеке на гостя.
12 *не используется*      
13 *не используется*      
14 rest_id   varchar(36) GUID ресторана
15 type   varchar(50) Тип позиции. DISH - позиция меню,  MODIFIER - модификатор, GOODS - товар, PREPARED - полуфабрикат
16 *не используется*      
17 cooktime   integer Норматив времени приготовления позиции меню в минутах
Файл item_scale.csv - справочник шкал размеров

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID шкалы размеров
3 desc   varchar(50) Название шкалы размеров
4 code   integer Код шкалы размеров
5 status   integer Статус. 0 - удален, 1 - черновик, 2 - неактивный, 3 - активный
Файл item_size.csv - справочник приказов (размеров)

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID приказа
3 desc   varchar(50) Название приказа
4 code   integer Код приказа
5 status   integer Статус. 0 - удален, 1 - черновик, 2 - неактивный, 3 - активный
6 scale_id   varchar(36) GUID шкалы размеров
Файл order.csv - заказы

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 visit_id Да varchar(36) GUID заказа
3 rest_id   varchar(36) GUID ресторана
4 *не используется*      
5 uot_id   varchar(36) GUID маркетингового типа заказа
6 cot_id   varchar(36) GUID типа заказа
7 date   date Бизнес дата (дата смены)
8 open   time Время открытия заказа
9 close_date   date Дата закрытия заказа
10 close   time Время закрытия заказа
11 table_id   varchar(36) GUID стола
12 table_desc   varchar(11) Номер стола
13 hall_rest_id   varchar(36) GUID ресторана зала
14 hall_id   varchar(36) GUID зала
15 guest   integer Количество гостей
16 empl_id   varchar(36) GUID сотрудника, официант
17 empl1_id   varchar(36) GUID сотрудника, кассир
18 empl2_id   varchar(36) GUID сотрудника, дополнительное поле
19 drtn   integer длительность заказа (мин)
20 sum   double Оплаченная сумма заказа
21 check   integer Id чека
22 common_visit_id   varchar(36) GUID основного заказа. Для функции объединения заказов
23 precheck   datetime Дата и время пречека
24 deliv_addr_id   varchar(36) GUID адреса доставки
25 source   varchar(36) Источник заказа
26 courier_id   varchar(36) GUID сотрудника, курьер доставки
27 operator_id   varchar(36) GUID сотрудника, оператор доставки
Файл pbnd.csv - продажи с методами оплат

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 visit_id   varchar(36) GUID заказа
3 rest_id   varchar(36) GUID ресторана
4 uni Да varchar(36) GUID продажи
5 *не используется*      
6 item_id   varchar(36) GUID позиции меню
7 curr_id   varchar(36) GUID метода оплаты
8 pricesum   double Сумма без учета скидок (за количество pbnd_qntt, а не за единицу)
9 paysum   double Оплаченная сумма (за количество pbnв_qntt, а не за единицу)
10 qntt   double Количество
11 prepay   integer Предоплата. Да - 1, нет - 0
12 *не используется*      
13 service_charge   varchar(100) Название наценки
14 dishId   varchar(36) GUID блюда, с которым продан модификатор. Если это модификатор, проданный с блюдом, то указать GUID блюда. В другом случае оставить поле пустым.
15 *не используется*      
16 paysum_base   double Оплаченная сумма без учета модификаторов
17 item_size_id   varchar(36) GUID приказа
18 print_id   varchar(36) GUID места приготовления (принтера, цеха)
19 discount_id   varchar(36) GUID скидки
20 cooktime   integer Фактическое время приготовления позиции меню в секундах
21 waittime   integer Фактическое время подачи позиции меню в секундах
22 cost_sum   double Себестоимость проданной позиции
Файл pmnt.csv - оплаты

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 visit_id   varchar(36) GUID заказа
3 rest_id   varchar(36) GUID ресторана
4 uni Да varchar(36) GUID платежа
5 *не используется*      
6 curr_id   varchar(36) GUID метода оплаты
7 sum   double Оплаченная сумма
8 prepay   integer Предоплата. Да - 1, нет - 0
9 rcpt_uni   varchar(36) GUID чека
10 service_charge   varchar(100) Название наценки
Файл print.csv - справочник мест приготовления (принтеров, цехов)

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID места приготовления
3 desc   varchar(50) Название места приготовления
4 sort   integer Порядок сортировки
Файл rcpt.csv - чеки

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 visit_id   varchar(36) GUID заказа
3 rest_id   varchar(36) GUID ресторана
4 uni Да varchar(36) GUID чека
5 *не используется*      
6 date   datetime Дата и время закрытия чека
7 num   integer Номер чека
8 deleted   integer Чек удален. 0 - нет, 1- да
9 sum   double Оплаченная сумма
10 presum   double Сумма без учета скидок
11 service_charge   varchar(100) Название наценки
Файл rem.csv - удаления блюд

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 date   datetime Дата и время заказа
3 order_code   integer Номер чека
4 visit_id   varchar(36) GUID заказа
5 rest_id   varchar(36) GUID ресторана
6 uni Да varchar(36) GUID удаления
7 item_id   varchar(36) GUID позиции меню
8 item_qntt   double Количество
9 item_sum   double Сумма
10 comment   varchar(500) Комментарий
11 reason   varchar(500) Причина удаления
12 writeoff_reason   varchar(500) Причина списания
13 remtype_id   varchar(36) GUID типа удаления
Файл remtype.csv - справочник типов удаления блюд

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(50) GUID типа удаления
3 code   integer Код типа удаления
4 desc   varchar(255) Название типа удаления
5 status   integer Статус. 0 - удален, 1 - черновик, 2 - неактивный, 3 - активный
Файл rest.csv - справочник ресторанов

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID ресторана
3 desc   varchar(50) Название ресторана
4 status   integer Статус. 0 - удален, 1 - черновик, 2 - неактивный, 3 - активный
5 id   varchar(36) GUID ресторана
6 head   Integer Центральный офис, 0 - нет, 1 - да
7 comment   varchar(255) Комментарий
Файл table.csv - справочник столов

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID стола
3 hall_id   varchar(36) GUID зала
4 desc   varchar(11) Номер стола
5 guest   integer Вместимость стола
6 status   integer Статус. 0 - удален, 1 - черновик, 2 - неактивный, 3 - активный
7 rest_id   varchar(36) GUID ресторана
Файл uot.csv - справочник маркетинговых типов заказа

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID маркетингового типа заказа
3 desc   varchar(50) Название маркетингового  типа заказа
4 status   integer Статус. 0 - удален, 1 - черновик, 2 - неактивный, 3 - активный
Файл writeoff.csv - списания

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID списания
3 *не используется*      
4 documentnum   integer Номер документа списания
5 rest_id   varchar(36) GUID ресторана
6 date   datetime Дата и время списания
7 item_id   varchar(36) GUID позиции меню
8 qntt   double Количество
9 sum   double Сумма списания
10 operation   varchar(36) GUID метода оплаты
11 automatic   integer Автоматическое списание. 0 - нет, 1- да
12 uom   varchar(10) Единица измерения
13 reason1_id   varchar(36) GUID причины списания 1
14 reason2_id   varchar(36) GUID причины списания 2
Файл writeoff_reason1.csv - справочник причин списания 1

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID причины списания 1
3 desc   varchar(50) Название причины списания 1
Файл writeoff_reason2.csv - справочник причин списания 2

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer Id источника импорта
2 id Да varchar(36) GUID причины списания 2
3 desc   varchar(50) Название причины списания 2
4 reason1_id   varchar(36) GUID причины списания 1
Файл supplier.csv - справочник поставщиков

П/п

Название поля

Первичный ключ

Тип данных

Описание

1 db_id Да integer id источника импорта
2 id Да varchar(36) GUID поставщика
3 desc   varchar(50) Название поставщика
4 status   integer Статус. 0 - удален, 1 - черновик, 2 - неактивный, 3 - активный
Файл store.csv - справочник складов
П/п Название поля Первичный ключ Тип данных Описание
1 db_id Да integer id источника импорта
2 id Да varchar(36) GUID склада
3 desc   varchar(50) Название склада
4 rest_id   varchar(36) GUID ресторана склада по умолчанию
Файл transaction.csv - проводки (движение товаров)
П/п Название поля Первичный ключ Тип данных Описание
1 db_id Да integer id источника импорта
2 id Да varchar(36) GUID проводки
3 rest_id Да varchar(36) GUID ресторана. Не обязательно, связь идет через склады.
4 store_id   varchar(36) GUID склада.
5 type   varchar(50)

Тип транзакции из списка:

INVOICE - приходная накладная

OUTGOING_INVOICE - расходная накладная

WRITEOFF - списания

INVENTORY_CORRECTION - инвентаризация

TRANSFORMATION - акт переработки

SESSION_WRITEOFF - реализация

PRODUCTION - акт приготовления

TRANSFER - внутреннее перемещение

DISASSEMBLE - акт разбора

RETURNED_INVOICE - возврат поставщику

6 date   date Дата проведение документа.
7 documentnum   varchar(20) Название (номер) документа проводки.
8 item_id   varchar(36) GUID товара
9 supplier_id   varchar(36) GUID поставщика (только для INVOICE)
10 qntt   double Количество товара
11 sum   double Сумма себестоимости товара
12 uom   varchar(10) Единица измерения товара
Файл store_balance.csv - остатки на складах
П/п Название поля Первичный ключ Тип данных Описание
1 db_id Да integer id источника импорта
2 store_id Да varchar(36) GUID склада
3 item_id Да varchar(36) GUID товара
4 date Да date Дата среза. Срез берется на самое начало дня (00:00:00 ночи)
5 qntt   double Количество остатков
6 cost   double Себестоимость остатков
Файл shedule.csv - смены сотрудников (явки)
П/п Название поля Первичный ключ Тип данных Описание
1 db_id Да integer id источника импорта
2 id Да varchar(36) GUID смены сотрудника
3 rest_id   varchar(36) GUID ресторана смены
4 empl_id Да varchar(36) GUID сотрудника
5 date Да date Дата начала смены
6 role_name   varchar(50) Название должности
7 open   time Время начала смены
8 close_date   date Дата окончания смены
9 close   time Время окончания смены
10 drtn   integer Длительность смены в минутах (не обязательно)
11 payment   double Сумма оплаты за смену