Семь лет существует наша языковая скайп школа, с забавным названием GLASHA, и семь лет два раза в год наши операторы работают в режиме аврала.
Связан этот ежегодный кошмар с изменением времени в разных странах.
Дело в том, что учителя и ученики нашей скайп школы проживают в 26 странах на разных континентах.
Соответственно, в обычное время мы стараемся расставить их в расписание к преподавателю один за одним, чтобы было удобнее.
Преподаватель присылает нам свою доступность, например вот так:
И когда появляется новый студент, который может брать уроки в указанные слоты, то мы ставим его в расписание.
Таким образом, студенты из России, Израиля, Канады и Франции оказываются вместе в расписании преподавателя, который, например, живет в Бразилии.
Занимаются они спокойно до того момента, как время у Мориса, того самого преподавателя, время изменяется на зимнее, то есть до середины февраля.
Как же узнать когда в Бразилии переведут время на зимнее? Очень просто:
Полная формулировка звучит так: «третье воскресенье февраля, за исключением случаев, когда на него приходится Карнавал».
В этом году, видимо был карнавал, так как переход случился внезапно 17 февраля.
После получения информации от Мориса, мы должны были бы по идее, всю «вавилонскую» команду учеников передвинуть на час позже. Или предложить Морису давать уроки для них на час раньше.
В случае с Морисом это получается, ура! В штатах Rio Grande do Sul, Santa Catarina, Parana, Sao Paulo, Rio de Janeiro, Espirito Santo, Minas Gerais, Goias, Mato Grosso, Mato Grosso do Sul, Bahia и Distrito Federal) одну ночь можно было поспать подольше.
К счастью, другая наша преподавательница, англичанка Рэйчел живет в другом регионе Бразилии — Rio Grande do Norte.
Несмотря на все карнавалы, время там на зимнее не меняется. Повезло.
До 3 ноября, время перехода каких то частей Бразилии на летнее время можно расслабиться, если Морис за это время не уедет в Китай или не вернется в Голландию.
Однако с Алессандрой, проживающей в Австралии, чуда не случилось, она может придерживаться только своего жесткого зимнего расписания. А зима в Австралии только началась. Поэтому всех ее учеников приходиться двигать на один час. Это требует много времени и усилий, так как некоторые студенты занимаются с работы, а у малолетних учеников четко расписано уже время кружков и секций.
По зимнему времени начали жить и работать жители Нового Южного Уэльса и Виктории, столицами которых являются Сидней и Мельбурн. Теперь разница с московским временем там составляет плюс 7 часов. Точно так же поменяли время в Канберре и на острове Тасмания.
А куда только не забрасывает судьба наших учеников и преподавателей!
Одна единственная студентка, Маша Зеленина, живет у нас на западе континента в штате Западная Австралия. Там время не меняют, таким образом, продолжает сохраняться пятичасовая разница с Москвой.
Не меняют время и на Северной территории — разница с московским временем составляла и составляет 6 с половиной часов. А вот в штате Южная Австралия стрелки часов перевели на час назад, и теперь разница с московским временем здесь будет составлять 6 с половиной часов.
Итак, зима в Южном полушарии стартовала. Пару недель можно жить спокойно.
Переход на летнее время начинается во второе воскресенья марта в 02:00 в США и к Канаде, а обратно — в 02:00 в первое воскресенье ноября. Не переходят только Гавайи, Пуэрто-Рико и Виргинские острова.
В Канаде не меняется время в штате Саскачеван. Огромный привет нашему преподавателю Брайну!
Аризона не переводит часы (но переход осуществляют американцы из северной части штата).
В середине марта на две недели мы меняем расписание студентов из России и европейских стран, так как в конце марта время в Европе и США с Канадой будет скоррелировано.
Это обычно случается в ночь с субботы на воскресенье, но перед этим в пятницу переходит на летнее время Израиль. Так как на ночь субботы приходится религиозный Шаббат.
Соответственно мы должны сделать небольшие перестановки для пятничных уроков перед глобальным сдвигом для 500 студентов в воскресенье.
Многие скайп школы, наверное, пользуются какие то встроенными системами автоматического перевода времени и уведомлений для студентов и преподавателей, но я не представляю, как можно использовать в нашем случае автоматические системы.
Так как для каждого студента нужен индивидуальный подход. Например, один студенты могут брать уроки поздно вечером, а другие уже в 18.00 часов не могут сконцентрироваться.
Несмотря на то, что мы становимся с ног на голову и просим других студентов передвинуться, каждый раз части студентов приходиться менять учителя.
Это означает организацию дополнительных тестовых уроков, психологический дискомфорт и нарушение учебного процесса.
Студенты и преподаватели обычно привязываются друг к другу и нелегко соглашаются на замены.
В марте 2019 года все страны-члены ЕС последний раз перешли на летнее время, а к октябрю следующего года каждое государство Евросоюза должно будет самостоятельно принять решение о том, останется ли оно в летнем времени или перейдет на зимнее.
Похоже это новведение добавит нам головной боли.
Кроме этого правительство России все время выдвигает предложения о возвращении перехода на летнее время. Это в добавление к тому, что в 2016 году Астраханская и Саратовская области России, а так же Ульяновск, Забайкальский край и Сахалин изменили время на час, в 2017 году к ним присоединилась Волгоградская область.
К счастью, Япония, Китай, Индия, Сингапур, Турция, Азербайджан, Армения, Белоруссия, Грузия, Казахстан, Киргизия, Таджикистан, Туркмения, Узбекистан время пока не меняют
А то не всегда даже сайты точного времени успевают внести обновления в свои программы.
Кроме этого, за годы работы мы узнали, что есть страны, где разница с Москвой кратна не часу, а получасу, это Индия +2,5 и Иран +1.5
Так что проблемы с координацией во времени могут подкрасться там, где их совсем не ждали.
Навык точного расчета времени мы всегда проверяем на собеседовании у новых операторов, а число их у нас непрерывно растет. Очень обидно, когда урок срывается из за того, что разницу с Москвой и Казахстаном посчитали не в ту сторону. К счастью, такое случается редко.
В настоящее время можно выбрать самых лучших учителей из любых концов мира, и можно заниматься по любому удобному графику, но за этим удобством строит тяжелый труд операторов скайп школ.
Комментарии (37)
keydon2
02.04.2019 00:08+2Да давно поотменять это все и привязаться к одному времени(гринвич например).
А местные если хотят, могут менять обеденные таблички хоть на 17:30, хоть на 04:12.solariserj
02.04.2019 09:33Совершенно поддерживаю, если сказал позвоню в 5 часов — значит это будет 5 и в Москве и в Молдове и в Швеции и в США.
я начинаю работу в 4.00, а в США в 16.00… да вначале прийдется сложно; как это начинать не в 8.00 но перейдут, мне кажется люди от этого только выиграют, так как не будут завязаны на окульные 8.00
?А так очень заметно когда из нового года звонишь в старый и передаешь эстафету: Москва -> Кишинев -> Мальмо -> Флорида.
Jeditobe
02.04.2019 01:46Есть очень просто решение — согласовывать все занятия по времени территории, ближайшей к преподавателю, где никогда не переводят время.
alexzeed
02.04.2019 08:06+1Так учителю и студенту и скажем — отныне ты ходишь на работу/на пары не по местному времени, а по времени соседней страны, потому что нашей скайп-школе так удобнее. /sarcazm off. Выше и в статье объяснили же — проблемы не в циферках, проблемы в наложении на другие активности преподавателя и студента, которые привязаны к местному времени. Если хоть у кого-то из двоих они не жесткие — хорошо, можно его подвинуть, если жестко — нужно менять преподавателя, что всем неудобно.
411
02.04.2019 09:14Таймзоны вещь неприятная, конечно. Но такая задача по планированию сама по себе интересная для решения.
Хотелось бы чуть больше исходных данных:
1) Студенты бронируют занятия на месяц, семестр или год? Иными словами на какой период студента надо встроить в расписание?
2) В каком формате студенты присылают свою доступность?
3) Есть ли числитель/знаменатель или другие способы иметь различное время занятий студенту у одного преподавателя на двух разных неделях?
4) Нужно ли учитывать выходные и праздники?
5) Может ли студент пропустить часть занятий? (Например пару недель на каникулах)
Ну какие-то другие существующие требования.
Хотелось бы побольше поразмышлять над этим.ketiiiii Автор
02.04.2019 11:05Буду очень благодарна за такой brainstorming
1. Студенты бронируют уроки на любое время.
Чаще всего на постоянное расписание, например, 2 раза в неделю, вторник-четверг 18.00. Более редкий вариант, когда график 2 через 2, тогда вставляем студента в свободные окна
Третий вариант, когда кому то надо усилить подготовку к экзамену или Job interview -предполагаются занятия каждый день.
Экзотические случаи: урок один раз в 2 недели или срочный однократный урок перед каким то выступлением.
Если студент оплачивает один урок, то предварительно ставим его в расписание на постоянное время, но если за день до часа X, оплата не поступает, то спрашиваем про планы на продолжение. Если студент оплачивает блок из 10 уроков, то спрашиваем про планы на продолжение в конце этого оплаченного блока.
Расписание на следующий день формируем вечером текущего дня, учитывая все сообщения об изменениях за день.
У нас 500 учеников и 75 учителей, каждый день кто то из них заболевает, женится, разводится, уходит в отпуск, меняет тайм зону или работу, попадает в ДТП, заливает соседей и т.д.
2. Студенты присылают свою доступность в виде сообщения, например: «В режиме раз в неделю, например, в субботу во второй половине дня или в понедельник во второй половине дня (после 16 по Марокко ) „
3. Есть возможность поставить студента в разное время, если у преподавателя имеется свободный слот. Для этого присылаем студенты доступность преподавателя по запросу
4. Преподаватели и студенты имеют разные веры и, соответственно, разные праздники. Обычно они сообщают, что в такой то день они недоступны.
Но, у нас есть общая информация о том, что
преподаватели арабского не работают в пятницу,
преподаватели иврита в субботу (а суббота у них начинается вечером в пятницу каждый день по разному, в связи с заходом солнца),
англичане обычно не работают в воскресенье -ходят на службу,
преподаватель фарси празднует Навруз, иранский новый год в апреле,
преподаватели китайского не работают во время празднования китайского нового года в феврале,
католики и иже с ними начинают уходить на рождественские каникулы в конце декабря, свидетели Иеговы (это обычно американцы, у нас, по крайней мере), не празднуют никакие традиционные праздники и работают как 25 декабря, так и 1 января.
У российских студентов традиционный спад с 31 декабря до 14 января (русский старый новый год, который уже стал притчей во языцех и с 1 по 10 мая).
Для остальных школа работает круглосуточно без выходных.
5. Время для студента в расписании преподавателя сохраняется на 2 недели, если студент отдыхает, но только в том случае, если он имеет оплату на счету.
Но, обычно мы используем это время для доп занятий у других, например, другой студент хотел 3 раза в неделю заниматься с этим преподавателем, а у него было только 2 свободных “окна». В случае, когда время освобождается, мы немедленно сообщаем об этом и они могут сделать интенсив на время каникул первого. Так же это время используем для тестовых бесплатных уроков.
Мы стараемся, чтобы преподавателю было интересно с нами работать и не упускаем шанса занять ему это время кем то еще.
Mecheniy
04.04.2019 08:11+1На входе у вас такие данные: Учитель\ученик, обязанные указывать текущий город проживания, город проживания располагается на территории одной единственной таймзоны (TZ). Время в этой таймзоне регулируется государством (или иным органом власти).
Но эта интернет-проблема уже имеет решение — в интернете выпускаются актуальные базы таймзон: tzdatabase, iana.org.
Вторая проблема: Ваш пользователь в своем профиле должен указывать таймзону от которой он зависит (руководствуется в реальной жизни, может например он проживает в деревне на краю своей таймзоны, а работать ездит в соседний город где другая таймзона. Или работает в одной таймзоне, а спать ложится в другой). Так как по машему описанию вы стремитесь угодить всем — такую проблему вам стоит предусмотреть.
Третья проблема: Вы не хотите что бы пользователь утруждал себя задачей определения своей таймзоны — вы хотите предлагать ему только указывать комплект «город, страну», а еще лучше «город, область(край, округ), страну», потому что даже в одном государстве существуют два города с одним названием, например Херсонка, Полтавка. И при выборе что бы всплывала подсказка что он в такой то таймзоне. Например, (бразильская таймзона -3 часа от всемирного координированного времени)
BR UTC-3 у вас время 3:65, время летнее, переходить на зимнее будете 4 зимваря следующего года, пожалуйста проверьте правильность.
Где и кто эту инфу будет вводить — вопрос спорный, ведь в итоге нужно что что бы клиент удостоверился что таймзона верная, но однозначно понятно что существуют программы, использующие не системное время локального компьютера, а актуальные базы таймзон третьих лиц из интернета совместно с всемирным координированным временем Вы упомянули MS Excel. Не знаю какие макросы вы писали, но уверен что они не обновляют инфу по TZ если вдруг у какого то государства левая пятка зачесалась.
Кстати, пятки у них чешутся не вдруг, обычно за месяц а то и полгода до оффициального почесывания — выпускают газету левой пятки. Челяди времени подготовиться обычно хватает, а с tzdatabase и другими базами — вообще не чешутся.
Четвертое замечание: На вас пожаловались что вы прислали письмо ночью — вы можете дополнить профиль пользователя полем для заполнения часов в которые он готов получать входящие сообщения, в том числе письма, смс, пуш-уведомления, голубей и сов.
arty
02.04.2019 11:22Мне казалось, что стандартные программы для многопользовательских календарей, да хотя бы Google Calendar, позволяют указывать часовой пояс при задании времени. Если же на этот календарь потом смотрит человек из другого часового пояса, то он видит точно рассчитанные часы для своего времени. Ведь интернациональные корпорации сталкиваются с очень похожей проблемой: как организовать созвоны людей из разных стран и часовых поясов — и для этого они пользуются такими календарями.
Поэтому мне кажется, что вам всего-то и нужно создать такой календарь и внести в него часы занятий по времени и часовому поясу учеников. Если людей слишком много, то по календарю на преподавателя. Каждый участник процесса, глядя на календарь, будет видеть привычное себе время.ketiiiii Автор
02.04.2019 12:35Проблема не в том, чтобы синхронизировать время одного урока для учителя и ученика, а в том, чтобы синхронизировать расписание для всех участников процесса.
Например, учитель Патрик (в Канаде)
У него в расписании 3 студента, один из России — Ярослав, второй из Германии-Никита. третий из Израиля -Алон
Они изначально стоят по времени МСК с октября по февраль:
в 18. 00 Ярослав (РФ) 10 утра в Канаде
в 19. 00 Никита (Германия ) 17.00 по Германии 11 утра в Канаде
в 20.00 Алон (Израиль) 19.00 по Израилю Полдень в Канаде
10 марта Торонто переходит на летнее время
Чтобы сохранить для Патрика привычный график делаем первую перестановку:
Переставляем
Ярослава на 17.00 MСК, чтобы у Патрика по прежнему было 10 утра
Никиту на 18.00 МСК, 16.00 по Германии, 11 утра в Канаде
Алона на 19.00 МСК 18. 00 по Израилю 12.00 в Канаде
Вторая перестановка: пятница 29 марта, изменение времени в Израиле, и Алону надо сохранить его время
Меняем местами Никиту и Алона (на один урок)
Все это нужно согласовывать с родителями.
Третья перестановка 31 марта. Меняется время в Европе:
Переставляем Никиту на 17.00, 16.00 по Германии, как и было изначально
Алона на 18.00 МСК = 18.00 по Израилю
Ярослава переставляем на 19.00 МСК
И так до они будут стоять до 3 ноября, пока время в Канаде не изменится на зимнее, при условии, что ученики могут менять доступность с изначального времени.
Если же они не могут менять это время, то придется сдвигать кого то более гибкого.
Или менять день или учителя.
arty
02.04.2019 12:43Я понимаю организационные сложности, и не вижу для них решения.
Но в посте я увидел ещё и огорчение по поводу технических сложностей, и предложил решение именно для них. Например, тот же самый календарь гугла точно не забудет обновить информацию о том, когда в РФ переводятся часы. И кандидатам больше не нужно будет доказывать своё умение переводить время из одного часового пояса в другой, потому что этим будет заниматься компьютер.
Вы рассказали историю технических проблем с часовыми поясами, а я рассказал историю успеха в решении аналогичных проблем, и предложил использовать ту же методику.
mkulesh
02.04.2019 11:55Спасибо за статью! Я не буду предлагать никаких решений, просто вкратце расскажу про похожую проблему моего болота. Итак, привет из области управления воздушным движением! Есть три основных субъекта: диспетчерские службы (плюс международные регуляторы типа IATA, ICAO, Eurocontrol), экипажи самолётов и авиакомпании (наземные службы, аэропорт). Так как авиакомпании и сам аэропорт работают с пассажирами, то они, как правило, используют локальное время. Если полёты круглосуточные, то в ночь, когда время переводится, возникают интересные моменты. Например, борт может начать руление в 02:00 локального времени, 15 минут рулить и взлететь чуть позже, например в 01:15 (это когда время назад переводят). Ни пилоты, ни диспетчера проблем с этим не имеют, так как у них на всех дисплеях и документах UTC, а не локальное. То есть диспетчерские службы используют только UTC. Весь обмен данными между диспетчерскими службами и экипажами также в UTC. Поэтому в ПО для диспетчерских служб мы никакой конвертации времени не делаем, даже на серверах часовая зона — всегда UTC. ПО для аэропортов внутри также использует UTC, но там, где в него поступают данные (от других систем, или пользователь что-то вводит ручками) и где пользователю что-то показывается, вот именно там и происходит преобразование к локальному времени. То есть в сам момент перевода стрелок ядро такой системы продолжает работать в реальном времени (UTC), а вот у пользователя на экране время вдруг перескакивает на час назад или вперёд. Вот так и живём :)
vassabi
02.04.2019 18:11+1поддержу комментарий выше про «внутреннее время в UTC» (работал в большой медицинской компании, у которой пациенты, лаборатории и органы для трансплантаций — в разных странах и часовых поясах, так что внутри у нас все время тоже хранилось в UTC).
Из потенциальных решений могу только предложить «путешествие в будущее» — т.е. виртуально перевести дату например на неделю вперед и проверить — какие у кого смещения. От потопов и болезней любимой тети это не спасет, но предупредить о лунном новом годе и наврузе с пасхой (а также переводах стрелок) — очень даже.
vitaliy2
03.04.2019 12:47+1Может перед сменой спрашивать у студентов, в какое время им удобно, и потом вбивать эти данные в программу для автоматического планирования? Можно сделать 3 градации: «Самое хорошее время», «удобное время», «не очень удобно, но терпимо» (без смены преподавателя). Например, люди отмечают мышкой самое удобное с 18 до 19, просто удобное с 17 до 18 и с 19 до 21 и менее удобное с 21 до 23. Если все варианты не проходят, идёт смена преподавателя. Но программа постарается распределить так, чтобы смен и менее удобных времён было как можно меньше. Также пользователю необязательно указывать менее удобное время, если он готов сменить преподавателя.
Vasily_T
Ну если составлять вручную расписание в excel-е то да, труд наверно адцкий…
А так тут вообще сложность ноль, «use Timezones, Luke!»
staticlab
Непонятно, за что человека минусуют. Ведь действительно, заплатили бы программисту за планировщик занятий, который бы на основе tzdata актуализировал расписание и рассылал уведомления учащимся и преподавателям об изменении времени.
Правда я бы поспорил, что сделать нормально и правильно такую систему — простая задача.
onegreyonewhite
Думаю проблема глубже, чем просто передвинуть расписание на час. Допустим, у кого-то в 18:00 заканчивается рабочий день и максимум через час он дома. В 19:00 у него урок. Тут робот меняет расписание и занятие передвигается на 18:00. Недовольный клиент звонит/пишет и просит сделать как было, а это невозможно, потому что на это время занятие у другого студента, у которого время не менялось и ему удобно только в это время. А минусуют, подозреваю, за то, что человек не понимая специфики и сути проблемы, даёт совет.
ketiiiii Автор
Совершенно верно!
staticlab
Но почему бы хотя бы не автоматизировать работу оператора хотя бы в расчёте текущего и будущего времени и учёте дня-ночи? Сами же пишете, что люди ошибаются.
ketiiiii Автор
У нас база школы написана в Excel с помощью макросов и расписание привязано к МСК. То есть мы время всех учеников и учителей сверяем по Москве.
Целью данного поста как раз является просмотр комментариев в поисках каких то советов для оптимизации работы операторов
staticlab
Время по Москве на сегодня, через неделю, через месяц для каждого преподавателя и учащегося у вас рассчитывается вручную или хитрыми экселевскими макросами? Просто в Windows возможности встроенной базы часовых поясов сильно ограничены. В любом случае кажется, что вы уже выросли из Экселя и вам следует подумать о некой более специализированной системе.
ketiiiii Автор
Пока смотрели только базу GetCourse, но по некоторым причинам их база нам не подходит. А другие системы не знаю
ketiiiii Автор
А вот можно ли написать программу, которая будет предлагать оптимальные варианты для смены расписания, и какие параметры надо туда забить, например, у кого то жесткий график, а у кого то
«гнойные»некоммуникабельные родители :)ggreminder
Написать-то можно. Только с данными, пожалуйста, не обращайтесь так вольготно. Не уверен, что вам люди давали согласие на то, что вы их имена и локации засветили.
Также резанули моменты про «штат Саскачеван» (провинция) и про преподавателя «Брайна».
akryukov
Вы говорите так, как будто смена летнего времени на зимнее происходит внезапно.
На мой взгляд это вполне поддается планированию в духе "через две недели у Мориса время поменяется на зимнее и его доступность по UTC будет выглядеть вот так: {таблица}, при этом у его студента из Антарктиды занятие будет вытеснено из графика"
Akuma
Похоже, вы мало работали с людьми :)
Даже если предупреждать каждый день за пол года, для некоторых людей это все равно будет сюрприз. Такие уж люди, с этим ничего не поделать.
akryukov
Дело не в том, что это сюрприз для людей. Судя по описанию, смена зимнего времени на летнее — сюрприз еще и для организации.
ketiiiii Автор
Расписание корректируется каждый день, так как учителя и ученики круглосуточно появляются и исчезают, женятся, разводятся, меняют тайм зоны, работу и доступность.
staticlab
И как же живой оператор решит эту проблему лучше компьютера?
ketiiiii Автор
Пока да, так как это каждый случай индивидуален и стараемся сделать так, чтобы было удобно каждому. Например, преимущество всегда отдаем работающим взрослым, так как их работа в приоритете, а детей двигаем первыми, но с учетом того, что они вечером устают. С годами дети растут и чем старше становятся, тем на более позднее время их сдвигаем :)
goldrobot
Допустим, программа может делать авто-рассылку заранее и требовать изменить/принять новое расписание, а не постфактум.