# Очереди обмена RabbitMQ

# Из Ally в 1C



# Канал: VV.Events

#### Назначение  


Реплицирует в 1С изменения по событиям графика в отдельный канал Fin2


---

#### Очередь (routing key)

Динамический (несколько ключей):

- Если payload.type='Аутсорсинг': handEvents1CFinOut, handEvents1CFinSQL, handEvents1CFinSS
- Если employeeId начинается с ГЛ: handEvents1CFinSQL, handEvents1CFinSS
- Иначе: handEvents1CFin, handEvents1CFinSQL, handEvents1CFinSS


---

#### Node-RED поток

Репликация событий


---

#### Node-RED узел

VV.Events (amqp-out)


---

#### Источник данных

- events
- user\_profile
- restaurants
- userPositions
- calendar
- change\_log
- settingTypes


---

#### Когда отправляется

Автоматически по таймеру в 1 минуту


---

#### Структура JSON  


```json
{
    "id":
    "updatedAt":
    "employeeId":
    "ttId":
    "roleId":
    "position":
    "hours":
    "nightHours":
    "over8Hours":
    "over10Hours":
    "lunchHours":
    "beginAt":
    "endAt":
    "type":
    "trainee":
    "major":
    "extra":
    "hourly":
    "fact":
    "operation":
    "holidayHours":
    "training":
    "medosmotr":
    "confirmed":
    "ResponsibleId":
    "ResponsibleFIO":
}
```

# Канал: VV.Events.2

#### Назначение

Реплицирует в 1С изменения по событиям графика в отдельный канал Fin2


---

#### Очередь (routing key)

handEvents1CFin2


---

#### Node-RED поток

Репликация событий


---

#### Node-RED узел

VV.Events.2 (amqp-out)


---

#### Источник данных

- events
- user\_profile
- restaurants
- userPositions
- calendar
- change\_log
- settingTypes


---

#### Когда отправляется

Регламентный запуск по таймеру в 1 минуту


---

#### Структура JSON

```json
{
    "id":
    "updatedAt":
    "employeeId":
    "ttId":
    "roleId":
    "position":
    "hours":
    "nightHours":
    "over8Hours":
    "over10Hours":
    "lunchHours":
    "beginAt":
    "endAt":
    "type":
    "trainee":
    "major":
    "extra":
    "hourly":
    "fact":
    "operation":
    "holidayHours":
    "training":
    "medosmotr":
    "confirmed":
    "ResponsibleId":
    "ResponsibleFIO":
}
```

# Канал: Freezing

#### Назначение

Передаёт в 1С события, связанные с “заморозкой” данных графика, чтобы 1С корректно учитывала фиксированное состояние при обработке


---

#### Очередь (routing key)

handFreezing1CFin


---

#### Node-RED поток

Репликация событий


---

#### Node-RED узел

Freezing (amqp-out)


---

#### Источник данных

- events
- user\_profile
- restaurants
- userPositions
- calendar
- change\_log
- settingTypes


---

#### Когда отправляется

Автоматически по таймеру в 1 минуту


---

#### Структура JSON

```json
{
    "id":
    "updatedAt":
    "employeeId":
    "ttId":
    "roleId":
    "position":
    "hours":
    "nightHours":
    "over8Hours":
    "over10Hours":
    "lunchHours":
    "beginAt":
    "endAt":
    "type":
    "trainee":
    "major":
    "extra":
    "hourly":
    "fact":
    "operation":
    "holidayHours":
    "training":
    "medosmotr":
    "confirmed":
    "ResponsibleId":
    "ResponsibleFIO":
}
```

# Канал: EventsHL

#### Назначение

Репликация в 1С изменений по выходам ГЛ. Передаются как обновления смен, так и удаления, чтобы 1С синхронизировала актуальное состояние по выходам ГЛ


---

#### Очередь (routing key)

handEvents1CFinHL


---

#### Node-RED поток

