---
title: Группы услуг
summary: Группа — подпись над несколькими услугами прайса филиала: «Маникюр», «Педикюр». Услуга стоит в одной группе или ни в какой, порядок групп задаёт бизнес. Клиенты видят те же группы на странице записи.
tools: [talemo_list_service_groups, talemo_create_service_group, talemo_update_service_group, talemo_delete_service_group, talemo_list_services, talemo_create_service, talemo_update_service]
related: [services-and-prices, who-does-what, branch-booking-page]
search: [категории услуг, разделы прайса, сгруппировать услуги, порядок прайса]
---

# Группы услуг

Группа ставит услуги прайса под подпись: «Маникюр», «Педикюр», «Уход». Услуга
стоит в **одной группе или ни в какой**. У каждого филиала свой прайс и свои
группы: между филиалами группа не делится (см.
[Услуги, цены и валюта](services-and-prices.md)).

## Где видно

- **Раздел «Услуги и цены»**: прайс идёт группами, в порядке, который задал
  бизнес, а услуги без группы стоят последними под подписью «Без группы» — но
  только когда группы вообще есть. Слева в панели раздела те же группы с числом
  услуг: нажатие на группу показывает только её услуги, **Все услуги** — весь прайс.
  Кнопка «…» у группы переименовывает её, двигает выше или ниже и удаляет. В окне
  услуги есть поле **Группа**; пункт «+ Новая группа» в нём и в панели заводит
  группу тут же.
- **Страница записи филиала** (см. [Страница записи филиала](branch-booking-page.md)):
  те же подписи в том же порядке, сверху ряд ссылок на группы, а услуги без
  группы — под подписью «Другие услуги». Группа, в которой нет ни одной услуги,
  доступной для записи, не показывается.
- **Виджет «Прайс» в приложении**: группы с числом услуг, услуги без группы
  последними.

## Что такое группа

- **Название**, 1–60 знаков, на первом языке обслуживания бизнеса. В филиале оно
  одно, регистр не важен: две «Маникюр» не различить. Переводов у групп пока нет,
  клиент видит название так, как его написал бизнес.
- **Место** среди групп филиала, с нуля, без дыр. Новая группа встаёт на названное
  место и сдвигает остальных вниз; передвинутая сдвигает тех, кто между старым
  местом и новым; удалённая смыкает ряд. Место дальше последнего — последнее.
- **Услуги.** Удаление группы услуги не удаляет: они остаются в прайсе без группы.
  Деактивированные услуги сохраняют группу и возвращаются в неё, когда их
  активируют.

## Кто может

Смотреть группы — право смотреть услуги, заводить, переименовывать, двигать и
удалять — право их менять (см. [Услуги, цены и валюта](services-and-prices.md)).
Роль с перечнем филиалов работает с группами этих филиалов. Без набора «Запись
клиентов» групп нет.

## Инструменты и отказы

- `talemo_list_service_groups` перечисляет группы бизнеса или одного филиала по
  порядку: `name`, `position` и `services` — сколько услуг прайса стоит в группе.
  Группа одной услуги — `group` в `talemo_list_services`; прайс приходит группами,
  услуги без группы последними.
- `talemo_create_service_group` принимает `branch_id`, `name` и, по желанию,
  `position` и `service_ids`. Названные услуги переходят в новую группу сразу, так
  что «сделай группу Дизайн и перенеси туда эти услуги» — один вызов. В ответе
  группа, `after` — группа перед ней (`null`, если она первая) — и `moved`:
  каждая перешедшая услуга и группа, откуда она пришла. Когда переходят услуги,
  сначала покажите человеку `dry_run`.
- `talemo_update_service_group` переименовывает группу или переставляет на другую
  `position`. В ответе группа, какая она сейчас, и `was` — прежние название и
  место.
- `talemo_delete_service_group` удаляет группу. В ответе группа, какой она была, и
  `service_ids` — услуги, что в ней стояли, и деактивированные тоже. Чтобы вернуть,
  заведите группу заново с теми же `name`, `position` и этими `service_ids`.
  Перед удалением спросите человека; `dry_run` скажет, сколько услуг останется без
  группы.
- `group_id` у `talemo_create_service` и `talemo_update_service` ставит услугу в
  группу её филиала. В `talemo_update_service` пустая строка выводит услугу из
  группы, а пропущенное поле оставляет как есть.
- Название, которое в филиале уже есть, отказывает 409 с кодом `record.duplicate` и
  `params.field` `name`. Филиал, группа или услуга не из этого бизнеса или
  филиала — `record.reference_missing` с `params.field` `branch_id`, `service_ids`
  или `group_id`; группа, которой нет, — `not_found`. Пустое название, длиннее 60
  знаков, и отрицательное место — `request.body_invalid`.
