Документация Talemo

Подбор времени

На этой странице

Визит записывают только через подбор (Календарь → Записать, или talemo_find_times, а потом talemo_book_visit). При записи выбранное начало ещё раз проверяется по тем же правилам, так что записанный визит всегда такой, какой предложил бы подбор.

О чём он спрашивает

  • Для кого — карточка клиента. Для поиска она необязательна, а с ней варианты с тем, кто делал последний визит клиента, идут первыми и помечены «в прошлый раз». Для записи есть и Новый клиент: имя и номер вместо карточки (см. Визиты); подбор для него идёт без «в прошлый раз»: карточки ещё нет.
  • В одном визите — одна или несколько услуг. Подбор ищет время сразу на все.
  • Когда — месяц, где точкой отмечены дни, в которые у подходящих людей, мест и аппаратов есть свободное время на весь визит. День без точки — всё занято, серый — никто не работает, штриховка — графика нет. Нажмите день — увидите время начала по шагу филиала и по часам филиала: Утро (до 12:00), День (с 12:00), Вечер (с 17:00). Ближайшее выбирает сразу и день, и время.
  • По желанию — ресурсы, которые нужно взять. Кто подходит перечисляет мастеров, места и аппараты, которые могут сделать визит. Если ресурс, выбранный в меню сетки, услугам визита не подходит, подбор отвечает отказом, а под ним остаётся Кто подходит по этой роли: у выбранного стоит крестик — нажмите, и подбор пойдёт заново без него, или возьмите другого из списка. Отказ называет выбранного и услуги, которые у него не отмечены, и подсказывает: если их нужно отметить, это делают в его карточке, в «Услуги».

Что такое вариант

Вариант — это начало, ресурсы, которые его занимают, и две длительности: Работа и с уборкой. Начало ложится на шаг записи («Начать можно каждые N минут: так задано в правилах записи»). Работа должна лежать в открытом времени каждого ресурса и не пересекаться с другими визитами; уборка последнего ресурса может выйти за край рабочего дня, и другие визиты её ждут. Прошедшее время не предлагается.

Для каждого, кто нужен визиту, — мастера, места, аппарата — ресурс предлагается, только если он работает, свободен и отмечен как делающий каждую услугу визита, которой он нужен (см. Кто что умеет).

Кому достаётся начало

Когда мастера не назвали, а на это начало свободны несколько, первым идёт мастер последнего визита клиента («в прошлый раз»), а потом выбирает правило филиала «Любой мастер»: «Поровну», «Без дыр в графике» или «По списку» (см. Правила записи). Названный мастер правилу не подчиняется. Место и аппарат правилу не подчиняются: берётся менее занятый в этот день, потом по порядку заведения. Запись на выбранное начало идёт по тому же выбору, поэтому визит ложится к тому, кого показал подбор. Исход по дням (days) от правила не зависит.

Когда ничего нет

Ответ называет одну из причин, и каждая из них — обычный ответ подбора:

  • Ни у одного мастера не отмечены все эти услуги сразу — нет мастера, отмеченного на все услуги, которым нужен мастер. Свободное время не ищется; уберите услугу или отметьте мастера.
  • Ни у одного места (или аппарата) не отмечено: услуги — у места или аппарата without_fit называет услуги, которые не отмечены ни у одного из них. Свободное время не ищется; отметьте услугу в карточке места или аппарата (см. Кто что умеет).
  • На эти дни нет графика — у подходящих ресурсов на эти дни нет ни одного дня графика. Пока график не продлён на эти дни, записать никого нельзя (см. График ресурса).
  • В это время никто не работает — все, кто подходит, в выходной или в другие часы. Время не занято, его просто нет в графиках.
  • В этом окне свободного времени нет — все, кто подходит, заняты или не работают.

В последних двух случаях подбор предлагает и ближайшее свободное время после окна, если оно есть в ближайшие 90 дней; тот же визит можно записать туда.

Календарь

talemo_get_calendar показывает сетку филиала на срок от одного до семи дней, а сетка «Календаря» — неделю: ресурсы, их открытое и занятое время по дням, визиты и сколько визитов не закрыто.

Кто может

Подбор времени — отдельное право; оно есть у роли «Администратор». Роль, ограниченная «своим», видит только тех мастеров, которыми работает человек. Онлайн-администратор пользуется тем же подбором для клиента, с которым говорит, и не видит, какие ресурсы не подошли и почему.

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

  • talemo_find_times принимает branch_id и service_ids (ID из talemo_list_services в том порядке, в каком услуги делают) и, по желанию: party_id, чтобы ресурсы последнего визита клиента шли первыми (last_time называет их); окно from и to (неделя, если не указано, не больше 31 дня) и время дня after и before; resource_ids, когда человек попросил конкретных; every — все начала на шаге вместо самого раннего за день у каждого мастера; limit; и visit_id переносимого визита, чьё собственное время не мешает. В ответе есть outcome:
    • found — в variants начала с ресурсами для каждого нужного — мастера, места, аппарата; у каждого ресурса service_ids называет услуги, которые он делает (мастер ведёт все, место и аппарат подбираются каждой услуге отдельно: сначала тот же, что у соседней услуги); step_minutes — шаг начал;
    • none_together — никто не делает эти услуги вместе; roles говорит, кто подходит к мастеру, месту и аппарату, а without_fit у места или аппарата называет услуги, на которые не годится ни одно место или аппарат. Уберите услугу или отметьте мастера (см. Кто что умеет);
    • none_free — всё занято;
    • day_off — в окне никто из подходящих не работает: выходной, другие часы, чем просили, или время уже прошло. Это не занятое время, поэтому его не предлагают: запись туда отклоняется с visit.outside_schedule, а если начало прошло, — с visit.past;
    • no_schedule — у подходящих ресурсов нет графика; сначала заведите или продлите его (см. График ресурса).
  • Когда окно пусто, next — ближайшее время за его пределами в ближайшие 90 дней.
  • days — исход по каждому дню окна: date (день по часам филиала) и outcome теми же словами, что выше; от limit он не зависит. Чтобы узнать, в какие дни месяца есть место, спросите весь месяц (не больше 31 дня) с limit 1 и прочтите days: день found — свободное время на весь визит есть.
  • Без every ответ неполон: в нём только самое раннее начало каждого дня у каждого мастера, а более позднее время может быть свободно. Время, которое назвал человек, проверяйте с every и с after и before вокруг него.
  • Ресурс из resource_ids, который не годится на свою роль, получает отказ visit.resource_unfit с params.role и params.resource_id, как при записи: мастер, который делает не все услуги, место или аппарат, которые не делают ни одной услуги своей роли. Это не none_together: назовите другой ресурс или разведите услуги по разным визитам.
  • Мастера, которого не назвали в resource_ids, подбор выбирает сам: сперва мастер последнего визита party_id, потом правило филиала any_master (см. talemo_get_booking_rules).
  • Вариант уходит в talemo_book_visit как есть: его start и resource_ids его ресурсов. Своё начало не составляйте.
  • talemo_get_calendar показывает сетку филиала на срок от одного до семи дней с графиками, визитами, в том числе отменёнными, и unclosed_count. Если человек видит лишь визиты ресурсов, связанных с ним, ответ ещё несёт own_resource_ids (см. Визиты и их статусы).
  • Каждый исход — обычный ответ подбора, а не сбой. Скажите человеку, какой это исход и что его изменит.

Инструменты этой темы

Связанные темы