# Методы ticket



# ticket.update()

#### <span style="color: #222222; font-size: 1.666em;">Обновление заявки, через объект заявки</span>

```JavaScript
ticket.update($data)
```

##### Описание:

<span style="font-weight: 400;">Обновляет заявку соответствующую указанным данным.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key" style="border-collapse: collapse; width: 100%; height: 385.203px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="background-color: #ecf0f1;"><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">data</span></td><td style="width: 33.3745%; height: 29.7969px;">json</td><td style="width: 33.3745%; height: 29.7969px;">Данные о заявке в формате json. Возможные поля расписаны ниже</td></tr><tr><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">title</span></td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Заголовок заявки</td></tr><tr><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">ticket\_type\_id</span></td><td style="width: 33.3745%; height: 29.7969px;">int</td><td style="width: 33.3745%; height: 29.7969px;">Id типа заявки</td></tr><tr><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">status\_id</span></td><td style="width: 33.3745%; height: 29.7969px;">int</td><td style="width: 33.3745%; height: 29.7969px;">Id статуса заявки</td></tr><tr><td style="width: 33.3745%; height: 35.3906px;"><span style="font-weight: 400;">author\_person\_id</span>

</td><td style="width: 33.3745%; height: 35.3906px;">int</td><td style="width: 33.3745%; height: 35.3906px;">Id автора заявки</td></tr><tr><td style="width: 33.3745%; height: 35.3906px;"><span style="font-weight: 400;">client\_person\_id</span>

</td><td style="width: 33.3745%; height: 35.3906px;">int</td><td style="width: 33.3745%; height: 35.3906px;">Id клиента заявки</td></tr><tr><td style="width: 33.3745%; height: 35.3906px;"><span style="font-weight: 400;">assigned\_person\_id</span>

</td><td style="width: 33.3745%; height: 35.3906px;">int</td><td style="width: 33.3745%; height: 35.3906px;">Id исполнителя заявки</td></tr><tr><td style="width: 33.3745%; height: 35.3906px;"><span style="font-weight: 400;">description</span>

</td><td style="width: 33.3745%; height: 35.3906px;">string</td><td style="width: 33.3745%; height: 35.3906px;">Описание заявки</td></tr></tbody></table>

##### Возвращает:

**bool** - подтверждение обновления заявки.

##### Пример:

```JavaScript
let ticketData = {
  'title': 'Создано в боте',
  'ticket_type_id': 1013,
  'status_id': 1096
};

ticketData.custom = {
  'client_contacts': 'my contacts',
  'details': 'some details'
};

let isUpdated = ticket.update(ticketData);

lead.setAttr('is_ticket_updated', isUpdated);
```

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

```JavaScript
let ticket = bot.findTickets([['id', ticketId]])[0];
let ticketData = {
  'client_comment': lead.getAttr('Отзыв')
};

ticket.update(ticketData);
```

# ticket.getData()

#### <span style="color: #222222; font-size: 1.666em;">Получить значение данных заявки</span>  


```JavaScript
ticket.getData(string $key)
```

##### Описание:

<span style="font-weight: 400;">Получить значение данных заявки по ключу или названию поля БД.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 385.203px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr><td style="width: 33.2909%;">key</td><td style="width: 33.2909%;">string</td><td style="width: 33.2948%;">Ключ наименование поля</td></tr></tbody></table>

<span style="font-weight: 400;">В качестве ключа можно указать:</span>

- <span style="font-weight: 400;">**id** - id заявки;</span>
- <span style="font-weight: 400;">**business\_id** - id бизнеса;</span>
- <span style="font-weight: 400;">**bot\_id** - id бота;</span>
- <span style="font-weight: 400;">**author\_person\_id** - id автора заявки;</span>
- <span style="font-weight: 400;">**client\_person\_id** - id клиента заявки;</span>
- <span style="font-weight: 400;">**assigned\_person\_id** - id исполнителя заявки;</span>
- <span style="font-weight: 400;">**ticket\_type\_id** - id вида заявки, виды заявки создаются вручную;</span>
- <span style="font-weight: 400;">**payment\_type\_id** - id способа оплаты. Доступные значения:</span>
    - <span style="font-weight: 400;">0 - PAYMENT\_TYPE\_NONE;</span>
    - <span style="font-weight: 400;">**1** - PAYMENT\_TYPE\_ROBOKASSA;</span>
    - <span style="font-weight: 400;">**2** - PAYMENT\_TYPE\_YANDEXKASSA;</span>
    - <span style="font-weight: 400;">**3** - PAYMENT\_TYPE\_CASH;</span>
- <span style="font-weight: 400;">**status\_id** - id статуса заявки;</span>
- <span style="font-weight: 400;">**title** - заголовок заявки;</span>
- <span style="font-weight: 400;">**description** - описание заявки;</span>
- <span style="font-weight: 400;">**created\_at** - время создания заявки;</span>
- <span style="font-weight: 400;">**updated\_at** - время обновления заявки;</span>
- <span style="font-weight: 400;">**deleted\_at** - время удаления заявки;</span>
- <span style="font-weight: 400;">все системные поля заявки (по английски).</span>

##### Возвращает:

**mixed** - если значение найдено

или

**null** - если значение не найдено.

##### Пример:

```JavaScript
let Data = ticket.getData('title');
```

# ticket.getCustomData()

### Считывание произвольных полей заявки


```JavaScript
ticket.getCustomData(string $key)
```

##### Описание:

Находит значение указанного типа произвольного поля заявки.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-1" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%;">key</td><td style="width: 33.3745%;">string</td><td style="width: 33.3745%;">Ключ наименование поля</td></tr></tbody></table>

<span style="font-weight: 400;">В качестве ключа можно указать:</span>

- <span style="font-weight: 400;">**названия всех произвольных полей заявки**;</span>
- <span style="font-weight: 400;">**id** - id заявки;</span>
- <span style="font-weight: 400;">**business\_id** - id бизнеса;</span>
- <span style="font-weight: 400;">**bot\_id** - id бота;</span>
- <span style="font-weight: 400;">**author\_person\_id** - id автора заявки;</span>
- <span style="font-weight: 400;">**client\_person\_id** - id клиента заявки;</span>
- <span style="font-weight: 400;">**assigned\_person\_id** - id исполнителя заявки;</span>
- <span style="font-weight: 400;">**ticket\_type\_id** - id вида заявки, виды заявки создаются вручную;</span>
- <span style="font-weight: 400;">**payment\_type\_id** - id способа оплаты. Доступные значения:</span>
    - <span style="font-weight: 400;">0 - PAYMENT\_TYPE\_NONE;</span>
    - <span style="font-weight: 400;">**1** - PAYMENT\_TYPE\_ROBOKASSA;</span>
    - <span style="font-weight: 400;">**2** - PAYMENT\_TYPE\_YANDEXKASSA;</span>
    - <span style="font-weight: 400;">**3** - PAYMENT\_TYPE\_CASH;</span>
