Метапоисковик — это не так просто, как кажется. Почему мы не можем подгружать сразу все туры? Почему так часто меняется цена? Кто виноват, когда тур “ушёл”, и как выкрутиться перед клиентом?
Об этих и других проблемах и багах сайта Travelata.ru я рассказал в первой части. Продолжаем публичную порку самих же себя.
Когда открывается серп, направляется запрос в кеш, который хранится от 15 минут до нескольких часов. В момент открытия отельной страницы, если на отель из кеша пришло менее 3 туров, к ТО отправляется новый запрос на поиск по названию отеля. И могут приехать новые цены. Актуальные.
Почему вообще приходится так часто отправлять запросы к ТО?
По большей части причина в динамическом ценообразовании. Особенности современных турпакетов — цены меняются несколько раз в течение дня в зависимости от загрузки рейса и отеля и популярности тура. Пересчёт происходит автоматически в системе или делается вручную маркетологами туроператора. Где-то ежеминутно, а где-то несколько раз в неделю.
Вторая причина — туры просто быстро раскупают.
![image](https://habrastorage.org/r/w1560/web/00e/3d3/f90/00e3d3f9093e4a39ba39b7ada3364b4b.png)
Самые большие скачки цен на динамический пакетах (не путать с динамическим ценообразованием из абзаца выше). Динамические пакеты — это туры “отель, билет и иногда трансфер”. Туроператор собирает их самостоятельно, подключаясь к GDS в момент стороннего запроса. Схема такова: мы стучимся к ТО, ТО обращается к GDS, забирая стоимость авиабилета (это всегда регулярный рейс) и одновременно к своей базе отелей и трансферов. И только потом складывается финальная цена. Такие туры могут оказаться выгоднее готовых чартерных пакетов, если у ТО есть договорённость с авиакомпанией или отелем и спецтарифы.
Всё это очень сложно донести до пользователя, отсюда много негатива. Клиенты думают, что мы сами специально накручиваем цены, но у нас нет маркапов. Все цены практически идентичны туроператорским, а зарабатываем мы на комиссии от ТО, как и обычное турагентство.
Какие тут могут возникать проблемы?
У того же Букинга есть прямые контакты с отельерами и база с ценами. А наша сборка выдачи больше напоминает метапоиск. Мы отправляем поставщикам цен асинхронные запросы и зависим от того, что отдаст каждый из них. Если ТО тормозят, то и инвентаря не будет. Поэтому клиентам выдача иногда кажется непредсказуемой — в 12 дня увидел одни предложения, через 3 часа приехали другие. Ну или просто желаемый тур уже купили :)
Также на странице отеля клиенты рассчитывают найти всю информацию об отеле. То есть вообще всю. Например, многим важно наличие бесплатного вайфая в номере. Но сегодня в отеле может быть бесплатный интернет, а завтра за него начнут брать плату — отслеживать такие вещи слишком энергозатратно. Для таких специфических вопросов мы подключили возможность написать менеджеру в мессенджерах. Это гораздо удобнее живых чатов на сайте. Вся переписка сохраняется в телефоне, и к ней можно вернуться в любой момент.
Мы не контентный проект. Но все равно стараемся наполнять карточки отелей по максимуму. Подключили отзывы с TopHotels — клиенты говорят, очень удобно.
![image](https://habrastorage.org/r/w1560/web/f15/056/c31/f15056c3119c451192d77ff04d3d019d.png)
Пользователь выбрал тур, происходит финальная актуализация цены. Мы отправляем запрос ТО на этот тур, проверяем места в отеле и на рейс и приносим всю дополнительную информацию по перелетам и доплатам.
Что может пойти не так?
1. Подгрузился топливный сбор, и цена выросла
Топливный сбор — это такое эфемерное понятие. Кто-то называет его уловкой туроператоров, но бОльшая часть туристов вообще не понимают, что это и для чего он нужен. Тем не менее, он есть и чаще всего на популярные направления. Составляет от $40 до $80 в зависимости от авиакомпании. Нет строгого правила в какую страну и по какому ТО есть топливо, а куда нет. По каждому туру расчёт индивидуален. Но вот у Библио-Глобуса топливного сбора нет ни на одном направлении. Возможно он уже зашит в цену и с ней и передаётся к нам.
2. Топливный сбор не подтянулся, но он есть
Чтобы получить данные по топливу, нужно прокинуть запрос в личный кабинет туроператора на конкретный тур. Иногда ТО может не отдать критерии, и цена не подъезжает. Бывают случаи, когда в ЛК что-то поменяли, и парсер отвалился. Подключаемся, фиксим.
Почему нельзя добавить топливный сбор сразу, в цены на серпе?
Теоретически это возможно. Но конкуренты тоже показывают цены на туры без учёта топлива. Есть риск, что люди увидят более высокие цены и уйдут от нас. И в целом будет складываться впечатление дорогих туров. Обязательно попробуем выводить топливо сразу, но в качестве эксперимента.
3. Не прошла актуализация по туру (неверная цена и информация о перелёте)
ТО может не ответить на запрос, и вся информация не актуализируется. То есть если вы не видите данных о перелётах (время вылета, аэропорт), то скорее всего цена тоже не обновилась. В таком случае вернитесь на страницу отеля и сузьте запрос. Например, если вас интересует тур на 7 ночей, а в поиске выставлен фильтр на 6-10 ночей, проставьте точно на 7 ночей и запустите поиск. Если не сработает, вернитесь к этому туру через несколько минут.
В среднем уровень успешных ответов на актуализацию составляет 92%. Когда падает до 90%, разбираемся с ТО и отключаем его, пока не пофиксят баги.
На регулярные рейсы запрос может быть более долгим. Если за 1 минуту ТО не ответил, то актуализации не происходит.
Что говорим клиенту?
При любой ошибке, если оплата от клиента прошла, менеджер связывается с ним и сообщает, что цена на тур изменилась по не зависящим от нас причинам. Менеджер предлагает переподбор, и если клиент отказывается, деньги на карте размораживаются. Если турист негативит, дарим скидку на следующий тур. В 70% случаев клиенты успокаиваются и соглашаются.
Мы не можем бронировать туры без оплаты. Это гарантия, что клиент серьёзно настроен на покупку. К тому же после аннуляции брони по турам вступают штрафные санкции, и ТО перекладывают их на нас. При этом мы позволяем забронировать тур с минимальной информацией — обязательны только поля со звёздочками, остальное можно заполнить потом. Это удобно, если тур горящий, и может “уйти” в любой момент.
![image](https://habrastorage.org/r/w1560/web/30c/6fc/6c1/30c6fc6c16fe4429a527fe31211e4b85.png)
При этом мы не списываем деньги с карты клиента, а замораживаем их. Если произойдёт какая-либо ошибка, деньги моментально размораживаются и можно забронировать другой тур.
1. На этапе оплаты могут произойти проблемы с банком. На стороне банка, естественно.
Мы используем систему 3D Secure — это когда по SMS отправляется код подтверждения оплаты. Однако не все банки отправляют SMS для 3DS-аутентификации и не ко всем картам подключена 3DS. Отменить эту систему мы не можем, она позволяет избежать фрода.
Когда мы холдируем деньги, от большинства банков приходит SMS клиенту о том, что деньги списаны. Некоторые банки присылают SMS о том, что деньги заморожены. А бывают и такие случаи, когда приходит смс о заморозке и за ней — и списании. Это редкий случай, но клиенты пугаются, что с них 2 раза сняли деньги. Приходится успокаивать.
2. Иногда возникает ошибка в процессе оплаты. В таком случае мы просим пользователя оплатить тур другой картой, позвонить в банк или попробовать оплатить тур позднее.
1. Оплаченный тур может не подтвердить туроператор
Есть туры на моментальном бронировании — это значит, что за туроператором закреплена определённая квота по номерам и билетам на самолёт, причём уже проплаченная. Другие туры подтверждаются реже — обычно у ТО есть договорённость с этими отелями и авиакомпаниями, но сами места на проплачены. Но это не гарантирует наличия мест на определённые даты. Поэтому туроператору приходится обращаться к партнёрам за подтверждением.
Туры под запрос на Травелате помечены значком. Можно эти туры отфильтровать и не показывать в поисковой выдаче. Туры под запрос подтверждаются примерно в 60% случаев, не под запрос — в 90%.
![image](https://habrastorage.org/r/w1560/web/1e8/b5a/bd4/1e8b5abd49394bc9a5d5a3af5ba6fae1.png)
Хуже всего подтверждаются не самые популярные направления у россиян. Если железобетонно нужно уехать по непопулярному направлению, например, на свадьбу к друзьям, и вы бронируете тур в последний момент, лучше перестраховаться и подобрать путешествие самостоятельно.
Если тур не подтверждают, а на переподбор клиент не согласился, мы размораживаем деньги. Обычно это процесс моментальный, но могут произойти проблемы на стороне банка. Тогда обращайтесь в банк.
2. Рейс перенесли
Здесь ничего не поделаешь. Это особенность чартерных рейсов, которая чётко прописана в договоре. У нас на чекауте есть услуга конкретизации рейса, которая фиксирует номер чартерного рейса. Без этой услуги туриста могут пересадить на любой рейс с вероятностью 20-30%. С конкретизацией рейс зафиксирован, он практически приравнивется к “регулярке”. Хотя и может задержаться, как и любой другой перелёт.
Как справиться с недоверием?
Новый клиент очень аккуратен, он боится платить, боится неправильно заполнить паспортные данные. Что уж говорить об оплате… В таких случаях опять же поможет чат в мессенджерах.
Технические возможности ТО постепенно улучшаются. К примеру, 5 лет назад ни у кого не было API, приходилось парсить данные из личных кабинетов. Сейчас API есть почти у всех, даже не самых крупных ТО.
Сильно выросла онлайн нагрузка на сервера ТО. Раньше у них на сайтах сидели только турагенты и искали точечные запросы. Сейчас в онлайн с ними работают такие игроки как мы, от нас уходит несколько миллионов запросов в день.
Наши отношения с туроператорами — это взаимовыгодное сотрудничество. Для них IT — не основная специализация. Около 95% всех туров до сих пор продаются в офлайне.
Пускай ТО создают хороший продукт. А мы своим фидбеком поможем им развиваться в онлайне. Если у них возникли какие-то проблемы, мы просто отключим выдачу по одной из стран или полностью отключим на время. Часто мы находим баги у ТО быстрее, чем они. Поэтому все в выигрыше.
Об этих и других проблемах и багах сайта Travelata.ru я рассказал в первой части. Продолжаем публичную порку самих же себя.
Отельная страница
Когда открывается серп, направляется запрос в кеш, который хранится от 15 минут до нескольких часов. В момент открытия отельной страницы, если на отель из кеша пришло менее 3 туров, к ТО отправляется новый запрос на поиск по названию отеля. И могут приехать новые цены. Актуальные.
Почему вообще приходится так часто отправлять запросы к ТО?
По большей части причина в динамическом ценообразовании. Особенности современных турпакетов — цены меняются несколько раз в течение дня в зависимости от загрузки рейса и отеля и популярности тура. Пересчёт происходит автоматически в системе или делается вручную маркетологами туроператора. Где-то ежеминутно, а где-то несколько раз в неделю.
Вторая причина — туры просто быстро раскупают.
![image](https://habrastorage.org/web/00e/3d3/f90/00e3d3f9093e4a39ba39b7ada3364b4b.png)
Самые большие скачки цен на динамический пакетах (не путать с динамическим ценообразованием из абзаца выше). Динамические пакеты — это туры “отель, билет и иногда трансфер”. Туроператор собирает их самостоятельно, подключаясь к GDS в момент стороннего запроса. Схема такова: мы стучимся к ТО, ТО обращается к GDS, забирая стоимость авиабилета (это всегда регулярный рейс) и одновременно к своей базе отелей и трансферов. И только потом складывается финальная цена. Такие туры могут оказаться выгоднее готовых чартерных пакетов, если у ТО есть договорённость с авиакомпанией или отелем и спецтарифы.
Всё это очень сложно донести до пользователя, отсюда много негатива. Клиенты думают, что мы сами специально накручиваем цены, но у нас нет маркапов. Все цены практически идентичны туроператорским, а зарабатываем мы на комиссии от ТО, как и обычное турагентство.
Какие тут могут возникать проблемы?
- Не приехал тур.
У того же Букинга есть прямые контакты с отельерами и база с ценами. А наша сборка выдачи больше напоминает метапоиск. Мы отправляем поставщикам цен асинхронные запросы и зависим от того, что отдаст каждый из них. Если ТО тормозят, то и инвентаря не будет. Поэтому клиентам выдача иногда кажется непредсказуемой — в 12 дня увидел одни предложения, через 3 часа приехали другие. Ну или просто желаемый тур уже купили :)
- Мало информации об отеле.
Также на странице отеля клиенты рассчитывают найти всю информацию об отеле. То есть вообще всю. Например, многим важно наличие бесплатного вайфая в номере. Но сегодня в отеле может быть бесплатный интернет, а завтра за него начнут брать плату — отслеживать такие вещи слишком энергозатратно. Для таких специфических вопросов мы подключили возможность написать менеджеру в мессенджерах. Это гораздо удобнее живых чатов на сайте. Вся переписка сохраняется в телефоне, и к ней можно вернуться в любой момент.
Мы не контентный проект. Но все равно стараемся наполнять карточки отелей по максимуму. Подключили отзывы с TopHotels — клиенты говорят, очень удобно.
![image](https://habrastorage.org/web/f15/056/c31/f15056c3119c451192d77ff04d3d019d.png)
Чекаут
Пользователь выбрал тур, происходит финальная актуализация цены. Мы отправляем запрос ТО на этот тур, проверяем места в отеле и на рейс и приносим всю дополнительную информацию по перелетам и доплатам.
Что может пойти не так?
1. Подгрузился топливный сбор, и цена выросла
Топливный сбор — это такое эфемерное понятие. Кто-то называет его уловкой туроператоров, но бОльшая часть туристов вообще не понимают, что это и для чего он нужен. Тем не менее, он есть и чаще всего на популярные направления. Составляет от $40 до $80 в зависимости от авиакомпании. Нет строгого правила в какую страну и по какому ТО есть топливо, а куда нет. По каждому туру расчёт индивидуален. Но вот у Библио-Глобуса топливного сбора нет ни на одном направлении. Возможно он уже зашит в цену и с ней и передаётся к нам.
2. Топливный сбор не подтянулся, но он есть
Чтобы получить данные по топливу, нужно прокинуть запрос в личный кабинет туроператора на конкретный тур. Иногда ТО может не отдать критерии, и цена не подъезжает. Бывают случаи, когда в ЛК что-то поменяли, и парсер отвалился. Подключаемся, фиксим.
Почему нельзя добавить топливный сбор сразу, в цены на серпе?
Теоретически это возможно. Но конкуренты тоже показывают цены на туры без учёта топлива. Есть риск, что люди увидят более высокие цены и уйдут от нас. И в целом будет складываться впечатление дорогих туров. Обязательно попробуем выводить топливо сразу, но в качестве эксперимента.
3. Не прошла актуализация по туру (неверная цена и информация о перелёте)
ТО может не ответить на запрос, и вся информация не актуализируется. То есть если вы не видите данных о перелётах (время вылета, аэропорт), то скорее всего цена тоже не обновилась. В таком случае вернитесь на страницу отеля и сузьте запрос. Например, если вас интересует тур на 7 ночей, а в поиске выставлен фильтр на 6-10 ночей, проставьте точно на 7 ночей и запустите поиск. Если не сработает, вернитесь к этому туру через несколько минут.
В среднем уровень успешных ответов на актуализацию составляет 92%. Когда падает до 90%, разбираемся с ТО и отключаем его, пока не пофиксят баги.
На регулярные рейсы запрос может быть более долгим. Если за 1 минуту ТО не ответил, то актуализации не происходит.
Что говорим клиенту?
При любой ошибке, если оплата от клиента прошла, менеджер связывается с ним и сообщает, что цена на тур изменилась по не зависящим от нас причинам. Менеджер предлагает переподбор, и если клиент отказывается, деньги на карте размораживаются. Если турист негативит, дарим скидку на следующий тур. В 70% случаев клиенты успокаиваются и соглашаются.
Оплата
Мы не можем бронировать туры без оплаты. Это гарантия, что клиент серьёзно настроен на покупку. К тому же после аннуляции брони по турам вступают штрафные санкции, и ТО перекладывают их на нас. При этом мы позволяем забронировать тур с минимальной информацией — обязательны только поля со звёздочками, остальное можно заполнить потом. Это удобно, если тур горящий, и может “уйти” в любой момент.
![image](https://habrastorage.org/web/30c/6fc/6c1/30c6fc6c16fe4429a527fe31211e4b85.png)
При этом мы не списываем деньги с карты клиента, а замораживаем их. Если произойдёт какая-либо ошибка, деньги моментально размораживаются и можно забронировать другой тур.
1. На этапе оплаты могут произойти проблемы с банком. На стороне банка, естественно.
Мы используем систему 3D Secure — это когда по SMS отправляется код подтверждения оплаты. Однако не все банки отправляют SMS для 3DS-аутентификации и не ко всем картам подключена 3DS. Отменить эту систему мы не можем, она позволяет избежать фрода.
Когда мы холдируем деньги, от большинства банков приходит SMS клиенту о том, что деньги списаны. Некоторые банки присылают SMS о том, что деньги заморожены. А бывают и такие случаи, когда приходит смс о заморозке и за ней — и списании. Это редкий случай, но клиенты пугаются, что с них 2 раза сняли деньги. Приходится успокаивать.
2. Иногда возникает ошибка в процессе оплаты. В таком случае мы просим пользователя оплатить тур другой картой, позвонить в банк или попробовать оплатить тур позднее.
После оплаты
1. Оплаченный тур может не подтвердить туроператор
Есть туры на моментальном бронировании — это значит, что за туроператором закреплена определённая квота по номерам и билетам на самолёт, причём уже проплаченная. Другие туры подтверждаются реже — обычно у ТО есть договорённость с этими отелями и авиакомпаниями, но сами места на проплачены. Но это не гарантирует наличия мест на определённые даты. Поэтому туроператору приходится обращаться к партнёрам за подтверждением.
Туры под запрос на Травелате помечены значком. Можно эти туры отфильтровать и не показывать в поисковой выдаче. Туры под запрос подтверждаются примерно в 60% случаев, не под запрос — в 90%.
![image](https://habrastorage.org/web/1e8/b5a/bd4/1e8b5abd49394bc9a5d5a3af5ba6fae1.png)
Хуже всего подтверждаются не самые популярные направления у россиян. Если железобетонно нужно уехать по непопулярному направлению, например, на свадьбу к друзьям, и вы бронируете тур в последний момент, лучше перестраховаться и подобрать путешествие самостоятельно.
Если тур не подтверждают, а на переподбор клиент не согласился, мы размораживаем деньги. Обычно это процесс моментальный, но могут произойти проблемы на стороне банка. Тогда обращайтесь в банк.
2. Рейс перенесли
Здесь ничего не поделаешь. Это особенность чартерных рейсов, которая чётко прописана в договоре. У нас на чекауте есть услуга конкретизации рейса, которая фиксирует номер чартерного рейса. Без этой услуги туриста могут пересадить на любой рейс с вероятностью 20-30%. С конкретизацией рейс зафиксирован, он практически приравнивется к “регулярке”. Хотя и может задержаться, как и любой другой перелёт.
Как справиться с недоверием?
Новый клиент очень аккуратен, он боится платить, боится неправильно заполнить паспортные данные. Что уж говорить об оплате… В таких случаях опять же поможет чат в мессенджерах.
Поставщик и посредник — кто кого вытягивает?
Технические возможности ТО постепенно улучшаются. К примеру, 5 лет назад ни у кого не было API, приходилось парсить данные из личных кабинетов. Сейчас API есть почти у всех, даже не самых крупных ТО.
Сильно выросла онлайн нагрузка на сервера ТО. Раньше у них на сайтах сидели только турагенты и искали точечные запросы. Сейчас в онлайн с ними работают такие игроки как мы, от нас уходит несколько миллионов запросов в день.
Наши отношения с туроператорами — это взаимовыгодное сотрудничество. Для них IT — не основная специализация. Около 95% всех туров до сих пор продаются в офлайне.
Пускай ТО создают хороший продукт. А мы своим фидбеком поможем им развиваться в онлайне. Если у них возникли какие-то проблемы, мы просто отключим выдачу по одной из стран или полностью отключим на время. Часто мы находим баги у ТО быстрее, чем они. Поэтому все в выигрыше.