Перейти до вмісту
Блог

Багатовалютний сайт бронювання: куди витікає маржа

Редакція Tekravel

Sub-agent із Ер-Ріяда питає, чому на сторінці пошуку сайт показав ціну в SAR, а в рахунку стоїть AED. Ви перевіряєте. Обидва числа правильні. Тариф supplier оцінив в одній валюті, мандрівникові показали в другій, а settle відбувся в третій, коли пройшла картка. Ніхто не помилився, а вам усе одно бракує. Саме в цій щілині багатовалютний сайт бронювання тихо втрачає гроші, і майже ніколи шкоди завдає не курс. Її завдає правило округлення під ним і непоставлене питання: хто несе ризик між котируванням і розрахунком?

Дві валюти, а гроші рухаються лише в одній

Будь-яка крамниця, що продає за кордон, водночас веде дві валютні системи. Сприймати їх як одну — корінь майже всього безладу.

Валюта відображення — та, яку читає мандрівник. Це шар подання. На цій платформі кожен white-label сайт обирає власну валюту за замовчуванням і власний перелік, а ціни конвертуються на клієнті з таблиці курсів окремого тенанта. Ця деталь важить більше, ніж звучить: число на екрані — похідне. Це ваш курс, накладений на ціну suppliera в мить рендеру сторінки, а не ціна, яку хтось зобов'язався тримати.

Валюта settlement — та, у якій гроші справді рухаються: у ній supplier виставляє рахунок, її захоплює gateway, вона лягає на виписку, у ній виходить повернення. Зазвичай одна на постачальника й одна на gateway, і вони не завжди збігаються.

Коли агенція каже «ми продаємо в UAH, EUR і USD», це майже завжди означає: показує три, а settle робить в одній. Це цілком нормальний спосіб вести крамницю; більшість так і працює. Він перестає бути нормальним тієї миті, коли щось далі по ланцюжку сприйме показану ціну як зобов'язання — повернення, виписка sub-agentа, спір — бо показана ціна ніколи зобов'язанням не була. Це був рендер.

Хто несе FX-ризик на багатовалютному сайті бронювання

Між тим, як мандрівник бачить ціну, і тим, як гроші settle, хтось відкритий курсові, що може зрушити. Питання ніколи не в тому, чи існує ця відкритість. Питання — чия вона і чи знає про це власник.

Чесних відповідей три. Несе supplier, коли ви законтрактували net rates у власній валюті й конверсію поглинає він. Несе мандрівник, коли ви списуєте у валюті suppliera, а конвертує емітент картки — найчистіше для вас і саме те, на що мандрівники скаржаться, бо сума у виписці не дорівнює сумі в підтвердженні. Або несете ви, і саме це означає таблиця курсів: ви зафіксували курс, а різниця з реальним курсом у день розрахунку ваша — в обидва боки.

Усі три можна захистити. Уникати слід четвертої, випадкової: ніхто не вирішив, таблиця курсів оновлюється, коли хтось згадає, а позиція виявляється на звірці кварталом пізніше. Якщо ви не можете одним реченням назвати власника й періодичність оновлення — ви в четвертому випадку.

Округлення — рішення про ціну, а не про форматування

Більшість рушіїв за замовчуванням ставить крок 0,01, бо так виглядає десяткова валюта. У туризмі це хибне замовчування, з чотирьох окремих причин.

Перша: не кожна валюта має дрібну одиницю. Японська єна і корейська вона не мають; ціна з двома десятковими на тих ринках читається як артефакт програми, а крок 0,01 на валюті без копійки — арифметика над одиницею, якої не існує.

Друга: конвертовані ціни виглядають конвертованими. UAH 12 236,47 саме себе оголошує результатом множення. Мандрівник, який це читає, знає, що позаду стоїть інше число, і природний наступний крок — шукати те число деінде. Ціна, що лягає на круглий крок, читається як ваша ціна.

Третя — напрям. Округлення до найближчого кроку симетричне: на обсязі помилки гасять одна одну, маржа цього не відчуває. Округлення вгору завжди додає скалку, вниз — завжди одну віддає. І те, й інше — політика, і обидва варіанти нормальні, якщо їх обрали. Провал — обрати випадково, в неправильний бік, а потім дивуватися, чому валова маржа на одному ринку сидить трішки нижче за решту.

Четверта — порядок дій, і саме він справді кусає. Спершу конвертуй, потім наклади markup, потім округли — один раз, наприкінці. Рушій, що округлює net-тариф на конверсії й округлює вдруге після markup, округлив двічі, а вдруге — на числі, яке залишок уже втратило. Помножте це на тариф, податки й ancillaries, які оцінюються окремими компонентами, і сума перестає дорівнювати сумі частин. А це проблема звірки ще до того, як стане проблемою ціноутворення.