- <span style="font-weight: 400;">**status\_id** - id статуса заявки;</span>
- <span style="font-weight: 400;">**title** - заголовок заявки;</span>
- <span style="font-weight: 400;">**description** - описание заявки;</span>
- <span style="font-weight: 400;">**created\_at** - время создания заявки;</span>
- <span style="font-weight: 400;">**updated\_at** - время обновления заявки;</span>
- <span style="font-weight: 400;">**deleted\_at** - время удаления заявки;</span>
- <span style="font-weight: 400;">все системные поля заявки (по английски).</span>

<p class="callout warning">Можно получить код значения, используя суффикс **".raw"** к имени произвольного поля. Т.е. если в заявке установлено из опций поля с именем age второе значение:  
({  
"1": "18-25 лет",  
"2": "25-30 лет",  
"3": "30-35 лет",  
"4": "35-40 лет",  
"5": "Больше 40 лет",  
"6": "Не важно"   
})  
то **ticket.getCustomData('age')** вернёт "25-30 лет", **ticket.getCustomData('age.raw')** вернёт "2". </p>

##### Возвращает:

**mixed** - если значение найдено

или

**null** - если значение не найдено.

##### Пример:

```JavaScript
let tickets = bot.findTickets();

for (let i = 0; i < tickets.length; i++) {
  lead.setAttr('tickets_' + i + '_tickets_title', tickets[i].getData('title'));
  lead.setAttr('tickets_' + i + '_client_contacts', tickets[i].getCustomData('client_contacts'));
  lead.setAttr('tickets_' + i + '_details', tickets[i].getCustomData('details'));
  lead.setAttr('tickets_' + i + '_статус_имя', tickets[i].getCustomData('статус.имя'));
}

lead.setAttr('found_tickets_count', tickets.length);
```

# ticket.issetData() и ticket.isDataExist()

#### <span style="color: #222222; font-size: 1.666em;">Проверить наличие данных по заявке</span>  


```JavaScript
ticket.issetData(string $key)
```

или

```JavaScript
ticket.isDataExist(string $key)
```

##### Описание:

Проверяет существуют ли данные заявки по заданному ключу.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-2" style="border-collapse: collapse; width: 100%; height: 385.203px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr><td style="width: 33.3745%;">key</td><td style="width: 33.3745%;">string</td><td style="width: 33.3745%;">Ключ наименование поля</td></tr></tbody></table>

<span style="font-weight: 400;">В качестве ключа можно указать:</span>

- <span style="font-weight: 400;">**id** - id заявки;</span>
- <span style="font-weight: 400;">**business\_id** - id бизнеса;</span>
- <span style="font-weight: 400;">**bot\_id** - id бота;</span>
- <span style="font-weight: 400;">**author\_person\_id** - id автора заявки;</span>
- <span style="font-weight: 400;">**client\_person\_id** - id клиента заявки;</span>
- <span style="font-weight: 400;">**assigned\_person\_id** - id исполнителя заявки;</span>
- <span style="font-weight: 400;">**ticket\_type\_id** - id вида заявки, виды заявки создаются вручную;</span>
- <span style="font-weight: 400;">**payment\_type\_id** - id способа оплаты. Доступные значения:</span>
    - <span style="font-weight: 400;">0 - PAYMENT\_TYPE\_NONE;</span>
    - <span style="font-weight: 400;">**1** - PAYMENT\_TYPE\_ROBOKASSA;</span>
    - <span style="font-weight: 400;">**2** - PAYMENT\_TYPE\_YANDEXKASSA;</span>
    - <span style="font-weight: 400;">**3** - PAYMENT\_TYPE\_CASH;</span>
- <span style="font-weight: 400;">**status\_id** - id статуса заявки;</span>
- <span style="font-weight: 400;">**title** - заголовок заявки;</span>
- <span style="font-weight: 400;">**description** - описание заявки;</span>
- <span style="font-weight: 400;">**created\_at** - время создания заявки;</span>
- <span style="font-weight: 400;">**updated\_at** - время обновления заявки;</span>
- <span style="font-weight: 400;">**deleted\_at** - время удаления заявки;</span>
- <span style="font-weight: 400;">все системные поля заявки (по английски).</span>

##### Возвращает:

**bool** - подтверждение существования данных.

##### Пример:

```JavaScript
let Data = ticket.issetData('title');
```

или

```JavaScript
let Data = ticket.isDataExist('title');
```

# ticket.reloadCustomData()

### Перезагрузка кастомных данных


```JavaScript
ticket.reloadCustomData(bool $isReloadModel = false)
```

##### Описание:

Перезагружает кастомные поля заявки.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-isr" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">isReloadModel</td><td style="width: 33.2909%; height: 29.7969px;">bool</td><td style="width: 33.2948%; height: 29.7969px;">Перезагружает и системные поля заявки, вызывая ticket.reloadTicket()</td></tr></tbody></table>

##### Возвращает:

**bool** — подтверждение успешной перезагрузки.

# ticket.setAllCustomData()

### Переопределить список кастомных полей


```JavaScript
ticket.setAllCustomData(array $customData)
```

##### Описание:

Не переносится в БД. Будет переопределен массив кастомных полей в памяти, используется для внутренних целей задания значений полей.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-cus" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">customData</td><td style="width: 33.2909%; height: 29.7969px;">array</td><td style="width: 33.2948%; height: 29.7969px;">Массив кастомных полей</td></tr></tbody></table>

##### Возвращает:

**self** - тип указанный при вызове метода.

##### Пример:

```JavaScript
ticket.setAllCustomData([{
"место": "Место 01",
"время": "12:30"
}]);
```

# ticket.getAllCustomData()

### Получить список кастомных полей


```JavaScript
ticket.getAllCustomData()
```

##### Описание:

Возвращает значения всех кастомных полей.

##### Возвращает:

**array** - массив значений кастмных полей.

# ticket.setCustomData()

### Установить значение кастомного поля


```JavaScript
ticket.setCustomData(string $key, $value)
```

##### Описание:

Устанавливает значение кастомного поля. Не сохраняется в БД.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-3" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">key</td><td style="width: 33.3745%;">string</td><td style="width: 33.3745%;">Ключ наименование поля</td></tr><tr><td style="width: 33.3745%;">value</td><td style="width: 33.3745%;">self</td><td style="width: 33.3745%;">Значение поля</td></tr></tbody></table>

<span style="font-weight: 400;">В качестве ключа можно указать:</span>

- <span style="font-weight: 400;">**названия всех произвольных полей заявки**;</span>
- <span style="font-weight: 400;">**id** - id заявки;</span>
- <span style="font-weight: 400;">**business\_id** - id бизнеса;</span>
- <span style="font-weight: 400;">**bot\_id** - id бота;</span>
- <span style="font-weight: 400;">**author\_person\_id** - id автора заявки;</span>
- <span style="font-weight: 400;">**client\_person\_id** - id клиента заявки;</span>
- <span style="font-weight: 400;">**assigned\_person\_id** - id исполнителя заявки;</span>
- <span style="font-weight: 400;">**ticket\_type\_id** - id вида заявки, виды заявки создаются вручную;</span>
- <span style="font-weight: 400;">**payment\_type\_id** - id способа оплаты. Доступные значения:</span>
    - <span style="font-weight: 400;">0 - PAYMENT\_TYPE\_NONE;</span>
    - <span style="font-weight: 400;">**1** - PAYMENT\_TYPE\_ROBOKASSA;</span>
    - <span style="font-weight: 400;">**2** - PAYMENT\_TYPE\_YANDEXKASSA;</span>
    - <span style="font-weight: 400;">**3** - PAYMENT\_TYPE\_CASH;</span>
