Бронирование и продажа

1 Общая технологическая цепочка

Выдача билетов, купленных или зарезервированных через интернет-сервис, производится в кассе кинотеатра. Идентификация зрителя производится по коду или штриховому коду, который сообщается зрителю при покупке или бронировании через интернет-сервис

 

2 Запрос на бронирование билетов -reserve

Запрос:

               reserve - посылает команду на бронирование списка выбранных мест.

Запрос на резервирование билетов передается методом POST в соответствии с RFC1867

 

Параметры:

               xmldata  – данные в формате:

 

<reservation userLogin="" userPwd="" showId="" email="" guest="">

<seats>

   <seat seatId="" discountId=""/>

</seats>

</reservation>

 

Где:

showId     - Идентификатор киносеанса.

userLogin  – Учетная запись службы, осуществляющей бронирование.

userPwd    - Пароль службы, осуществляющей бронирование.

email      - электронная почта зрителя, на которого осуществляется бронирование.

guest      - Имя или идентификатор зрителя, на которого осуществляется бронирование.

seatId     - Идентификатор места (обязательный параметр)

discountId - Идентификатор скидки (необязательный параметр)

 

Ответ:

<result errCode="Код ошибки" errText="Описание ошибки">

<reservation 

   docid        ="Идентификатор документа"

   reservnum    ="Номер брони"

   showid       ="Идентификатор киносеанса"

   showfilmname ="Наименование фильма"

   showdatetime ="Дата-время начала сеанса в формате ДД.ММ.ГГГГ ЧЧ:мм:СС"

   reservstatus ="Состояние брони"

   actualdate   ="Дата и время снятия брони"

   reservdate   ="Дата и время оформления транзакции бронирования"

   guest        ="Имя или идентификатор зрителя на которого оформлена бронь"

   service      ="Идентификатор службы">

   <seats>

      <seat

         seatid     ="{МЕСТО}"         seatrownum ="{МЕСТО.НОМЕР_РЯДА}"         seatnum    ="{МЕСТО.НОМЕР_МЕСТА}"         seatprice  ="{МЕСТО.ЦЕНА}"         groupid    ="{МЕСТО.НОМЕР_ДИВАНА}"         seatstate  ="1"

      />

   </seats>

</reservation>

</result>  

Список ошибок:

0 - Успешное проведение транзакции.

1 - Ошибка авторизации.

2 - Ошибка сеанса. Указанный киносеанс не существует или не доступен для продаж

3 - Неверно указаны места. (например, место относится к другому залу).

4 - Места забронировать невозможно.

5 - Места уже заняты. (С момента ответа о состоянии мест зала и до отправки команды на бронирование могло пройти много времени, и эти места на момент оформления транзакции уже заняты).

6 – Сеанс недоступен для продаж.

7 - Недостаточно времени до начала сеанса или Превышено количество мест, доступных для бронирования на один сеанс.

8 – Указанная скидка не существует.

9 - Невозможно забронировать места на данный сеанс.

 

3 Запрос информации о брони - getinfo

Запрос:

            getinfo - возвращает информацию о документе с указанным идентификатором

Параметры:

userlogin - Логин пользователя (службы), осуществляющего бронирование

userpwd  - Пароль пользователя (службы), осуществляющего бронирование

docid       - Идентификатор документа бронирования

 

Пример:

http://95.47.181.201:8112/kino/site.getinfo?docid =xxxxxx&userlogin=demo&userpwd=demo

 

Ответ:

<result errCode ="Код ошибки" errText="Описание ошибки"

<reservation 

   docid        ="Идентификатор документа"

   reservnum    ="Номер брони"

   showid       ="Идентификатор киносеанса"

   showfilmname ="Наименование фильма"

   showdatetime ="Дата-время начала сеанса в формате ДД.ММ.ГГГГ ЧЧ:мм:СС"

   reservstatus ="Состояние брони"

   actualdate   ="Дата и время снятия брони"

   reservdate   ="Дата и время оформления транзакции бронирования"

   guest        ="Имя или идентификатор зрителя, на которого оформлена бронь"

   service      ="Идентификатор службы">   paymenttype  ="Тип оплаты">

   <seats>

      <seat

         seatid     ="{МЕСТО}"         seatrownum ="{МЕСТО.НОМЕР_РЯДА}"         seatnum    ="{МЕСТО.НОМЕР_МЕСТА}"         seatprice  ="{МЕСТО.ЦЕНА}"         groupid    ="{МЕСТО.НОМЕР_ДИВАНА}"

      />

   </seats>

</reservation>

</result> 

Список ошибок:

0 - Запрос успешно выполнен
1 - Ошибка авторизации
2 - Неверный идентификатор брони
3 - Недостаточно прав на данную операцию (бронь существует, но оформлена под учетной записью другой службы)

 

Примечание: указанная в ответном сообщении сумма является ориентировочной. Конечная стоимость забронированных билетов определяется при продаже.

 

4 Отмена брони - unreserve

Запрос:

            unreserve - отмена брони с указанным идентификатором

Параметры:

userlogin - Логин пользователя (службы), осуществляющего бронирование

userpwd  - Пароль пользователя (службы), осуществляющего бронирование

docid       - Идентификатор документа бронирования

 

Ответ:

<result errCode="Код ошибки" errText="Описание ошибки" docid="Идентификатор документа" />

 

Список ошибок:

0 - Запрос успешно выполнен.
1 - Ошибка авторизации.
2 - Неверный идентификатор брони
3 - Недостаточно прав на данную операцию.

4 - Неверный статус брони (невозможно снять бронь, поскольку по ней уже были продажи).

 

5 Продажа- sale

Запрос:

sale - продажа предварительно забронированных мест.