Репликация выходов ГЛ


---

#### Node-RED узел

EventsHL (amqp-out)


---

#### Источник данных

- events
- user\_profile
- restaurants
- userPositions
- calendar
- change\_log


---

#### Когда отправляется

Автоматически по таймеру в 1 минуту или вручную


---

#### Структура JSON

```json
{
    "id":
    "date_update":
    "employeeId":
    "employeeFIO":
    "TeamCode":
    "TeamName":
    "RoleCode":
    "RoleName":
    "beginAt":
    "endAt":
    "type":
    "extra":
    "hours":
    "lunchHours":
    "nightHours":
    "holidayHours":
    "timezone":
    "operation":
    "ResponsibleId":
    "ResponsibleFIO":
}
```

# Канал: Absent

#### Назначение

Репликация в 1С отсутствий отклонений от смены, событий, которые не являются Смена/Тренинг/Легкий труд. Передаются актуальные отсутствия и удаленные отсутствия (как реальные удаления, так и случаи, когда отсутствие превратилось в смену/тренинг/легкий труд)


---

#### Очередь (routing key)

- scheduleDeviationsVV
- scheduleDeviationsSS


---

#### Node-RED поток

Репликация отсутствий


---

#### Node-RED узел

Absent (amqp-out)


---

#### Источник данных

- events
- user\_profile
- restaurants
- change\_log


---

#### Когда отправляется

Автоматически по таймеру в 1 минуту


---

#### Структура JSON

```json
{
    "tt_id":
    "fio":
    "employee_id":
    "date":
    "type":
    "comment":
    "deleted":
    "event_id":
}
```

# Канал: AbsentHL

#### Назначение

Репликация в 1С отклонений для сотрудников ГЛ с типом “ГПХ”. Передаются актуальные отсутствия и удаленные отсутствия (как реальные удаления, так и случаи, когда отсутствие превратилось в смену/тренинг/легкий труд)


---

#### Очередь (routing key)

scheduleDeviationsVVHL


---

#### Node-RED поток

Репликация отсутствий ГЛ


---

#### Node-RED узел

AbsentHL (amqp-out)


---

#### Источник данных

- events
- userEvents
- eventTypes
- user\_profile
- change\_log


---

#### Когда отправляется

Автоматически по таймеру в 1 минуту


---

#### Структура JSON

```json
{
    "tt_id":
    "fio":
    "employee_id":
    "date":
    "type":
    "comment":
    "deleted":
    "event_id":
}
```

# Канал: DeviationType

#### Назначение

Репликация в 1С справочника типов отсутствий/отклонений (Deviation types), чтобы 1С могла корректно интерпретировать DeviationId/Deviation из потоков отсутствий


---

#### Очередь (routing key)

DeviationType


---

#### Node-RED поток

Репликация типов отсутствий


---

#### Node-RED узел

DeviationType (amqp-out)


---

#### Источник данных

- eventTypes


---

#### Когда отправляется

Автоматически по таймеру в 1 час


---

#### Структура JSON

-

# Канал: VV.Certification

#### Назначение

Репликация в 1С изменений по аттестации для сотрудников. Есть разделение на штат/аутсорс по префиксу


---

#### Очередь (routing key)

Certification или CertificationOut:

- Если employeeId начинается с A: CertificationOut
- Иначе: Certification


---

#### Node-RED поток

Репликация наставников


---

#### Node-RED узел

VV.Certification (amqp-out)


---

#### Источник данных

- changelog
- user\_profile
- user\_profile


---

#### Когда отправляется

Автоматически по таймеру в 1 минуту


---

#### Структура JSON

-

# Канал: VV.Mentors

#### Назначение

Репликация в 1С изменений по наставникам (привязки наставник-сотрудник). Есть разделение на штат/аутсорс по префиксу


---

#### Очередь (routing key)

Mentors или MentorsOut:

- Если employeeId начинается с A: MentorsOut
- Иначе: Mentors