- <span style="font-weight: 400;">**status\_id** - id статуса заявки;</span>
- <span style="font-weight: 400;">**title** - заголовок заявки;</span>
- <span style="font-weight: 400;">**description** - описание заявки;</span>
- <span style="font-weight: 400;">**created\_at** - время создания заявки;</span>
- <span style="font-weight: 400;">**updated\_at** - время обновления заявки;</span>
- <span style="font-weight: 400;">**deleted\_at** - время удаления заявки;</span>
- <span style="font-weight: 400;">все системные поля заявки (по английски).</span>

##### Возвращает:

**self** - тип указанный при вызове метода.

##### Пример:

```JavaScript
ticket.setCustomData("место", "Место1");
```

# ticket.issetCustomData()

### <span style="font-weight: 400;">И</span>меет ли значение кастомное поле


```JavaScript
ticket.issetCustomData(string $key)
```

##### Описание:

Проверяет существует ли ключ и не имеет ли он значение null.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-4" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">key</td><td style="width: 33.3745%;">string</td><td style="width: 33.3745%;">Ключ наименование поля</td></tr></tbody></table>

<span style="font-weight: 400;">В качестве ключа можно указать:</span>

- <span style="font-weight: 400;">**названия всех произвольных полей заявки**;</span>
- <span style="font-weight: 400;">**id** - id заявки;</span>
- <span style="font-weight: 400;">**business\_id** - id бизнеса;</span>
- <span style="font-weight: 400;">**bot\_id** - id бота;</span>
- <span style="font-weight: 400;">**author\_person\_id** - id автора заявки;</span>
- <span style="font-weight: 400;">**client\_person\_id** - id клиента заявки;</span>
- <span style="font-weight: 400;">**assigned\_person\_id** - id исполнителя заявки;</span>
- <span style="font-weight: 400;">**ticket\_type\_id** - id вида заявки, виды заявки создаются вручную;</span>
- <span style="font-weight: 400;">**payment\_type\_id** - id способа оплаты. Доступные значения:</span>
    - <span style="font-weight: 400;">0 - PAYMENT\_TYPE\_NONE;</span>
    - <span style="font-weight: 400;">**1** - PAYMENT\_TYPE\_ROBOKASSA;</span>
    - <span style="font-weight: 400;">**2** - PAYMENT\_TYPE\_YANDEXKASSA;</span>
    - <span style="font-weight: 400;">**3** - PAYMENT\_TYPE\_CASH;</span>
- <span style="font-weight: 400;">**status\_id** - id статуса заявки;</span>
- <span style="font-weight: 400;">**title** - заголовок заявки;</span>
- <span style="font-weight: 400;">**description** - описание заявки;</span>
- <span style="font-weight: 400;">**created\_at** - время создания заявки;</span>
- <span style="font-weight: 400;">**updated\_at** - время обновления заявки;</span>
- <span style="font-weight: 400;">**deleted\_at** - время удаления заявки;</span>
- <span style="font-weight: 400;">все системные поля заявки (по английски).</span>

##### Возвращает:

**bool** - подтверждение существования ключа.

##### Пример:

```JavaScript
ticket.issetCustomData("время");
```

# ticket.isCustomDataExist()

### Существует ли кастомное поле




```JavaScript
ticket.isCustomDataExist(string $key)
```

##### Описание:

Проверяет существует ли такой ключ в списке кастомных полей.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-5" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">key</td><td style="width: 33.3745%;">string</td><td style="width: 33.3745%;">Ключ наименование поля</td></tr></tbody></table>

<span style="font-weight: 400;">В качестве ключа можно указать:</span>

- <span style="font-weight: 400;">**названия всех произвольных полей заявки**;</span>
- <span style="font-weight: 400;">**id** - id заявки;</span>
- <span style="font-weight: 400;">**business\_id** - id бизнеса;</span>
- <span style="font-weight: 400;">**bot\_id** - id бота;</span>
- <span style="font-weight: 400;">**author\_person\_id** - id автора заявки;</span>
- <span style="font-weight: 400;">**client\_person\_id** - id клиента заявки;</span>
- <span style="font-weight: 400;">**assigned\_person\_id** - id исполнителя заявки;</span>
- <span style="font-weight: 400;">**ticket\_type\_id** - id вида заявки, виды заявки создаются вручную;</span>
- <span style="font-weight: 400;">**payment\_type\_id** - id способа оплаты. Доступные значения:</span>
    - <span style="font-weight: 400;">0 - PAYMENT\_TYPE\_NONE;</span>
    - <span style="font-weight: 400;">**1** - PAYMENT\_TYPE\_ROBOKASSA;</span>
    - <span style="font-weight: 400;">**2** - PAYMENT\_TYPE\_YANDEXKASSA;</span>
    - <span style="font-weight: 400;">**3** - PAYMENT\_TYPE\_CASH;</span>
- <span style="font-weight: 400;">**status\_id** - id статуса заявки;</span>
- <span style="font-weight: 400;">**title** - заголовок заявки;</span>
- <span style="font-weight: 400;">**description** - описание заявки;</span>
- <span style="font-weight: 400;">**created\_at** - время создания заявки;</span>
- <span style="font-weight: 400;">**updated\_at** - время обновления заявки;</span>
- <span style="font-weight: 400;">**deleted\_at** - время удаления заявки;</span>
- <span style="font-weight: 400;">все системные поля заявки (по английски).</span>

##### Возвращает:

**bool** - подтверждение существования ключа.

##### Пример:

```JavaScript
ticket.isCustomDataExist("место");
```

# ticket.getTicketTypeName()

#### <span style="color: #222222; font-size: 1.666em;">Получить название типа заявки</span>

```
ticket.getTicketTypeName()
```

##### Описание:

Находит название типа заявки.

##### Возвращает:

**string** — название типа заявки

или

**null** — если у заявки нет типа.

# ticket.getStatusId() и ticket.getAttr('status_id')

#### <span style="color: #222222; font-size: 1.666em;">Получить ID статуса заявки</span>  


```JavaScript
ticket.getStatusId()
```

или

```
ticket.getAttr('status_id')
```

##### Описание:

Находит id статуса заявки.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-sta-0" style="border-collapse: collapse; width: 100%; height: 385.203px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr><td style="width: 33.2909%;">status\_id</td><td style="width: 33.2909%;">string</td><td style="width: 33.2948%;">Ключ id статуса заявки</td></tr></tbody></table>