Округлюйте або покомпонентно, або на підсумку, але не обидва разом, і подбайте, щоб те, що показує рахунок, сходилося, коли sub-agent вкине його в таблицю. Вкине.

Три способи справді це вести

Моделі нижче — не рівні продукту. Це три різні відповіді на питання «що ви обіцяєте мандрівникові», і кожна несе іншу роботу.

 Конверсія на відображенніПрайси за ринкамиSettlement за ринками
Що цеОдна валюта settlement; решту рендерить таблиця курсівЦіни виставлені руками за ринком, не похідніGateway і рахунок на кожну валюту
Хто несе FXВи — між оновленням курсу і розрахункомВи — поки не перепризначите ціниМайже ніхто: валюту тримаєте самі
ПоверненняПотрібен збережений курс дня продажу, інакше різниця з васЧисто: повертається те саме числоЧисто
Контроль ціниСлабкий. Психологія така, яку дасть курсПовний. Кожну цінову точку обираєте виПовний
ОблікОдна книга, легкоОдна книга, легкоКілька книг, справжня робота
Коли це доречноБільшість агенцій, більшість часуРинок, де ви справді конкуруєте ціноюТам є персонал, обсяг і банк

Майже всім варто починати з лівої колонки й переносити один ринок у середню, коли він заслужить на увагу. Права колонка — операційне рішення в технологічному костюмі: якщо сьогодні в компанії ніхто не звіряє дві книги, третя валюта не стане тим, що це почне.

Скільки коштує помилка

Повернення — класика. Бронювання продано за одним курсом, скасовано через шість тижнів і повернуто за сьогоднішнім, бо саме він був у рушія під рукою. Якщо курс зрушив на користь мандрівника, різницю заплатили ви; якщо в інший бік — мандрівник вважає, що ви недодали, і не зовсім помиляється. Зберігайте на бронюванні курс, застосований під час продажу, і повертайте проти нього.

Тихіша — кредит. Кредитні ліміти sub-agentів і settlement-рахунки тут є об'єктами першого класу, а не таблицею — але це перевага лише тоді, коли ліміт деномінований у валюті, у якій той агент справді продає. Ліміт у USD для агента, що продає в SAR, дрейфує з кожним рухом курсу, і дрейф виявляється в найгірший момент — коли ліміт блокує виписку квитка в аеропорту.

Далі повільна. Застаріла таблиця курсів не кидає помилки. Вона продає. Тижнями це може виглядати як надзвичайно добрий обсяг на одному ринку — рівно до закриття місяця, коли з'ясовується, що той обсяг був знижкою, про яку ви не знали. Це аргумент на користь дати й власника на таблиці курсів замість cron job, якого ніхто не читає.

Перш ніж вмикати ринок

Нічого з цього не потребує проєкту. Потрібні записані рішення, саме в такому порядку, перш ніж валюта з'явиться в перемикачі:

  • Назвіть валюту settlement для того ринку, а також supplier і gateway, до яких вона стосується. Одне речення.
  • Назвіть, хто оновлює таблицю курсів і як часто, і покладіть дату останнього оновлення туди, де її бачить людина.
  • Оберіть крок округлення на кожну валюту, а не один глобальний, і окремо перевірте валюти без десяткових.
  • Підтвердьте, що порядок такий: конвертувати, накласти markup, округлити один раз — і що компоненти в рахунку все ще дають підсумок.
  • Підтвердьте, що повернення йдуть за збереженим курсом дня продажу, а не за сьогоднішнім.
  • Перевірте, що кредитні ліміти sub-agentів і settlement-рахунки в тій самій валюті, що й виписки, які ці агенти читають.

Потім вмикайте, продавайте два тижні й звірте ці два тижні один раз руками. Перший ринок — той, що навчить, який із шести пунктів вище ви зробили неправильно.

Поведінка валют — та частина вітрини, яку найлегше показати на демо й найважче проаудитувати, тож варто побачити справжні налаштування, перш ніж навколо них проєктувати. Якщо хочете подивитися, з чим сайт приходить — перелік валют, таблиця курсів, адмінка, де живуть markup, — запустіть один із майстра: він розгортається на субдомені платформи й не просить картку. Якщо ви ще вирішуєте, чи взагалі вести чужий рушій, вайт лейбл чи власна система — аргумент, що лежить під цим текстом, а що насправді дає вайт лейбл сайт покриває решту поверхні.

Курс — публічна інформація. Ваше правило округлення, курс ваших повернень і періодичність оновлення — ні, і саме в цих трьох місцях насправді вирішується маржа транскордонного бронювання.

Редакція Tekravel

Відділ travel-технологій

Відділ travel-технологій Tekravel пише для професіоналів ринку: власників агенцій, консолідаторів і розробників, які їх інтегрують. Кожну статтю перевіряють на тій самій платформі, яку вона описує, перед публікацією.