В этой статье
С 23 сентября по 6 октября 2026 года Джидда принимает 27-й Кубок наций Персидского залива: восемь национальных сборных, разделённых на две группы, играют на стадионе Спортивного города имени короля Абдаллы и на стадионе имени принца Абдаллы аль-Фейсала. Это спортивная новость, и для большинства людей на этом всё и заканчивается.
Внутри неё есть операционная история, которая касается каждого ресторана, отеля, магазина, транспортной компании и клиники в Джидде и окрестностях. На целых две недели меняется состав клиентов, стоящих у вашей кассы. Команды-участницы приезжают из Ирака, Омана, Кувейта, ОАЭ, Катара, Бахрейна и Йемена, и каждая привозит болельщиков с мобильными номерами, начинающимися с 964, 968, 965, 971, 974, 973 и 967. Семь кодов стран помимо того единственного, под который строились ваши системы.
Молчаливое допущение в основе большинства саудовских систем
Согласно национальному плану нумерации Королевства, местный мобильный номер начинается с 05 и состоит из десяти цифр. Это ясный регуляторный факт, и проблема не в нём. Проблема в том, как этот факт перекочевал в код в виде жёсткого правила проверки: поле отклоняет любой ввод, который не совпадает с десятью цифрами, начинающимися с ноль пять.
Правило выглядит правильным, потому что работает для 99% клиентов весь год. Потом наступают две недели вроде этих, и правило перестаёт быть защитой и превращается в запертую дверь. Разница важна: защита отсекает некорректный ввод, а это правило отсекает реального клиента, который пытается вам заплатить.
Хуже того, этот шаблон живёт не только в поле телефона. Он повторяется везде, где разработчик исходил из того, что клиент проживает в Саудовской Аравии:
- Поле мобильного номера. Проверка, привязанная к 05 или к фиксированной длине в десять цифр, отклоняет номер из стран Залива ещё до того, как он дойдёт до вашего сервера.
- Код подтверждения. Даже если поле принимает номер, у вашего провайдера сообщений может быть не включена международная доставка для вашего аккаунта, и клиент вводит номер и ждёт сообщения, которое так и не придёт.
- Страница оплаты. Платёжный шлюз, настроенный только на Mada. У посетителя карта банка из стран Залива в международной платёжной системе, и он видит отказ, который не может себе объяснить.
- Поле удостоверения личности. Обязательный десятизначный номер национального удостоверения или вида на жительство, начинающийся с единицы или двойки. У посетителя паспорт, а форма не предлагает третьего варианта.
- Адрес. Закрытый список, в котором только саудовские города, и обязательный почтовый индекс в местном формате — в форме, которой адрес вообще не нужен, потому что заказ забирают в филиале.
- Язык. Интерфейс только на арабском на критическом пути, например при бронировании или оплате. Гости из стран Залива читают по-арабски, но часть приезжих болельщиков и их спутников — нет.
Почему ничего из этого не видно в ваших отчётах
Именно здесь и кроется настоящая опасность. Когда ваша форма отклоняет номер посетителя, не происходит ничего измеримого. Ни неудачного заказа на дашборде, ни ошибки в логах, ни обращения в поддержку. Клиент пробует дважды, закрывает вкладку и уходит к конкуренту, чья форма приняла номер. Вы видите результат как продажи чуть ниже ожидаемых в загруженную неделю и объясняете это любой другой причиной.
Системы фиксируют успех в мельчайших подробностях и молчат о том, что провалилось ещё до начала. Завершённый заказ оставляет полный след от первого клика до счёта, а посетитель, которого остановила проверка в браузере, так и не дошёл до сервера, чтобы оставить след. Поэтому первое исправление здесь не в форме, а в измерении: записывайте ошибки проверки как отдельное событие с названием поля и причиной отказа, не сохраняя сам ввод. Неделя таких данных точно покажет, какое поле отсекает клиентов, и это та же видимость, о которой мы писали в статье единая точка отказа, которую вы не видите в своей архитектуре.
Что действительно можно исправить до 23 сентября
Пяти дней мало, чтобы перестроить систему, но более чем достаточно, чтобы убрать шесть перечисленных выше барьеров, потому что большинство из них — это настройка, а не разработка. Порядок ниже идёт от наибольшего эффекта к меньшему:
- Откройте поле мобильного номера для международного формата. Выбор кода страны, где по умолчанию стоит Саудовская Аравия, и хранение номеров в одном каноническом международном формате, начинающемся со знака плюс. Это изменение в одном слое, и оно решает проблему для любой страны, а не для семи.
- До турнира проверьте доставку кода подтверждения на реальный номер из стран Залива. Не исходите из того, что она включена. Отправьте код на настоящий номер в одной из стран-участниц и убедитесь, что он приходит за секунды. Проверка занимает минуты и выявляет сбой, который обошёлся бы вам в две недели.
- Подключите международные карты и мобильные кошельки. Уточните у платёжного провайдера, какие платёжные системы реально активны в вашем аккаунте, а не какие теоретически доступны в вашем тарифе. Добавьте вариант оплаты кошельком, если его нет: это самый быстрый путь для посетителя, который не станет вводить номер карты на сайте, которым никогда не пользовался.
- Сделайте поле удостоверения необязательным или добавьте вариант с паспортом. Если поле существует по требованию закона, напишите об этом рядом и принимайте формат паспорта. Если оно существует по привычке, удалите его на этой неделе.
- Освободите адрес от закрытого списка. Сделайте город полем свободного ввода, а почтовый индекс — необязательным, особенно в заказах без доставки.
- Переведите только критический путь. Меню или список товаров, шаги бронирования, страницу оплаты и страницу со схемой проезда. Вам не нужен полностью переведённый сайт ко вторнику. Вам нужно, чтобы посетитель мог купить.
Сразу после исправлений встаёт вопрос мощности. Этот пик не распределён по дню, а сосредоточен в двух коротких окнах до и после каждого матча и ведёт себя очень похоже на картину, которую мы описывали в статье день зарплаты и пик, дата которого вам уже известна, с одним отличием: эта толпа ещё и перемещается географически, в одном направлении, в одно время.
Данные, которые вы соберёте за эти две недели
Посетитель из-за пределов Королевства, зарегистрировавшийся в вашей системе, — это персональные данные, на которые распространяется Закон о защите персональных данных (PDPL), точно так же, как на данные местного клиента. Практический вывод прост: не собирайте поле, которое не будете использовать. Каждое лишнее поле, добавленное в наспех собранную форму, — это обязательство, которое остаётся с вами ещё много месяцев после окончания турнира.
Укажите на странице о конфиденциальности, что вы собираете, зачем и как долго храните, языком, понятным посетителю, а не скопированными юридическими шаблонами. Человек, который зарегистрировался у вас один раз за две недели, не станет читать десять абзацев, но заметит, если вы просите номер национального удостоверения, чтобы забронировать столик.
Взгляд Origami
Мы часто встречаем этот шаблон при аудите существующих систем: правило проверки, написанное три года назад под ситуацию, которая тогда была верной, а потом оставшееся в коде как постоянное решение, к которому никто не возвращался. Ошибка не в том, что разработчик ошибся. Ошибка в том, что допущение нигде не было записано так, чтобы его можно было пересмотреть, и поэтому оно стало частью конструкции, а не настройкой.
Поэтому, создавая систему, мы отделяем правила проверки от кода и рассматриваем их как конфигурацию, а мобильные номера всегда храним в международном формате, даже если сегодня все клиенты местные. Затраты на этапе разработки близки к нулю. Затраты через два года, когда вы откроете филиал в Даммаме для гостей из Бахрейна или когда в ваш город придёт турнир, — это разница между часом настройки и проектом изменений, который измеряется неделями. Тот же принцип мы применяем ко всему, что создаём в рамках наших услуг: допущение, верное сегодня, записывается как настройка, а не как условие в строке кода.
Что останется после 6 октября
Турнир заканчивается шестого октября. То, что вы исправили, — нет. Королевство постоянно принимает крупные мероприятия, и сезоны, конференции и турниры стали постоянной частью календаря, а не исключением. Система, которая сегодня принимает посетителя из-за пределов Королевства, примет его и на следующем мероприятии без дополнительной работы.
Начните на этой неделе с самого маленького выполнимого шага: откройте свой сайт или приложение и попробуйте пройти полную покупку с реальным мобильным номером из стран Залива и несаудовской картой. Если всё работает, вы готовы. Если застрянете на каком-то поле, значит, вы только что нашли, куда собирались утечь две недели продаж.
Источники
- Visit Saudi, официальный туристический сайт Саудовской Аравии — страница Кубка Залива 27 в Джидде и официальная информация для гостей.
- Саудовское информационное агентство — официальное сообщение об открытии продажи билетов на Кубок Залива 27.
- Комиссия по коммуникациям, космосу и технологиям — национальный план нумерации и формат мобильных номеров в Королевстве.
- Саудовское управление по данным и искусственному интеллекту (SDAIA) — Закон о защите персональных данных и правила его применения.
- Центральный банк Саудовской Аравии (SAMA) — нормативная база для поставщиков платёжных услуг в Королевстве.
Частые вопросы
Почему мой сайт вообще отклоняет мобильный номер из стран Залива?
Потому что правило проверки в поле мобильного номера обычно написано под местный саудовский формат: десять цифр, начинающихся с 05. Любой номер, не подходящий под этот шаблон, отклоняется в браузере ещё до того, как дойдёт до вашего сервера, даже если в своей стране он полностью корректен. Решение не в том, чтобы расширить шаблон на семь стран, а в том, чтобы хранить номера в одном каноническом международном формате с выбором кода страны, где по умолчанию стоит Саудовская Аравия: это изменение в одном слое, которое решает задачу для любой страны.
Как понять, что мои формы отсекают реальных клиентов?
По текущим отчётам вы этого не узнаете, потому что отказ в браузере не создаёт ни неудачного заказа, ни ошибки в логах. Практичный способ — записывать ошибки проверки как отдельное событие с названием поля и причиной отказа, не сохраняя то, что ввёл пользователь. Недели таких записей достаточно, чтобы увидеть, какое поле отсекает больше всего посетителей. Самая быстрая проверка — попробовать самому пройти полную покупку с реальным номером из стран Залива и несаудовской картой.
Нужно ли переводить весь сайт до турнира?
Нет. Цель на пять дней — не полностью двуязычный сайт, а посетитель, который может завершить покупку. Переведите только критический путь: список товаров или блюд, шаги бронирования, страницу оплаты и страницу с адресом и схемой проезда. Остальное может подождать, а перевод в спешке и низкого качества приносит больше вреда, чем пользы.
Распространяется ли закон о защите данных на посетителей из-за пределов Королевства?
Данные посетителя, который регистрируется в вашей системе, являются персональными данными и влекут ту же ответственность, что и данные вашего местного клиента, по Закону о защите персональных данных (PDPL). Самое полезное практическое правило — собирать только те поля, которые вы действительно будете использовать: каждое лишнее поле, добавленное в спешке перед мероприятием, остаётся обязательством ещё много месяцев после его окончания, а на странице о конфиденциальности должно быть указано, что вы собираете, зачем и как долго храните.
Следите за Origami в Google
Добавьте Origami в предпочтительные источники, и наши статьи будут показываться вам первыми в Google Поиске и главных новостях.