Параметры:

userlogin         - Логин пользователя (службы), осуществляющего бронирование

userpwd          - Пароль пользователя (службы), осуществляющего бронирование

docid               - Идентификатор документа бронирования

paymenttype   - Тип оплаты (1 – Пушкинская карта, 2 – кредитная карта)

terminalowner - ИНН владельца платежного терминала

terminalid        - Идентификатор платежного терминала

rrn                   - RRN платежной транзакции

 

Ответ:

<result errCode ="Код ошибки" errText="Описание ошибки"

<sale 

   docid        ="Идентификатор документа"

   reservnum    ="Номер брони"

   showid       ="Идентификатор киносеанса"

   showfilmname ="Наименование фильма"

   showdatetime ="Дата-время начала сеанса в формате ДД.ММ.ГГГГ ЧЧ:мм:СС"

   reservstatus ="Состояние брони"

   actualdate   ="Дата и время снятия брони"

   reservdate   ="Дата и время оформления транзакции бронирования"

   guest        ="Имя или идентификатор зрителя, на которого оформлена бронь"

   service      ="Идентификатор службы">   paymenttype  ="Тип оплаты">

   <seats>

      <seat

         seatid     ="{МЕСТО}"         seatrownum ="{МЕСТО.НОМЕР_РЯДА}"         seatnum    ="{МЕСТО.НОМЕР_МЕСТА}"         seatprice  ="{МЕСТО.ЦЕНА}"         groupid    ="{МЕСТО.НОМЕР_ДИВАНА}"

      />

   </seats>

</sale>

</result>

 

 

Список ошибок:

0 - Запрос успешно выполнен.

1 - Ошибка авторизации.

2 - Неверный идентификатор документа.

3 - Недостаточно прав на данную операцию.

4 - Неверный статус.

5 - Неверный тип оплаты (при попытке оплаты Пушкинской картой билета на фильм, не участвующий в программе PRO.Культура)

6 Возврат - unsale(запрос на отмену выкупленного места)

Запрос:

unsale- возврат проданных мест

Параметры:

userlogin - Логин пользователя (службы), осуществляющего бронирование

userpwd  - Пароль пользователя (службы), осуществляющего бронирование

docid       - Идентификатор документа бронирования

Ответ:

<result

   errCode="Код ошибки"

   errText="Описание ошибки"

   docid  ="Идентификатор документа">

<unsale 

   Docid        ="Идентификатор документа"

   reservnum    ="Номер брони"

   showid       ="Идентификатор киносеанса"

   showfilmname ="Наименование фильма"

   showdatetime ="Дата-время начала сеанса в формате ДД.ММ.ГГГГ ЧЧ:мм:СС"

   reservstatus ="Состояние брони"

   actualdate   ="Дата и время снятия брони"

   reservdate   ="Дата и время оформления транзакции бронирования"

   guest        ="Имя или идентификатор зрителя, на которого оформлена бронь"

   service      ="Идентификатор службы">   paymenttype  ="Тип оплаты">

   <seats>

      <seat

         seatid     ="{МЕСТО}"         seatrownum ="{МЕСТО.НОМЕР_РЯДА}"         seatnum    ="{МЕСТО.НОМЕР_МЕСТА}"         seatprice  ="{МЕСТО.ЦЕНА}"         groupid    ="{МЕСТО.НОМЕР_ДИВАНА}"

      />

   </seats>

</unsale>

</result>

 

Список ошибок:

0 - Запрос успешно выполнен.

1 - Ошибка авторизации.

2 - Неверный идентификатор документа.

3 - Недостаточно прав на данную операцию.

4 - Неверный статус.

 

7 Подтверждение возврата – confirm_unsale

Запрос:

confirm_unsale- завершение возврата проданных мест с указанием реквизитов оплаты.

Параметры:

userlogin         - Логин пользователя (службы), осуществляющего бронирование

userpwd          - Пароль пользователя (службы), осуществляющего бронирование

docid               - Идентификатор документа бронирования

paymenttype   - Тип оплаты (1 – Пушкинская карта, 2 – кредитная карта)

terminalowner - ИНН владельца платежного терминала

terminalid        - Идентификатор платежного терминала

rrn                   - RRN платежной транзакции

Ответ:

<result

   errCode="Код ошибки"

   errText="Описание ошибки"

   docid  ="Идентификатор документа">

<unsale 

   docid        ="Идентификатор документа"

   reservnum    ="Номер брони"

   showid       ="Идентификатор киносеанса"

   showfilmname ="Наименование фильма"

   showdatetime ="Дата-время начала сеанса в формате ДД.ММ.ГГГГ ЧЧ:мм:СС"

   reservstatus ="Состояние брони"

   actualdate   ="Дата и время снятия брони"

   reservdate   ="Дата и время оформления транзакции бронирования"

   guest        ="Имя или идентификатор зрителя, на которого оформлена бронь"

   service      ="Идентификатор службы">   paymenttype  ="Тип оплаты">

   <seats>

      <seat

         seatid     ="{МЕСТО}"         seatrownum ="{МЕСТО.НОМЕР_РЯДА}"         seatnum    ="{МЕСТО.НОМЕР_МЕСТА}"         seatprice  ="{МЕСТО.ЦЕНА}"         groupid    ="{МЕСТО.НОМЕР_ДИВАНА}"

      />

   </seats>

</unsale>

</result>

 

Список ошибок:

0 - Запрос успешно выполнен.

1 - Ошибка авторизации.

2 - Неверный идентификатор документа.

3 - Недостаточно прав на данную операцию.

4 - Неверный статус.

5 - Неверный тип оплаты (при попытке возврата иным типом оплаты, чем при продаже).