---

#### Node-RED поток

Репликация наставников


---

#### Node-RED узел

VV.Mentors (amqp-out)


---

#### Источник данных

- changelog
- user\_profile
- user\_profile


---

#### Когда отправляется

Автоматически по таймеру в 1 минуту


---

#### Структура JSON

-

# Канал: VV.Employees

#### Назначение

Репликация в 1С изменений по карточкам сотрудников ТД/ГПХ: ФИО/позиция/тип, связки наставник/помощник, а также данные по увольнению


---

#### Очередь (routing key)

- EmployeesVV
- Dismissals
- EmployeesVVSQL


---

#### Node-RED поток

Репликация сотрудников


---

#### Node-RED узел

VV.Employees (amqp-out)


---

#### Источник данных

user\_profile


---

#### Когда отправляется

Автоматически по таймеру в 1 минуту


---

#### Структура JSON

```json
{
    "id":
    "updatedAt":
    "employeeId":
    "employeeFIO":
    "position":
    "type":
    "assistantId":
    "assistantReason":
    "assistantFIO":
    "assistantResponsibleFIO":
    "mentorId":
    "mentorResponsibleId":
    "is_service":
    "resign":
    "resignResponsibleId":
    "resignDate":
    "resignReason":
    "resignReasonExtra":
    "resignComment":
    "resignCanReturn":
}
```

# Канал: SS.Employees

#### Назначение

Репликация в отдельный канал SS данных по сотрудникам


---

#### Очередь (routing key)

SSEmployees


---

#### Node-RED поток

Репликация сотрудников


---

#### Node-RED узел

SS.Employees (amqp-out)


---

#### Источник данных

user\_profile


---

#### Когда отправляется

Автоматически по таймеру в 1 минуту


---

#### Структура JSON

```json
{
    "id":
    "updatedAt":
    "employeeId":
    "employeeFIO":
    "position":
    "type":
    "assistantId":
    "assistantReason":
    "assistantFIO":
    "assistantResponsibleFIO":
    "mentorId":
    "mentorResponsibleId":
    "is_service":
    "resign":
    "resignResponsibleId":
    "resignDate":
    "resignReason":
    "resignReasonExtra":
    "resignComment":
    "resignCanReturn":
}
```

# Канал: EmployeesTT

#### Назначение

Репликация в 1С изменений по привязке сотрудник-ТТ для сотрудников типов ТД и ГПХ, добавление/удаление привязки к ТТ и изменения профиля


---

#### Очередь (routing key)

EmployeesTT


---

#### Node-RED поток

Репликация TT сотрудников


---

#### Node-RED узел

EmployeesTT (amqp-out)


---

#### Источник данных

- change\_log\_new
- change\_log
- userAddRestaurants
- user\_profile, restaurants


---

#### Когда отправляется

Автоматически по таймеру в 1 минуту


---

#### Структура JSON

```json
{
    "employeeId":
    "id_tt":
    "type":
    "position":
    "active":
    "date_update":
    "is_delete":
}
```

# Канал: Roles

#### Назначение

Репликация в 1С изменений справочника ролей-должностей


---

#### Очередь (routing key)

- RolesVV
- RolesVVSQL


---

#### Node-RED поток

Репликация ролей


---

#### Node-RED узел

Roles (amqp-out)


---

#### Источник данных

- change\_log\_new
- userPositions


---

#### Когда отправляется

Автоматически по таймеру в 10 минут


---

#### Структура JSON

-

# Из 1C в Ally



# Ally.TT

#### Назначение: 

Торговые точки

---

#### Записывает в таблицы:

- restaurants

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "id":
  }
  "value": {
    "id":
    "is_active":
    "type_tt":
    "typeStore":
    "kindStore":
    "name":
    "city":
    "cityId":
    "district":
    "districtId":
    "region_tt":
    "id_region_tt":
    "address":
    "metro":
    "shirota":
    "dolgota":
    "offset":
    "shop_phone":
    "schedule_id":
    "CFO":
    "emaildostavka":
    "IsDarkstore":
    "closedDate":
  }
}