##### Возвращает:

**int** — id статуса заявки

или

**null** — если у заявки нет статуса.

# ticket.getStatusName()

#### <span style="color: #222222; font-size: 1.666em;">Получить название статуса заявки</span>

```
ticket.getStatusName()
```

##### Описание:

Находит название статуса заявки.

##### Возвращает:

**string** — название статуса заявки

или

**null** — если у заявки нет статуса.

# ticket.getStatusType()

#### <span style="color: #222222; font-size: 1.666em;">Получить тип статуса заявки</span>  


```JavaScript
ticket.getStatusType()
```

##### Описание:

Находит тип статуса заявки.

##### Возвращает:

**string** — тип статуса заявки

или

**null** — если у заявки нет статуса или у статуса нет типа.

# ticket._sanitizeString()

#### <span style="color: #222222; font-size: 1.666em;">Приведение названия статуса к стандартному виду</span>  


```JavaScript
ticket._sanitizeString($string)
```

##### Описание:

<span style="font-weight: 400;">Вспомогательная функция используемая для приведения названия статуса к нижнему регистру и удаления лишних символов из названия.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-sta-1" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">statusNme</td><td style="width: 33.2909%; height: 29.7969px;">string</td><td style="width: 33.2948%; height: 29.7969px;">Наименование статуса заявки</td></tr></tbody></table>

##### Возвращает:

**string** - обновленное наименование статуса заявки.

<p class="callout warning"><span style="font-weight: 400;">В v8 скриптах не используется.</span></p>

# ticket.isInStatus()

### Проверить статус заявки

```JavaScript
ticket.isInStatus($statusName)
```

##### Описание:

<span style="font-weight: 400;">Проверить, что заявка находится в статусе с именем $statusName.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-sta-2" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr style="height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;"><span style="font-weight: 400;">statusName</span></td><td style="width: 33.2909%; height: 29.7969px;">string</td><td style="width: 33.2948%; height: 29.7969px;">Наименование статуса заявки</td></tr></tbody></table>

##### Возвращает:

**bool** — подтверждение, <span style="font-weight: 400;">что заявка находится в указанном статусе.</span>

# ticket.setStatusId()

#### <span style="color: #222222; font-size: 1.666em;">Установить статус заявки по id</span>  


```JavaScript
ticket.setStatusId(int|null $statusId, int|null $personQueueIdForLog = null, string|null $personQueueTableForLog = null)
```

##### Описание:

Устанавливает указанный статус для заявки по id.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-sta-3" style="border-collapse: collapse; width: 100%; height: 385.203px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr><td style="width: 33.3745%;">statusId</td><td style="width: 33.3745%;">int|null</td><td style="width: 33.3745%;">id статуса заявки</td></tr><tr><td style="width: 33.3745%; height: 29.7969px;">personQueueIdForLog</td><td style="width: 33.3745%; height: 29.7969px;">int|null</td><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">id очереди записываемый в лог</span></td></tr><tr><td style="width: 33.3745%; height: 29.7969px;">personQueueTableForLog </td><td style="width: 33.3745%; height: 29.7969px;">string|null</td><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">Название таблицы-связки для очередей записываемое в лог</span></td></tr></tbody></table>

##### Возвращает:

**bool** — подтверждение установки нового статуса<span style="font-weight: 400;">.</span>

# ticket.setStatusByName()

#### <span style="color: #222222; font-size: 1.666em;">Установить статус заявки по имени</span>  


```JavaScript
ticket.setStatusByName(string $statusName, int|null $personQueueIdForLog = null, string|null $personQueueTableForLog = null)
```

##### Описание:

Устанавливает указанный статус для заявки по имени.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-sta-4" style="border-collapse: collapse; width: 100%; height: 385.203px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">statusName</span></td><td style="width: 33.3745%; height: 29.7969px;">string</td><td style="width: 33.3745%; height: 29.7969px;">Наименование статуса заявки</td></tr><tr><td style="width: 33.3745%; height: 29.7969px;">personQueueIdForLog</td><td style="width: 33.3745%; height: 29.7969px;">int|null</td><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">id очереди записываемый в лог</span></td></tr><tr><td style="width: 33.3745%; height: 29.7969px;">personQueueTableForLog </td><td style="width: 33.3745%; height: 29.7969px;">string|null</td><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">Название таблицы-связки для очередей записываемое в лог</span></td></tr></tbody></table>

##### Возвращает:

**bool** — подтверждение установки нового статуса<span style="font-weight: 400;">.</span>

# ticket.reloadTicket()

#### <span style="color: #222222; font-size: 1.666em;">Загрузить заявку повторно</span>  


```JavaScript
ticket.reloadTicket()
```

##### Описание:

<span style="font-weight: 400;">Загрузить заявку повторно из БД. </span><span style="font-weight: 400;">Автоматически выполняется, например, в случае изменения статуса заявки, назначении другого исполнителя и т.п.</span>

##### Возвращает:

**bool** — подтверждение повторной загрузки заявки<span style="font-weight: 400;">.</span>

# ticket.getAuthorPersonId()

#### <span style="color: #222222; font-size: 1.666em;">Получить ID автора заявки</span>  


```JavaScript
ticket.getAuthorPersonId()
```

##### Описание:

Возвращает id автора заявки.

##### Возвращает:

**int** — id автора заявки в формате числа

или

**null** — если автор не найден.

# ticket.getAssignedPersonId()

#### <span style="color: #222222; font-size: 1.666em;">Получить ID исполнителя заявки</span>  


```JavaScript
ticket.getAssignedPersonId()
```

##### Описание:

Возвращает id исполнителя заявки.

##### Возвращает:

**int** — id исполнителя заявки в формате числа

или

**null** — если исполнитель не найден.

# ticket.getClientPersonId()

#### <span style="color: #222222; font-size: 1.666em;">Получить ID клиента заявки</span>  


```JavaScript
ticket.getClientPersonId()
```

##### Описание:

Возвращает id клиента заявки.

##### Возвращает:

**int** — id клиента заявки в формате числа

или

**null** — если клиент не найден.

# ticket.getAuthorPersonFullName()

#### <span style="color: #222222; font-size: 1.666em;">Получить ФИО автора заявки</span>  


```JavaScript
ticket.getAuthorPersonFullName()
```

##### Описание:

Возвращает ФИО автора заявки.

##### Возвращает:

**string** — ФИО автора заявки.

# ticket.getAssignedPersonFullName()

### Получить ФИО исполнителя заявки

```JavaScript
ticket.getAssignedPersonFullName()
```

##### Описание:

Возвращает ФИО исполнителя заявки.

##### Возвращает:

**string** — ФИО исполнителя заявки.

# ticket.getClientPersonFullName()

### Получить ФИО клиента заявки

```JavaScript
ticket.getClientPersonFullName()
```

##### Описание:

Возвращает ФИО клиента заявки.

##### Возвращает:

**string** — ФИО клиента заявки.

# ticket.getAuthorPersonRoleId()

### Получить ID роли автора заявки

