Предварительное резервирование мест

<< Оглавление >>

Навигация:  Функциональные методы > Бронирование >

Предварительное резервирование мест

ПредыдущаяВернуться на уроветь вверхСледующая

Function SetPreReservation(strInp: string): string;

Метод осуществляет резервирование указанных мест в БД таким образом, чтобы эти места на заданное время (глобальный параметр системы, от 3 до 30 мин.) стали недоступны для резервирования или бронирования с рабочего места ПО «ПрофТикет» и вызовам данного метода с другим значением идентификатора сессии. В том случае, если при попытке резервирования выяснится, что все или часть мест не являются свободными, резервирование таких мест не выполняется. Метод возвращает в качестве результата коллекцию кодов возврата, каждый элемент которой соответствует элементу исходной коллекции мест, и содержит код, указывающий на успешность или неуспешность выполнения резервирования. Метод можно вызывать сколько угодно раз в рамках одной сессии, пока места не будут забронированы и оплачены.

 

Описание входных параметров.

- NomBilKn - Идентификатор события

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

- row ряд

- seat место

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

- [RemoteAddress] - IP адрес зрителя

- [PromoCodeID] - Идентификатор промокода

- [Price] - Цена билета

- [DisableDiscount] - Флаг неиспользовать скидку абонементной кампании. 1 - не использовать скидку, 0 или не указано использовать скидку при ее наличии.

- [PushkinCard]- Признак оплаты по Пушкинской карте.

- [EmailSpektator] - Email зрителя для проверки промокода, привязанного к Email.

- [CardNumber] - Номер или штрих-код дисконтной карты.

- [BenefitId] - Идентификатор скидки

 

[URL площадки продажи билетов (необязательный раздел)]

- SourceURL - URL площадки продажи билетов

 

[Подарочные сертификаты]

- Number Номер сертификата

 

[Скидки]

- BenefitId - Идентификатор вида скидочной карты

- BenefitCardId - Номер скидочной карты

 

 

Описание полей в выходных данных

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

- name_sec Наименование сектора.

- row ряд

- seat место

- price Цена билета (номинал).*

- priceSell Цена билета (продажи)* В случае, если указан промокод, цена продажи учитывает скидку по промокоду.

- priceForPay - Сумма к оплате. Если сертификаты не использутся, то равна цене продажи билета + сервисный сбор.

- ServiceFee - Сервисный сбор.

- priceSellFull - Сумма с учетом первоначальных наценок и скидок, без сервисного сбора, промокода и абонементной кампании,

- priceReturn - Максимальная сумма возврата

- CertificatePermitted - Место можно оплачивать сертификатом.

- TTL - Время в секундах, после которого места, находящиеся в предварительном резервировании могут быть сняты автоматически, если они не попали в заказ.

- PromoCodeID - Идентификатор промокода (если не указан во входных параметрах, то 0)

- PromoPercent - Процент по промокоду (если указан Идентификатор промокода и промокод актуален, в противном случае - 0)

- STCompanyDiscount - Процент скидки по абонементной кампании.

- DisableDiscount - Флаг неиспользовать скидку абонементной кампании

- DiscountProgramPercent - Процент скидки про дисконтной программе

- PushkinCard - Признак оплаты по Пушкинской карте.

- EmailSpektator - Email зрителя для проверки промокода, привязанного к Email.

- TicketAsGift - Возможность купить билет в подарок.

- StopRegistationDate - Дата и время, до которых разрешено оформление ПДн

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

- result_code - Код ошибки.

- result_message - описание ошибки

 

[Подарочные сертификаты]

- Number Номер (штрих-код) сертификата

- Amount Номинал

- StartDate Дата начала действия сертификата.

- StopDate Дата окончания действия сертификата.

 

[Скидки]

- BenefitId - Идентификатор вида скидочной карты

- BenefitCardId - Номер скидочной карты

- BenefitDiscountPercent - Процент по скидочной карте

- BenefitDiscountSum - Сумма скидки по скидочной карте (в случае скидки в твердой сумме)

 

Время, через которое предварительное резервирование будет снято автоматически, может немного отличаться от TTL в большую сторону. Это зависит от времени запуска сервиса автоматического снятия предварительного резервирования.

 

Обратите внимание!

Для создания заказа с промокодом, его необходимо указать в вызове метода бронирования SetReservation!

Для создания продажи с промокодом, его необходимо указать в вызове метода продажи SetSold.

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

Результатом будет код ошибки 20, а также поле GatePrice, возращающее переданую цену.

Структуру данных при передаче списка сертификатов для оплаты!

Структуру данных при передаче URL площадки продажи билетов!

Структуру данных при передаче номера скидочной карты!

 

Входной XML.

<GateReq>

<ReqLogin>

        <!--  Имя пользователя и пароль для авторизации -->

       <UserName>User</UserName>

       <UserPass>Password</UserPass>

</ReqLogin>

<ReqBody>

       <InputRow NomBilKn="234" cod_sec="1" row="1" seat="2" session="KFKDI23202828SBW4DAH8"/>  

       [<Certificates Number="1234567890" Amount="500.00" StartDate="01.01.2026" StopDate="31.12.2026">

        <Certificates Number="9876543210" Amount="500.00" StartDate="01.01.2026" StopDate="31.12.2026">

       ]

       [<Discount BenefitId="24" BenefitCardNumber="01234567890" />]

</ReqBody>

</GateReq>

 

Выходной XML.

<GateAnswer>

<AnswerResult>

  <ResultCode>0</ResultCode><!--  Код ответа шлюза, общий для всего запроса-->

  <RecordCount>1</RecordCount><!--  Количество записей в возвращаемом "RecordSet-е" -->

</AnswerResult>

<AnswerBody>

  <Row NomBilKn="234" cod_sec="1" row="1" seat="2" session="KFKDI23202828SBW4DAH8" price="1000" priceSell="900" priceForPay="900" priceFull="1000"  result_code="0" result_message="OK"/>

 

  <Certificates Number="1234567890" Amount="500.00" StartDate="01.08.2020" StopDate="31.07.2021">

  <Certificates Number="9876543210" Amount="500.00" StartDate="01.08.2020" StopDate="31.07.2021">

  <Discount BenefitId="24" BenefitCardNumber="01234567890" DiscountPercent="10" DiscountSum="0.00"  />

</AnswerBody>

</GateAnswer>