```

# Ally.TTHead

#### Назначение: 

Группы ТТ

---

#### Записывает в таблицы:

- reference

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "id"
  },
  "value": {
    "id":
    "is_active":
    "name":
  }
}
```

# Ally.TTClusters

#### Назначение: 

Кластеры

---

#### Записывает в таблицы:

- restaurants

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "value": {
    "id":
    "clId":
    "id_tt":
    "name_cl":
  }
}
```

# Ally.Photos

#### Назначение: 

Фотографии сотрудников

---

#### Записывает в таблицы:

- upload
- user\_profile

---

#### Структура JSON:

Отсутствует

# Ally.RolesOfResponsible

#### Назначение: 

Привязка сотрудников к ТТ

---

#### Записывает в таблицы:

- userAddRestaurants

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "values": {
    "employeeId":
    "FIO":
    "Role":
    "Gender":
    "StartDate":
    "ttId":
    "EndDate":
  }
}
```

# Ally.Couriers

#### Назначение: 

Курьеры

---

#### Записывает в таблицы:

- user
- user\_profile

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "id":
  },
  "value": {
    "id":
    "INN":
    "Name":
    "postId":
    "organization":
    "jobtype":
    "phone":
    "curatorId":
    "active":
  }
}
```

# Ally.CouriersSchedule

#### Назначение: 

План курьеров

---

#### Записывает в таблицы:

- events
- userEvents

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "courierId":
    "work_date":
    "start": 
  },
  "value": {
    "end":
    "date_add":
  }
}
```

# Ally.CouriersScheduleDetail

#### Назначение: 

План курьеров (не используется)

---

#### Записывает в таблицы:

- events
- userEvents

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "id":
    "courierId":
    "work_date":
  },
  "value": {
    "date_add":
  }
}
```

# Ally.CouriersScheduleNew

#### Назначение: 

План курьеров (не используется)

---

#### Записывает в таблицы:

- events
- userEvents

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "courierId":
    "work_date":
    "start":
  },
  "value": {
    "end":
    "date_add":
  }
}
```

# Ally.CouriersShift

#### Назначение: 

Факт выходов курьеров

---

#### Записывает в таблицы:

- events
- userAddRestaurants
- userEvents

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "id":
  },
  "value": {
    "courierId":
    "date_start":
    "date_end":
    "work_interval":
    "date_add":
    "date_pushstart":
    "orderinworkcount":
    "orderlastcompletiondate":
    "orderlastcompletionshop":
  }
}
```

# Ally.CollectedOrdersCouriers

#### Назначение: 

Сборка

---

#### Записывает в таблицы:

- events
- time\_series

---

#### Структура JSON:

```json
{  
 "type":
 "source":
 "operation":
 "key": {
   "id_order":
  }
 "value": {
  "id_courier":
  "id_tt":
  "date_supply":
  "gettype":
  "analog_ziz":
  "date_delivery_start":
 }
}
```

# Ally.CollectedLines

#### Назначение: 

Сборка

---

#### Записывает в таблицы:

- events
- time\_series
- userAddRestaurants
- userEvents

---

#### Структура JSON:

```json
{
 "type":
 "source":
 "operation":
 "key":{
  "id_order":
  "id_assemblysheet_header":
  }
 "value":{
  "sbor_id":
  "id_tt":
  "id_general":
  "date_order":
  "date_supply":
  "date_collect_start":
  "date_collected":
  "date_collect_start_ms":
  "date_status_10":
  "qty_collected":
  }
}
```

# Ally.TTSchedules

#### Назначение: 

Расписания ТТ

---

#### Записывает в таблицы:

- workingShifts

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "value": {
    "id_TT":
    "dw":
    "H_start":
    "H_end":
  }
}
```