```JavaScript
ticket.getAuthorPersonRoleId()
```

##### Описание:

Возвращает ID роли автора заявки.

##### Возвращает:

**int** — ID роли автора заявки

или

**null** — если клиент или роль не найдены.

# ticket.getAssignedPersonRoleId()

#### <span style="color: #222222; font-size: 1.666em;">Получить ID роли исполнителя заявки</span>  


```JavaScript
ticket.getAssignedPersonRoleId()
```

##### Описание:

Возвращает ID роли исполнителя заявки.

##### Возвращает:

**int** — ID роли исполнителя заявки

или

**null** — если клиент или роль не найдены.

# ticket.getClientPersonRoleId()

### Получить ID роли клиента заявки

```JavaScript
ticket.getClientPersonRoleId()
```

##### Описание:

Возвращает ID роли клиента заявки.

##### Возвращает:

**int** — ID роли клиента заявки

или

**null** — если клиент или роль не найдены.

# ticket.getAuthorPersonRoleName()

### Получить имя роли автора заявки

```JavaScript
ticket.getAuthorPersonRoleName()
```

##### Описание:

Возвращает имя роли автора заявки.

##### Возвращает:

**string** — имя роли автора заявки.

# ticket.getAssignedPersonRoleName()

#### <span style="color: #222222; font-size: 1.666em;">Получить имя роли исполнителя заявки</span>  


```JavaScript
ticket.getAssignedPersonRoleName()
```

##### Описание:

Возвращает имя роли исполнителя заявки.

##### Возвращает:

**string** — имя роли исполнителя заявки.

# ticket.getClientPersonRoleName()

### Получить имя роли клиента заявки

```JavaScript
ticket.getClientPersonRoleName()
```

##### Описание:

Возвращает имя роли клиента заявки.

##### Возвращает:

**string** — имя роли клиента заявки.

# ticket.getAuthorPersonRoleTitle()

### Получить заголовок роли автора заявки

```JavaScript
ticket.getAuthorPersonRoleTitle()
```

##### Описание:

Возвращает заголовок роли автора заявки.

##### Возвращает:

**string** — заголовок роли автора заявки.

# ticket.getAssignedPersonRoleTitle()

#### <span style="color: #222222; font-size: 1.666em;">Получить заголовок роли исполнителя заявки</span>  


```JavaScript
ticket.getAssignedPersonRoleTitle()
```

##### Описание:

Возвращает заголовок роли исполнителя заявки.

##### Возвращает:

**string** — заголовок роли исполнителя заявки.

# ticket.getClientPersonRoleTitle()

### Получить заголовок роли клиента заявки

```JavaScript
ticket.getClientPersonRoleTitle()
```

##### Описание:

Возвращает заголовок роли клиента заявки.

##### Возвращает:

**string** — заголовок роли клиента заявки.

# ticket.getAuthorPersonRoleFormattedTitle()

### Получить форматированное название роли автора заявки

```JavaScript
ticket.getAuthorPersonRoleFormattedTitle()
```

##### Описание:

Возвращает форматированное название роли автора заявки.

##### Возвращает:

**string** — форматированное название роли автора заявки.

# ticket.getAssignedPersonRoleFormattedTitle()

### Получить форматированное название роли исполнителя заявки

```JavaScript
ticket.getAssignedPersonRoleFormattedTitle()
```

##### Описание:

Возвращает форматированное название роли исполнителя заявки.

##### Возвращает:

**string** — форматированное название роли исполнителя заявки.

# ticket.getClientPersonRoleFormattedTitle()

### Получить форматированное название роли клиента заявки

```JavaScript
ticket.getClientPersonRoleFormattedTitle()
```

##### Описание:

Возвращает форматированное название роли клиента заявки.

##### Возвращает:

**string** — форматированное название роли клиента заявки.

# ticket.getPerson1Id()

### Получение id первой дополнительной персоны


```JavaScript
ticket.getPerson1Id()
```

##### Описание:

Возвращает id первой дополнительной персоны заявки.

##### Возвращает:

**int** — id персоны в формате числа

или

**null** — если персона не найдена.

# ticket.getPerson2Id()

### Получение id второй дополнительной персоны


```JavaScript
ticket.getPerson2Id()
```

##### Описание:

Возвращает id второй дополнительной персоны заявки.

##### Возвращает:

**int** — id персоны в формате числа

или

**null** — если персона не найдена.

# ticket.getPerson3Id()

### Получение id третьей дополнительной персоны


```JavaScript
ticket.getPerson3Id()
```

##### Описание:

Возвращает id третьей дополнительной персоны заявки.

##### Возвращает:

**int** — id персоны в формате числа

или

**null** — если персона не найдена.

# ticket.setPerson1Id()

### Установка id первой дополнительной персоны


```JavaScript
ticket.setPerson1Id(int|null $personId)
```

##### Описание:

Устанавливает id первой дополнительной персоны заявки.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-per-0" style="border-collapse: collapse; width: 100%; height: 385.203px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr><td style="width: 33.2909%;">personId</td><td style="width: 33.2909%;">int|null</td><td style="width: 33.2948%;">ID персоны</td></tr></tbody></table>

##### Возвращает:

**bool** — подтверждение установки значения.

# ticket.setPerson2Id()

### Установка id второй дополнительной персоны


```JavaScript
ticket.setPerson2Id(int|null $personId)
```

##### Описание:

Устанавливает id второй дополнительной персоны заявки.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-per-1" style="border-collapse: collapse; width: 100%; height: 385.203px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr><td style="width: 33.2909%;">personId</td><td style="width: 33.2909%;">int|null</td><td style="width: 33.2948%;">ID персоны</td></tr></tbody></table>

##### Возвращает:

**bool** — подтверждение установки значения.

# ticket.setPerson3Id()

### Установка id третьей дополнительной персоны


```JavaScript
ticket.setPerson3Id(int|null $personId)
```

##### Описание:

Устанавливает id третьей дополнительной персоны заявки.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-per-2" style="border-collapse: collapse; width: 100%; height: 59.3287px;"><tbody><tr style="background-color: #ced4d9; height: 29.7917px;"><td style="width: 33.2909%; height: 29.7917px;">Имя</td><td style="width: 33.2909%; height: 29.7917px;">Тип</td><td style="width: 33.2948%; height: 29.7917px;">Описание</td></tr><tr style="height: 29.537px;"><td style="width: 33.2909%; height: 29.537px;">personId</td><td style="width: 33.2909%; height: 29.537px;">int|null</td><td style="width: 33.2948%; height: 29.537px;">ID персоны</td></tr></tbody></table>

##### Возвращает:

**bool** — подтверждение установки значения.

# ticket.assignToNextQueuePerson()

#### <span style="color: #222222; font-size: 1.666em;">Назначить заявку следующему исполнителю</span>  


```JavaScript
ticket.assignToNextQueuePerson(int $queueMode = 1, int|null $personQueueId = null, string|null $personQueueTable = null, int|null $currentAssignAttempt = null, bool $isIncRejectsCount = true, bool $isMoveToEndIfRejectsExceed = true)
```

