Организация интернет-бронирования и продаж

Материал из CinemaPark Integration

Перейти к: навигация, поиск

Содержание

Общие принципы работы

Перед тем, как бронировать билеты, необходимо знать ID мультиплекса (выгрузка multiplexes), а также ID сеанса фильма (выгрузка repertoir).

Все обращения к методам API осуществляются посредством HTTP-запросов к серверу api.booking.www.cinemapark.ru. Метод – GET (для последующего облегчения отладки с использованием логов веб-сервера). Аргументы запроса передаются стандартно через ? (пример – ?multiplex_id=22&repertoir_id=154234). Кодировка аргументов и тела ответа – UTF-8.

Пользователь должен иметь возможность ввести собственное кодовое слово, являющееся паролем к заказу. Формат – 16 символов, желательно использовать 33 буквы русского алфавита, без пробелов. Кодовое слово используется для редактирования заказа, а также для получения билетов в кинотеатре.

В результате бронирования/покупки билетов пользователь получает номер заказа (он же номер брони в случае бронирования билетов). Для выкупа забронированных билетов в кассе кинотеатра необходимо назвать номер заказа или кодовое слово. Для получения билетов в кассе кинотеатра или в терминале выдачи билетов необходимо знать и номер заказа, и кодовое слово.

Отменить оплаченный заказ и вернуть деньги с помощью API невозможно. Для того, чтобы вернуть деньги, клиент должен прийти в кинотеатр не менее, чем за 1 час до сеанса и заполнить заявление на возврат средств у дежурного администратора.

Ограничения

Для выбора мест и бронирования билетов выделяется не более 15 минут с начала открытия сессии.

Для оплаты выбранных мест выделяется не более 15 минут с момента фиксации выбора мест.

Существуют определённые ограничения на количество действий в системе; для снятия ограничений IP-адрес вашего сервера должен быть внесён в наш «белый список» (это делается по e-mail).

Временные ограничения на бронирование и покупку билетов: бронирование и продажа билетов закрываются за 1 час до начала сеанса.

Количественные ограничения на бронирование: бронирование закрывается, если в зале остаётся менее 50% свободных мест (не продано, не оплачено, не забронировано, не выбрано другими пользователями). На продажу билетов данное ограничение не распространяется.

В периоды новогодних, майских или иных праздников, а также на отдельные фильмы могут вводиться специальные ограничения (вплоть до полной отмены возможности бронирования и/или покупки).

Бронирование билетов

Для начала желательно определить, возможно ли в принципе начать бронирование в данном мультиплексе/сеансе, с помощью метода check_b_session.

После того, как стало понятно, что бронирование возможно и пользователь готов начать бронирование (явно, нажав кнопку «забронировать билеты», или неявно), нужно открыть сессию выбора мест с помощью метода init_b_session.

Для того, чтобы показать пользователю схему зала, существует два метода: seats_layout для отображения геометрической схемы зала и seat_states для отображения статусов мест (свободно, занято и т.п.).

Выбирать места, а также отменять выбор конкретного места можно с помощью метода seat_action.

В случае отказа пользователя от бронирования (явного или неявного) крайне желательно закрыть сессию выбора мест с помощью метода cancel_b_session, после чего будет снята блокировка мест, выбиравшихся пользователем.

Выбор мест должен быть завершён с помощью вызова метода commit_b_session. На этой стадии формируется номер заказа.

Вернуться к выбору мест можно с помощью метода edit_booking (если пользователь хочет изменить/отредактировать бронь). Редактировать бронь можно в любой момент, вплоть до начала действия временных ограничений на бронирование в данном сеансе.

Покупка билетов

После того, как выбор мест был зафиксирован, нужно заявить о своём желании оплатить выбранные места, это делается с помощью метода init_s_session.

В случае успешной оплаты заказа пользователем необходимо вызвать метод commit_s_session, после чего в системе билетных продаж места будут иметь статус оплаченных и билеты можно будет получить в кинотеатре (в кассах или в терминале выдачи билетов).

В случае отказа пользователя от оплаты или неудачи при оплате желательно вызвать метод register_payment_failure. Метод используется исключительно для сбора статистики; после вызова метода заказ не отменяется, оплатить заказ всё ещё возможно (до истечения тайм-аута на оплату).

Личные инструменты