# Ally.CouriersContract

#### Назначение: 

Типы курьеров (не используется)

---

#### Записывает в таблицы:

- user\_profile

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "courier_Id":
  },
  "value": {
    "courier_Id":
    "date":
    "courier_type":
  }
}
```

# Ally.CouriersClusters

#### Назначение: 

Кластеры курьеров (10/2024)

---

#### Записывает в таблицы:

- restaurants
- userAddRestaurants

---

#### Структура JSON:

```json
{
  "type": 
  "source":
  "operation":
  "key": {
    "id_courier":
    "id_cluster":
  },
  "value": {
    "name_cl":
  }
}
```

# Ally.CouriersShop

#### Назначение: 

ТТ курьеров

---

#### Записывает в таблицы:

- userAddRestaurants

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "value": {
    "id":
    "id_tt":
    "courier_id":
    "period":
    "active":
  }
}
```

# Ally.CouriersDocument

#### Назначение: 

Документы курьеров

---

#### Записывает в таблицы:

- documents

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "value": {
    "id":
    "courierId":
    "documentType":
    "dateOfIssue":
  }
}
```

# Ally.EmployeeTime

#### Назначение: 

Факт для розницы

---

#### Записывает в таблицы:

- events
- userAddRestaurants
- userEvents
- user\_profile

---

#### Структура JSON:

```json
{
  "type":
  "timetype":
  "source":
  "operation":
  "value": {
    "id":
    "EmployeeId":
    "id_tt":
    "DateTimeAdd":
    "action":
  }
}

```

# Ally.HL

#### Назначение: 

Факт для ГЛ (не используется)

---

#### Записывает в таблицы:

- events
- userEvents

---

#### Структура JSON:

```json
{
 "type":
 "source":
 "operation":
 "timetype":
 "value": {
  "DateTimeAdd":
  "action":
  "Type":
  "EmployeeId":
  "Extra":
 }
}
```

# Ally.HL.New

#### Назначение: 

Факт для ГЛ

---

#### Записывает в таблицы:

- events
- userEvents

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "timetype":
  "value": {
    "EmployeeId":
    "DateTimeAdd":
    "action":
    "Type":
    "Extra":
    "TeamCode":
  }
}
```

# Ally.WorkInChildcareLeave

#### Назначение: 

Работа в декрете

---

#### Записывает в таблицы:

- user\_profile

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "personId":
    "employeeId":
  },
  "value": {
    "personId":
    "employeeId":
    "isWorkInChildcareLeave":
  }
}
```

# Ally.AddAgreementHRLink

#### Назначение: 

Признак наличия у сотрудника ЭДО

---

#### Записывает в таблицы:

- user\_profile

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "keys": {
    "personId":
    "employeeId":
  },
  "values": {
    "personId":
    "employeeId":
    "isSigned":
  }
}
```

# Ally.Employees

#### Назначение: 

Сотрудники

---

#### Записывает в таблицы:

- time\_series
- user
- userPositions
- user\_profile

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "values": {
    "employeeId":
    "employeeUId":
    "INN":
    "FIO":
    "last_name":
    "first_name":
    "patronymic":
    "birthday":
    "gender":
    "position":
    "positionUid":
    "organization":
    "organizationUid":
    "ttId":
    "groupTTId":
    "dateHire":
    "dateLeave":
    "type":
    "leader":
    "leaderUid":
    "assistant":
    "assistantUid":
    "invalidStart":
    "invalidEnd":
    "active":
    "banToPlanSchedule":
    "banDate":
    "banResponsibleId":
    "banReasonId":
    "eduId":
    "eduDateEnd":
    "partner":
    "partnerId":
    "partnerUId":
    "managerId":
    "managerUId":
    "majorSeller":
    "isMentor":
    "dateMedBook":
    "patentRegionId":
    "serviceRegionId":
    "addId":
    "phone":
    "email":
    "barcode":
    "isGPH":
    "managerRegions": []
  }
}
```

# Ally.Employees.Out

#### Назначение: 

Сотрудники аутсорсы

---

#### Записывает в таблицы:

- user
- userPositions
- user\_profile

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "values": {
    "employeeId":
    "employeeUId":
    "INN":
    "FIO":,
    "last_name":
    "first_name":
    "patronymic":
    "birthday":
    "gender":
    "position":
    "positionUid":
    "organization":
    "organizationUid":
    "ttId":
    "groupTTId":
    "dateHire":
    "dateLeave":
    "type":
    "leader":
    "leaderUid":
    "assistant":
    "assistantUid":
    "invalidStart":
    "invalidEnd":
    "active":
    "banToPlanSchedule":
    "banDate":
    "banResponsibleId":
    "banReasonId":
    "eduId":
    "eduDateEnd":
    "partner":
    "partnerId":
    "partnerUId":
    "managerId":
    "managerUId":
    "majorSeller":
    "isMentor": 
    "dateMedBook":
    "patentRegionId":
    "serviceRegionId":
    "addId":
    "phone":
    "email":
    "barcode":
    "isGPH":
    "managerRegions": []
  }
}
```

# Ally.EmployeesContact

#### Назначение: 

Контакты сотрудников

---

#### Записывает в таблицы:

- user\_profile

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "values": {
    "employeeId":
    "employeeUId":
    "type":
    "kindUid":
    "kindName":
    "value":
  }
}
```

# Ally.CallCenterStats

#### Назначение: 

Факт горячей линии

---

#### Записывает в таблицы:

- events
- userEvents

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "value": {
    "date":
    "operator_phone":
    "telegramID":
    "OperatorCode":
    "OperatorUid":
    "operator_name":
    "operator_id":
    "dialogs_count":
    "operator_messages_count":
    "user_messages_count":
    "dialogs_without_answer_count":
    "dialogs_operator_last_answer_count":
    "dialogs_user_last_answer_count":
  }
}

```

# Ally.ScheduleDeviations

#### Назначение: 

Факт отсутствия

---

#### Записывает в таблицы:

- events
- userEvents

---

#### Структура JSON:

```json
{
 "type":
 "source":
 "operation":
 "keys": {
  "personId":
  "employeeId":
  "date":
 }
 "values": {
  "personId":
  "employeeId":
  "date":
  "reasonForAbsence":
 }
}

```

# Ally.ScheduleRestrictions

#### Назначение: 

Ограничения по рабочим часам

---

#### Записывает в таблицы:

- time\_series
- user\_profile

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "keys": {
    "employeeId":
    "dateStart":
  }
}
```

# Ally.ProductionCalendar

#### Назначение: 

Табель календарь

---

#### Записывает в таблицы:

- calendar

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "values": {
    "date":
    "type":
  }
}
```

# Ally.PartnerPositions

#### Назначение: 

Должности компаний партнеров

---

#### Записывает в таблицы:

- userPositions

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "partnerId":
    "position":
  }
}
```

# Ally.Slackers

#### Назначение: 

Прогульщики

---

#### Записывает в таблицы:

- user\_profile

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "keys": {
    "personId":
    "employeeId":
  }
  "values": {
    "personId":
    "employeeId":
    "date":
  }
}
```

# Ally.ReasonsOfDismissal

#### Назначение: 

Причины увольнения

---

#### Записывает в таблицы:

- ReasonsOfDismissal (Redis)

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "keys": {
    "reasonUid":
  }
  "operation":
  "values": {
    "reasonUid":
    "reasonName":
    "isArchive":
  }
}