##### Описание:

<span style="font-weight: 400;">Назначить заявку следующему исполнителю. Исполнитель будет определен, как первый в очереди распределения по типу заявки.</span>

<span style="font-weight: 400;">Логика работы функции:</span>

1. <span style="font-weight: 400;">Ищет первую персону из очереди распределения, которой еще не назначали тикет (заявку).</span>
2. <span style="font-weight: 400;">Если персоны нет, то возвращаем false (чтобы остановить триггер распределения очереди).</span>
3. <span style="font-weight: 400;">Увеличивает счетчик отказов у найденной персоны.</span>
4. <span style="font-weight: 400;">Увеличивается счетчик отказов по найденному исполнителю.</span>
5. <span style="font-weight: 400;">Если кол-во отказов &gt;= $maxRejects, то исполнитель переносится в конец очереди </span><span style="font-weight: 400;">(исполнитель текущий, которого нашли, а не первый в очереди).</span>
6. <span style="font-weight: 400;">Назначает заявку найденной персоне.</span>

<span style="font-weight: 400;">Поиск исполнителя выполняется по следующим критериям:</span>

- <span style="font-weight: 400;">Исполнитель есть в очереди по типу заявки;</span>
- <span style="font-weight: 400;">Исполнитель активен в очереди распределения (включена соответствующая галка);</span>
- <span style="font-weight: 400;">Исполнителю еще не назначалась данная заявка.</span>

<p class="callout warning"><span style="font-weight: 400;">Условие (количество отказов по исполнителю rejects\_count &lt; $maxRejects+1) НЕ НУЖНО, т.к.:   
</span><span style="font-weight: 400;">1. Как только лимит превышен персона сразу будет перемещена в конец очереди, а счетчик сброшен.  
</span><span style="font-weight: 400;">2. Может возникнуть баг, если лимит превышен, персона никогда не попадет в выборку и ее счетчик не будет сброшен.</span></p>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-isi" style="border-collapse: collapse; width: 100%; height: 432.5px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr style="height: 169.734px;"><td style="width: 33.2909%; height: 169.734px;">queueMode </td><td style="width: 33.2909%; height: 169.734px;">int</td><td style="width: 33.2948%; height: 169.734px;">Режим работы очереди.

Для работы с очередью на основе видов заявок указывать не нужно, будет использовано значение по умолчанию **1**;  
Для работы с очередью на основе видов очередей указать **2.**

</td></tr><tr style="height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">personQueueId </td><td style="width: 33.2909%; height: 29.7969px;">int|null</td><td style="width: 33.2948%; height: 29.7969px;"><span style="font-weight: 400;">id очереди</span></td></tr><tr style="height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">personQueueTable </td><td style="width: 33.2909%; height: 29.7969px;">string|null</td><td style="width: 33.2948%; height: 29.7969px;"><span style="font-weight: 400;">Название таблицы-связки для очередей</span></td></tr><tr style="height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">currentAssignAttempt </td><td style="width: 33.2909%; height: 29.7969px;">int|null</td><td style="width: 33.2948%; height: 29.7969px;"><span style="font-weight: 400;">Номер попытки прогона одного и того же тикета по той же очереди</span>

</td></tr><tr style="height: 46.5938px;"><td style="width: 33.2909%; height: 46.5938px;">isIncRejectsCount</td><td style="width: 33.2909%; height: 46.5938px;">bool</td><td style="width: 33.2948%; height: 46.5938px;"><span style="font-weight: 400;">Увеличивать или нет счетчик попыток у персоны (в очереди исполнителей)</span></td></tr><tr style="height: 96.9844px;"><td style="width: 33.2909%; height: 96.9844px;">isMoveToEndIfRejectsExceed</td><td style="width: 33.2909%; height: 96.9844px;">bool</td><td style="width: 33.2948%; height: 96.9844px;"><span style="font-weight: 400;">Переносить или нет персону в конец очереди и сбрасывать счетчик попыток, если кол-во попыток превышено (превышает число указанное в настройках бота)</span></td></tr></tbody></table>

##### Возвращает:

**bool** — подтверждение назначения заявки следующему исполнителю<span style="font-weight: 400;">.</span>

# ticket.moveAssignedPersonToEndOfQueue()

#### <span style="color: #222222; font-size: 1.666em;">Перенести исполнителя в конец очереди</span>  


```JavaScript
ticket.moveAssignedPersonToEndOfQueue(int $queueMode = 1, int|null $personQueueId = null, string|null $personQueueTable = null, bool $isResetRejectsCount = true)
```

##### Описание:

<span style="font-weight: 400;">Используется для скрипта "Приема заявки" в боте, чтобы переместить исполнителя в конец очереди, после того как он принял заявку.</span>

<span style="font-weight: 400;">Переносит персону, которой в данный момент назначен тикет, в конец очереди, при этом исполнитель заявки не меняется.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-isr-0" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr><td style="width: 33.3745%; height: 169.734px;">queueMode </td><td style="width: 33.3745%; height: 169.734px;">int</td><td style="width: 33.3745%; height: 169.734px;">Режим работы очереди.

Для работы с очередью на основе видов заявок указывать не нужно, будет использовано значение по умолчанию **1**;  
Для работы с очередью на основе видов очередей указать **2.**

</td></tr><tr><td style="width: 33.3745%; height: 29.7969px;">personQueueId </td><td style="width: 33.3745%; height: 29.7969px;">int|null</td><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">id очереди</span></td></tr><tr><td style="width: 33.3745%; height: 29.7969px;">personQueueTable </td><td style="width: 33.3745%; height: 29.7969px;">string|null</td><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">Название таблицы-связки для очередей</span></td></tr><tr style="height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">isResetRejectsCount</td><td style="width: 33.3745%; height: 29.7969px;">bool</td><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">Обновить или нет счетчик попыток у персоны (в очереди исполнителей)</span></td></tr></tbody></table>

##### Возвращает:

**bool** — подтверждение переноса исполнителя<span style="font-weight: 400;">.</span>

# ticket.assignToPersonById()

#### <span style="color: #222222; font-size: 1.666em;">Назначить исполнителя заявки</span>  


```JavaScript
ticket.assignToPersonById(int|null $personId, int|null $personQueueIdForLog = null, string|null $personQueueTableForLog = null, int|null $assignAttemptForLog = null)
```

##### Описание:

Назначает указанного исполнителя для заявки. <span style="font-weight: 400;">Для сброса персоны необходимо указать null в аргументах функции.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-per" style="border-collapse: collapse; width: 100%; height: 385.203px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr><td style="width: 33.3745%;">personId</td><td style="width: 33.3745%;">int|null</td><td style="width: 33.3745%;">id персоны-исполнителя</td></tr><tr><td style="width: 33.3745%; height: 29.7969px;">personQueueIdForLog</td><td style="width: 33.3745%; height: 29.7969px;">int|null</td><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">id очереди записываемый в лог</span></td></tr><tr><td style="width: 33.3745%; height: 29.7969px;">personQueueTableForLog </td><td style="width: 33.3745%; height: 29.7969px;">string|null</td><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">Название таблицы-связки для очередей записываемое в лог</span></td></tr><tr><td style="width: 33.3745%;">assignAttemptForLog </td><td style="width: 33.3745%;">int|null</td><td style="width: 33.3745%;"><span style="font-weight: 400;">Номер попытки прогона одного и того же тикета по той же очереди записываемый в лог</span></td></tr></tbody></table>

