Подбор времени
На этой странице
Визит записывают только через подбор (Календарь → Записать, или
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 дня) сlimit1 и прочтите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(см. Визиты и их статусы).- Каждый исход — обычный ответ подбора, а не сбой. Скажите человеку, какой это исход и что его изменит.