```

# Ally.Operators

#### Назначение: 

Операторы ГЛ

---

#### Записывает в таблицы:

- restaurants
- user
- userAddRestaurants
- userPositions
- user\_profile

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "values": {
    "employeeId":
    "employeeUId":
    "INN":
    "FIO":
    "birthday":
    "type":
    "gender": 
    "position":
    "positionUid":
    "dateHire":
    "dateLeave":
    "active":
    "phone":
    "email":
    "RoleCode":
    "RoleName":
    "TeamCode":
    "TeamName":
    "datetimezone":
    "timezone":
  }
}

```

# Ally.HLBreak

#### Назначение: 

Перерыв для ГЛ

---

#### Записывает в таблицы:

- events

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "timetype":
  "value": {
    "DateTimeAdd":
    "action":
    "Type":
    "EmployeeId":
  }
}

```

# Ally.HLBreak.New

#### Назначение: 

Перерыв для ГЛ

---

#### Записывает в таблицы:

- events

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "timetype":
  "value": {
    "EmployeeId":
    "DateTimeAdd":
    "action":
    "Type":
    "Extra":
  }
}
```

# Ally.AccrualType

#### Назначение: 

Типы начислений

---

#### Записывает в таблицы:

- accrual\_type

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "id":
  },
  "value": {
    "id":
    "name":
    "order":
    "isArchive":
  }
}
```

# Ally.Salary

#### Назначение: 

Начисления по сотрудникам

---

#### Записывает в таблицы:

- user\_day

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "employeeId":
    "id_tt":
    "accrualId":
    "date":
    "docId":
    "numberLine":
  },
  "value": {
    "bonus":
    "revenue":
    "hours":
    "comment":
  }
}

```

# Ally.VacationDays

#### Назначение: 

Остатки дней отпуска

---

#### Записывает в таблицы:

- user\_profile

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "employeeId":
  },
  "value": {
    "days":
  }
}
```

# Ally.Regions

#### Назначение: 

Регионы

---

#### Записывает в таблицы:

- region

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "values": {
    "id":
    "name":
  }
}

```

# Ally.ReasonsOfBan

#### Назначение: 

Причина запрета планирования в график

---

#### Записывает в таблицы:

- reference

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "id":
  },
  "values": {
    "id":
    "name":
  }
}
```

# Ally.University

#### Назначение: 

Учебные заведения

---

#### Записывает в таблицы:

- reference

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "id":
  },
  "values": {
    "id":
    "name":
  }
}

```

# Ally.EmployeeResidencePermitRegions

#### Назначение: 

Регионы пребывания сотрудников

---

#### Записывает в таблицы:

- user\_profile

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "keys": {
    "personId":
    "employeeId":
  },
  "operation":
  "values": {
    "personId":
    "employeeId":
    "name":
  }
}
```

# Ally.Partners

#### Назначение: 

Партнеры аутсорсы

---

#### Записывает в таблицы:

- reference

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "id":
  },
  "value": {
    "name":
    "isSelfEmployed":
    "isArchived":
  }
}
```

# Ally.PartnerRegions

#### Назначение: 

Регионы партнеров

---

#### Записывает в таблицы:

- reference

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "partnerId":
    "regionId":
  }
}
```

# Ally.MedExams

#### Назначение: 

Даты медосмотра сотрудников

---

#### Записывает в таблицы:

- user\_profile

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "personId":
  },
  "value": {
    "date":
  }
}
```

# Ally.Individuals

#### Назначение: 

СНИЛС сотрудников

---

#### Записывает в таблицы:

- user\_profile

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "personId":
  },
  "value": {
    "SNILS":
  }
}
```

# Ally.Revenue

#### Назначение: 

Выручка ТТ

---

#### Записывает в таблицы:

- time\_series

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "key": {
    "date":
    "id_tt":
  }
  "value": {
    "revenue":
  }
}
```

# Ally.Wages

#### Назначение: 

Ставки почасовиков

---

#### Записывает в таблицы:

- time\_series

---

#### Структура JSON:

```json
{
  "type":
  "source":
  "operation":
  "keys": {
    "employeeId":
    "dateStart":
  }
}
```