##### Возвращает:

**bool** — подтверждение назначения исполнителя.

# ticket.getAssignedPersonRejectsCount()

#### <span style="color: #222222; font-size: 1.666em;">Получить количество отказов от заявок</span>  


```JavaScript
ticket.getAssignedPersonRejectsCount(int|null $personQueueId = null, string|null $personQueueTable = null): ?int
```

##### Описание:

Возвращает количество отказов от заявок <span style="font-weight: 400;">для текущего исполнителя</span>.

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-per-0" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr><td style="width: 33.3745%; height: 29.7969px;">personQueueId </td><td style="width: 33.3745%; height: 29.7969px;">int|null</td><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">id очереди</span></td></tr><tr><td style="width: 33.3745%; height: 29.7969px;">personQueueTable </td><td style="width: 33.3745%; height: 29.7969px;">string|null</td><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">Название таблицы-связки для очередей</span></td></tr></tbody></table>

##### Возвращает:

**int** — количество отказов от заявок в формате числа.

# ticket.setAssignedPersonRejectsCount()

#### <span style="color: #222222; font-size: 1.666em;">Установить количество отказов от заявок</span>  


```JavaScript
ticket.setAssignedPersonRejectsCount(int $rejectsCount, int|null $personQueueId = null, string|null $personQueueTable = null)
```

##### Описание:

<span style="font-weight: 400;">Установить количество отказов от заявок для текущего исполнителя.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-rej" style="border-collapse: collapse; width: 100%; height: 385.203px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr><td style="width: 33.3745%;">rejectsCount</td><td style="width: 33.3745%;">int</td><td style="width: 33.3745%;">Количество отказов</td></tr><tr><td style="width: 33.3745%; height: 29.7969px;">personQueueId </td><td style="width: 33.3745%; height: 29.7969px;">int|null</td><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">id очереди</span></td></tr><tr><td style="width: 33.3745%; height: 29.7969px;">personQueueTable </td><td style="width: 33.3745%; height: 29.7969px;">string|null</td><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">Название таблицы-связки для очередей</span></td></tr></tbody></table>

##### Возвращает:

**bool** — подтверждение успешной установки отказов.

# ticket.incAssignedPersonRejectsCount()

#### <span style="color: #222222; font-size: 1.666em;">Увеличить количество отказов от заявок</span>  


```JavaScript
ticket.incAssignedPersonRejectsCount(int|null $personQueueId = null, string|null $personQueueTable = null)
```

##### Описание:

<span style="font-weight: 400;">Увеличить количество отказов от заявок для текущего исполнителя на 1. </span><span style="font-weight: 400;">Метод не сбрасывает кол-во попыток, если значение будет больше чем указанное в боте максимальное количество отказов.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-per-1" style="border-collapse: collapse; width: 100%; height: 59.5938px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.3745%; height: 29.7969px;">Имя</td><td style="width: 33.3745%; height: 29.7969px;">Тип</td><td style="width: 33.3745%; height: 29.7969px;">Описание</td></tr><tr><td style="width: 33.3745%; height: 29.7969px;">personQueueId </td><td style="width: 33.3745%; height: 29.7969px;">int|null</td><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">id очереди</span></td></tr><tr><td style="width: 33.3745%; height: 29.7969px;">personQueueTable </td><td style="width: 33.3745%; height: 29.7969px;">string|null</td><td style="width: 33.3745%; height: 29.7969px;"><span style="font-weight: 400;">Название таблицы-связки для очередей</span></td></tr></tbody></table>


##### Возвращает:

**bool** — подтверждение успешного увеличения отказов.

# ticket.assignToNextPersonAndMoveToEnd()

### <span style="font-weight: 400;">Назначить заявку следующему исполнителю и перенести в конец очереди</span>

```JavaScript
ticket.assignToNextPersonAndMoveToEnd()
```

##### Описание:

Назначает заявку следующему исполнителю и переносит его в конец очереди.

##### Возвращает:

**bool** — подтверждение назначения заявки.

# ticket.getAllData()

### <span style="font-weight: 400;">Получить значение всех данных заявки</span>

```JavaScript
ticket.getAllData()
```

##### Описание:

<span style="font-weight: 400;">Возвращает значение всех данных заявки.</span>

##### Возвращает:

<span style="font-weight: 300;">**array** </span>- массив данных заявки<span style="font-weight: 400;">:</span>

- <span style="font-weight: 400;">**id** - id заявки;</span>
- <span style="font-weight: 400;">**business\_id** - id бизнеса;</span>
- <span style="font-weight: 400;">**bot\_id** - id бота;</span>
- <span style="font-weight: 400;">**author\_person\_id** - id автора заявки;</span>
- <span style="font-weight: 400;">**client\_person\_id** - id клиента заявки;</span>
- <span style="font-weight: 400;">**assigned\_person\_id** - id исполнителя заявки;</span>
- <span style="font-weight: 400;">**ticket\_type\_id** - id вида заявки, виды заявки создаются вручную;</span>
- <span style="font-weight: 400;">**payment\_type\_id** - id способа оплаты. Доступные значения:</span>
    - <span style="font-weight: 400;">0 - PAYMENT\_TYPE\_NONE;</span>
    - <span style="font-weight: 400;">**1** - PAYMENT\_TYPE\_ROBOKASSA;</span>
    - <span style="font-weight: 400;">**2** - PAYMENT\_TYPE\_YANDEXKASSA;</span>
    - <span style="font-weight: 400;">**3** - PAYMENT\_TYPE\_CASH;</span>
- <span style="font-weight: 400;">**status\_id** - id статуса заявки;</span>
- <span style="font-weight: 400;">**title** - заголовок заявки;</span>
- <span style="font-weight: 400;">**description** - описание заявки;</span>
- <span style="font-weight: 400;">**created\_at** - время создания заявки;</span>
- <span style="font-weight: 400;">**updated\_at** - время обновления заявки;</span>
- <span style="font-weight: 400;">**deleted\_at** - время удаления заявки;</span>
- <span style="font-weight: 400;">все системные поля заявки (по английски).</span>

# ticket.setData()

### <span style="font-weight: 400;">Установить значение данных заявки по ключу</span>

```JavaScript
ticket.setData(string $key, $value)
```

##### Описание:

<span style="font-weight: 400;">Устанавливает значение данных заявки по ключу.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 89.0105px;"><tbody><tr style="background-color: #ced4d9; height: 29.7917px;"><td style="width: 33.2909%; height: 29.7917px;">Имя</td><td style="width: 33.2909%; height: 29.7917px;">Тип</td><td style="width: 33.2948%; height: 29.7917px;">Описание</td></tr><tr style="height: 29.6094px;"><td style="width: 33.2909%; height: 29.6094px;">key</td><td style="width: 33.2909%; height: 29.6094px;">string</td><td style="width: 33.2948%; height: 29.6094px;">Ключ наименование поля</td></tr><tr style="height: 29.6094px;"><td style="width: 33.2909%; height: 29.6094px;">value</td><td style="width: 33.2909%; height: 29.6094px;">mixed</td><td style="width: 33.2948%; height: 29.6094px;">Значение данных</td></tr></tbody></table>

<span style="font-weight: 400;">В качестве ключа можно указать:</span>

- <span style="font-weight: 400;">**id** - id заявки;</span>
- <span style="font-weight: 400;">**business\_id** - id бизнеса;</span>
- <span style="font-weight: 400;">**bot\_id** - id бота;</span>
- <span style="font-weight: 400;">**author\_person\_id** - id автора заявки;</span>
- <span style="font-weight: 400;">**client\_person\_id** - id клиента заявки;</span>
- <span style="font-weight: 400;">**assigned\_person\_id** - id исполнителя заявки;</span>
- <span style="font-weight: 400;">**ticket\_type\_id** - id вида заявки, виды заявки создаются вручную;</span>
- <span style="font-weight: 400;">**payment\_type\_id** - id способа оплаты. Доступные значения:</span>
    - <span style="font-weight: 400;">0 - PAYMENT\_TYPE\_NONE;</span>
    - <span style="font-weight: 400;">**1** - PAYMENT\_TYPE\_ROBOKASSA;</span>
    - <span style="font-weight: 400;">**2** - PAYMENT\_TYPE\_YANDEXKASSA;</span>
    - <span style="font-weight: 400;">**3** - PAYMENT\_TYPE\_CASH;</span>
- <span style="font-weight: 400;">**status\_id** - id статуса заявки;</span>
- <span style="font-weight: 400;">**title** - заголовок заявки;</span>
- <span style="font-weight: 400;">**description** - описание заявки;</span>
- <span style="font-weight: 400;">**created\_at** - время создания заявки;</span>
- <span style="font-weight: 400;">**updated\_at** - время обновления заявки;</span>
- <span style="font-weight: 400;">**deleted\_at** - время удаления заявки;</span>
- <span style="font-weight: 400;">все системные поля заявки (по английски).</span>

##### Возвращает:

<span style="font-weight: 300;">**self** </span>- установленные данные.

# ticket.loadCustomDataIfNotLoaded()

### <span style="font-weight: 400;">Загрузить кастомные данные</span>

```JavaScript
ticket.loadCustomDataIfNotLoaded(bool $isReloadModel = false)
```

##### Описание:

<span style="font-weight: 400;">Загружает кастомные данные, если они не загружены.</span>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-key-0" style="border-collapse: collapse; width: 100%; height: 385.203px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr><td style="width: 33.2909%;">isReloadModel</td><td style="width: 33.2909%;">bool</td><td style="width: 33.2948%;">  
</td></tr></tbody></table>

##### Возвращает:

<span style="font-weight: 300;">**bool** </span>- подтверждение загрузки.

# ticket.getSubtotalFormatted()

### <span style="font-weight: 400;">Узнать <span style="font-weight: 300;"><span style="font-weight: 400;">форматированную <span style="font-weight: 300;"><span style="font-weight: 400;">промежуточную </span></span><span style="font-weight: 300;"><span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;">стоимость заказа</span></span></span></span></span></span></span>

```JavaScript
ticket.getSubtotalFormatted()
```

##### Описание:

<span style="font-weight: 400;">Возвращает <span style="font-weight: 300;"><span style="font-weight: 400;">форматированную <span style="font-weight: 300;"><span style="font-weight: 400;">промежуточную</span></span> <span style="font-weight: 300;"><span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;">стоимость заказа</span></span></span></span></span></span>.</span>

##### Возвращает:

**string** - <span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;">промежуточная </span></span></span><span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;">стоимость заказа.</span></span></span></span></span></span></span>

# ticket.getTotalFeeFormatted()

### <span style="font-weight: 400;">Узнать <span style="font-weight: 300;"><span style="font-weight: 400;">форматированную <span style="font-weight: 300;"><span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;">стоимость заказа</span></span></span></span></span></span></span>

```JavaScript
ticket.getTotalFeeFormatted()
```

##### Описание:

<span style="font-weight: 400;">Возвращает <span style="font-weight: 300;"><span style="font-weight: 400;">форматированную <span style="font-weight: 300;"><span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;">стоимость заказа</span></span></span></span></span></span>.</span>

##### Возвращает:

**string** - <span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;">стоимость заказа.</span></span></span></span></span></span></span>

# ticket.getDeliveryFeeFormatted()

### <span style="font-weight: 400;">Узнать <span style="font-weight: 300;"><span style="font-weight: 400;">форматированную <span style="font-weight: 300;"><span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;">стоимость <span style="font-weight: 300;"><span style="font-weight: 400;">доставки</span></span></span></span></span></span></span></span></span>

```JavaScript
ticket.getDeliveryFeeFormatted()
```

##### Описание:

<span style="font-weight: 400;">Возвращает <span style="font-weight: 300;"><span style="font-weight: 400;">форматированную <span style="font-weight: 300;"><span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;">стоимость <span style="font-weight: 300;"><span style="font-weight: 400;">доставки</span></span></span></span></span></span></span></span>.</span>

##### Возвращает:

**string** -<span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;"> <span style="font-weight: 300;"><span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;">стоимость <span style="font-weight: 300;"><span style="font-weight: 400;">доставки</span></span>.</span></span></span></span></span></span></span>

# ticket.getTotalFormatted()

### <span style="font-weight: 400;">Узнать <span style="font-weight: 300;"><span style="font-weight: 400;">форматированную итоговую <span style="font-weight: 300;"><span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;">стоимость заказа</span></span></span></span></span></span></span>

```JavaScript
ticket.getTotalFormatted()
```

##### Описание:

<span style="font-weight: 400;">Возвращает <span style="font-weight: 300;"><span style="font-weight: 400;">форматированную итоговую <span style="font-weight: 300;"><span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;">стоимость заказа</span></span></span></span></span></span>.</span>

##### Возвращает:

**string** - <span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;">итоговая <span style="font-weight: 300;"><span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;">стоимость заказа.</span></span></span></span></span></span></span>

# ticket.getTicketLines()

### <span style="font-weight: 300;"><span style="font-weight: 400;">Получить массив объектов ScriptTicketLine</span></span>

```JavaScript
ticket.getTicketLines()
```

##### Описание:

<span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;">Возвращает массив объектов ScriptTicketLine</span></span>.</span>

##### Возвращает:

**ScriptTicketLine** - массив объектов<span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;"><span style="font-weight: 300;"><span style="font-weight: 400;">.</span></span></span></span></span></span></span>