---
title: Услуги, цены и валюта
summary: Услуга — строка прайса филиала: название, длительность, цена и кто и что занято, пока её делают. У каждого филиала свой прайс и своя валюта.
tools: [talemo_list_services, talemo_create_service, talemo_update_service, talemo_deactivate_service, talemo_activate_service, talemo_delete_service, talemo_update_branch, talemo_get_zone_currency]
related: [service-groups, who-does-what, booking-rules, service-languages, visits, resources]
search: [прайс, список услуг, длительность, валюта]
---

# Услуги, цены и валюта

Услуга говорит, что делает бизнес, сколько это длится и сколько стоит. Список
лежит в разделе **«Услуги и цены»** левой панели (он есть, пока стоит набор «Запись
клиентов»). Слева в панели раздела — группы услуг и пункт **Никто не делает**, в
списке — колонка **Кто делает** с кружками ресурсов. У каждого филиала свой прайс, и
услуга между филиалами не делится.

## Поля услуги

- **Название**. У двух услуг одного прайса название не может совпадать.
- **Описание**, необязательно.
- **Группа**, необязательна: подпись, под которой услуга стоит в прайсе, например «Маникюр». Услуга
  стоит в одной группе или ни в какой (см. [Группы услуг](service-groups.md)).
- **Длится** — сколько заняты мастер и остальные ресурсы, кратно пяти минутам.
  Уборка после визита сюда не входит: её добавляют правила записи — по мастерам,
  местам и аппаратам, а не по услугам (см. [Правила записи](booking-rules.md)).
- **Цена**, необязательна. Услуга без цены показывается как «без цены».
- **Что нужно** — кто и что занято, пока услугу делают: хотя бы одно из трёх —
  мастер, место, аппарат. Услуга занимает всё нужное сразу. Если место или аппарат
  не свободны, это время не предлагается: занимается всё сразу или ничего. Место
  появляется в том, что нужно услугам, само, когда у какого-то места филиала появляется первый
  график, — до этого услуге оно не нужно: заведённое место без графика ничего не меняет.

Какие ресурсы услугу делают на самом деле, задаётся отдельно: в меню «…» строки
пункт **Кто делает** или в карточке ресурса (см. [«Кто что умеет»](who-does-what.md)).

## Цена и валюта

Цена — число в валюте филиала, например 2600 или 2600,50; знаков после запятой
столько, сколько у валюты. У филиала одна валюта, и пока она не выбрана, цены не
вводятся. **Настройки → Филиалы**, филиал, **Валюта цен**. Инструмент
`talemo_get_zone_currency` предлагает валюту по часовому поясу, а
`talemo_update_branch` её ставит.

Валюту можно потом сменить, но не убрать. Смена ничего не пересчитывает: числа
остаются, поэтому 2600,50 в валюте без десятичных знаков станет 2601, и прайс нужно
проверить и переписать руками. У других филиалов остаются свои валюты.

Цена и валюта копируются в визит, когда его записывают. Правка прайса уже
записанные визиты не меняет (см. [Визиты](visits.md)).

У роли можно закрыть поле «Цена»: такой человек видит прайс без цен и не может их
менять.

## Отключить, включить, удалить

- **Отключить** убирает услугу из прайса и из записи. Уже записанное остаётся с
  этой услугой и её ценой. Отметки о том, кто её делает, тоже остаются.
- **Включить** возвращает её. Не получится, если в прайсе уже есть другая
  действующая услуга с таким названием.
- **Удалить** можно только услугу, на которую ни разу не записывали. Иначе её
  отключают.

Отключённые услуги лежат на карточке **Отключены**.

## Кто может

Смотреть прайс — право уровня филиала у ролей «Администратор» и «Бухгалтер»;
добавлять, менять, отключать и удалять может «Администратор». Роль с перечнем
филиалов работает с прайсами только этих филиалов. Без набора «Запись клиентов»
прайс недоступен.

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

- `talemo_list_services` показывает прайс бизнеса или одного филиала: у каждой услуги название и описание, длительность в минутах, цену десятичным числом в валюте филиала, то, что она занимает (`needs`), и ресурсы, которые её делают (`fits`: у каждого `resource_id`, `role` и `name`). Цены, которую роль не вправе видеть, в ответе нет. С `lang` название и описание приходят на этом языке вместе с языком, на котором они записаны на самом деле. Клиенту называйте услугу и цену этим значением слово в слово, а не своим переводом. Группа услуги — `group` (`group_id`, `name`, `position`); прайс приходит группами в порядке бизнеса, услуги без группы последними.
- `talemo_create_service` принимает `branch_id`, `name`, `duration_minutes`, `needs` (что из набора занимает услуга: `master`, `place`, `device`) и, по желанию, `description`, `price`, `group_id` (группа её филиала) и переводы `name_tr` и `description_tr`. Цена — десятичное число в валюте филиала, например `"2600.50"`. У филиала без валюты цен нет: статус 409, код `service.currency_required`. Сначала поставьте валюту через `talemo_update_branch`; `talemo_get_zone_currency` называет обычную валюту для часового пояса филиала, и это вопрос человеку, а не значение, которое ставят самостоятельно. Название, которое уже есть в прайсе, отклоняется с `record.duplicate`. Пока у мест филиала нет графика, `place` в `needs` не записывается, и ответ называет записанные роли: не заводите место ради услуги, первый график места все услуги филиала возьмут сами. Услуга из одного места его оставляет.
- `talemo_update_service` меняет то, что названо; остальное остаётся. Цена меняется сразу, а уже записанные визиты держат свою цену. Убранное из `needs` перестаёт делать услугу: отметки таких ресурсов (мастеров, мест или аппаратов) снимаются. Место в `needs` записывается, только когда у какого-то места филиала есть график, как и в `talemo_create_service`. `name_tr` и `description_tr` — карты целиком: язык, которого в карте нет, теряет перевод. `group_id` ставит услугу в группу её филиала, пустая строка выводит из группы, а пропущенное поле оставляет как есть.
- Новая валюта оставляет числа цен как есть и ничего не пересчитывает: скажите человеку до того, как `talemo_update_branch` её сменит.
- `talemo_deactivate_service` убирает услугу из прайса и из записи; что записано, остаётся. `talemo_activate_service` возвращает её и отклоняется со статусом 409 и кодом `record.duplicate`, пока в прайсе есть другая услуга с таким названием. Отключённую услугу не меняют: `service.deactivated`.
- `talemo_delete_service` удаляет только услугу, на которую ни разу не записывали. Записанная отклоняется со статусом 409, кодом `service.has_history` и `params.count`: её отключают. Перед удалением спросите человека; `dry_run` называет, сколько раз услугу записывали.
- Кто делает услугу, задаётся отдельно: места и аппараты делают подходящие им услуги сразу, мастер — только после отметки `talemo_add_service_fit`. Кто что умеет, спросите у человека.
