|
<< Оглавление >> Бронирование мест на событие |
![]() ![]()
|
Function SetReservation(strInp: string): string;
Бронирование указанных мест осуществляется в БД при условии, что они находятся в состоянии резервирования за сессией с указанным идентификатором. Реквизиты заказа заносятся в БД таким образом, чтобы администратор программы мог получить информацию о реквизитах заказа для каждого места.
- NomBilKn - Идентификатор события - cod_sec Идентификатор сектора. - row ряд - seat место - session - Идентификатор сессии - NameSpektator - ФИО зрителя - TelSpektator - Телефон зрителя - EmailSpektator - Email зрителя - [CityName] - город зрителя - [Gender] - пол зрителя (необязательное поле. 0 - не указан, 1 - женский пол, 2 мужской пол, 3 - неопределен) - [BirthDate] - Дата рождения в формате дд.мм.гггг - [SendAdvertising] - Согласие на рассылку (рекламу).. 0 - не согласен (по-умолчанию), 1 - согласен. Данный параметр записывается в справочник зрителей. Если зритель уже существует в справочнике, параметр перезаписывается. - [PinCode] - Пин-код заказа. 4 цифры. Если указан пин-код, то при выкупе заказа зритель должен назвать его кассиру. В противном случае заказ не будет распечатан. Пин-код формируется сайтом и передается в шлюз. - [Delivery] - Наличие/отсутствие доставки (1 курьерская доставка, 0 - нет доставки) (необязательное поле при отсутствии доставки) - [DeliveryDate] - Дата доставки (необязательное поле при отсутствии доставки) - [Address] - Адрес доставки (необязательное поле при отсутствии доставки) - [MetroID] - Идентификатор станции метро. - [OfficeID] - Идентификатор офиса. Указывается при самовывозе (т.е. отсутсвии доставки). Это предполагаемый офис выкупа билетов. Если забронирован один или несколько "живых" билетов, то указать Идентификатор офиса обязательно. - [Notes] - Комментарий - [OrderID] - Идентификатор заказа в БД сайта или платежной системе - [DeliveryService] - Идентификатор услуги доставки (необязательное поле при отсутствии доставки) - [RemoteAddress] - IP адрес зрителя - [PromoCodeID] - Идентификатор промокода - [isPaidOrder] - Признак заведомо оплачиваемого заказа. - [DisableDiscount] - Флаг неиспользовать скидку абонементной кампании. 1 - не использовать скидку, 0 или не указано использовать скидку при ее наличии. - [PushkinCard] - Признак оплаты по Пушкинской карте. - [withQRCode] - Флаг - покупатель подтверждает наличие QR кода о вакцинации*. - [GroupOrder] - Признак группового заказа.. 0 - не групповой заказ (по-умолчанию). 1 - групповой заказ - [MultiPayGroup] - Для группового заказа возможность оплатить несколько билетов одним плательщиком.. 0 - нельзя одному плательщику выкупить несколько мест (по-умолчанию). 1 - можно. - [CardNumber] - Номер или штрих-код дисконтной карты. - [VisitorDataDelayedInput] - Флаг - данные посетителя будут переданы после покупки. - [BenefitId] - Идентификатор скидки
[Подарочные сертификаты] - Number Номер сертификата
[Скидки] - BenefitИдентификатор - идентификатор вида скидочной карты - BenefitCardИдентификатор - Номер скидочной карты |
- NomBilKn - Идентификатор события. - cod_sec Идентификатор сектора. - name_sec Наименоване сектора - row ряд. - seat место. - price - Цена билета. (номинал)* - priceSell - Цена билета (продажи)* c учетом введенного промокода и прочих возможных скидок - priceForPay - Сумма к оплате. Если сертификаты не используются, то равна цене продажи билета + сервисный сбор. - ServiceFee - сервисный сбор. - priceSellFull - сумма с учетом первоначальных наценок и скидок, без сервисного сбора, промокода и абонементной кампании, - priceReturn - максимальная сумма возврата - CertificatePermitted - Место можно оплачивать сертификатом.
- IDSpectator Идентификатор зрителя. - NameSpektator ФИО зрителя - TelSpektator Телефон зрителя - EmailSpektator Email зрителя - CityName - Город зрителя, - Gender - Пол зрителя (0 - не указан, 1 - женский пол, 2 мужской пол, 3 - неопределен) - BirthDate - Дата рождения - Delivery Наличие/отсутствие доставки (1 есть доставка, 0 - нет доставки) - DeliveryDate - Предполагаемая дата доставки - Address - Адрес доставки - MetroID - Идентификатор станции метро. - Metro - Наименование станции метро. - OfficeID - Идентификатор офиса. - OfficeName - Наименование офиса. - Notes - Комментарий - OrderID - Идентификатор заказа в БД сайта или платежной системе - DeliveryService - Идентификатор услуги доставки - session - Идентификатор сессии - ReservID - номер заказа (в случае ошибки равен 0) - Barcode - штрих-код места - ReservDate - дата "выкупа" заказа (в случае ошибки пустая) - ReservTime - время "выкупа" заказа (в случае ошибки пустое) - BlockTTL - Время блокировки заказа в секундах. (Время, в течение которого заказ блокирован для любых действий с ним, кроме как через шлюз) - PromoCodeID - Идентификатор промокода (если не указан во входных параметрах, то 0) - PromoPercent - Процент по промокоду (если указан Идентификатор промокода и промокод актуален, в противном случае - 0) - STCompanyDiscount - Процент скидки по абонементной кампании. - SupplierID - Идентификатор поставщика (Только для собственного сайта. Для стороннего сайта - поле пустое). - PushkinCard - Признак оплаты по Пушкинской карте - withQRCode - Флаг - покупатель подтверждает наличие QR кода о вакцинации, - DiscountProgramPercent - Процент скидки про дисконтной программе - VisitorDataDelayedInput - Флаг - данные посетителя будут переданы после покупки. - BenefitId - Идентификатор скидки - result_code - Код ошибки. - result_message - описание ошибки ReservDate и ReservTime - дата и время "выкупа" заказа. По истечение данного времени заказ считается "просроченным" и может быть снят сотрудниками театра/агентства либо автоматическим сервисом. На данный момент времени, заказы, оформленные на доставку автоматически не снимаются. После оплаты (метод SetSold) заказ не может быть снят и его дата и время "выкупа" становятся равной максимальной дате и времени мероприятий входящих в его состав.
[Подарочные сертификаты] - Number Номер (штрих-код) сертификата - Amount Номинал - StartDate Дата начала действия сертификата. - StopDate Дата окончания действия сертификата.
[Скидки] - BenefitId - идентификатор вида скидочной карты - BenefitCardId - Номер скидочной карты - BenefitDiscountPercent - Процент по скидочной карте - BenefitDiscountSum - Сумма скидки по скидочной карте (в случае скидки в твердой сумме) |
Обратите внимание! ➢При наличии доставки поля: "Delivery" "DeliveryDate", "Address" и "DeliveryService" являются обязательными! ➢После оформления зрителем заказа, если продажа не последует, следует сменить номер сессии для зрителя! ➢Признак заведомо оплачиваемого заказа устанавливается для того, чтобы отличить заказы которые могут быть проданы в кассе площадки, от тех которые будут оплачиваться электронно. У таких заказов дата выкупа заказа может быть меньше простых заказов и кроме разницы в дате выкупа заказы не отличаются. ➢По-умолчание заказ не имеет признак заведомо оплачиваемого. ➢Если к событиям, входящим в заказ, может быть примененима скидка по абонементой кfмпании, она будет рассчитана исходя из кол-ва мест, находящихся в заказе в текущий момент. При этом сумма скидки может измениться в последующем, если в заказ будут добавлены или удалены места. ➢Если событие имеет флаг QRCodeOnly - на событие допускаются только зрители с наличием QR кода о вакцинации, то поле withQRCode обязательно и должно быть равным 1. |
Обратите внимание! ➢на структуру данных при передаче списка сертификатов для оплаты! ➢на структуру передаваемых данных по сертификатам и скидкам! |
<GateReq> <ReqLogin> <!-- Имя пользователя и пароль для авторизации --> <UserName>User</UserName> <UserPass>Password</UserPass> </ReqLogin> <ReqBody> <InputRow NomBilKn="125" cod_sec="1" Row="1" Seat="1" NameSpektator="Иванов Иван" TelSpektator="+7(111)111-1144" EmailSpektator="ivanov@mail.ru" session="JF83325NKEDFBSAL829"/>
[<Certificates Number="124396531808071091"/>
<Certificates Number="113058751407531493"/>
<Discount BenefitId="24" BenefitCardNumber="01234567890" />] </ReqBody> </GateReq> |
<GateAnswer> <AnswerResult> <ResultCode>0</ResultCode><!-- Код ответа шлюза, общий для всего запроса--> <RecordCount>1</RecordCount><!-- Количество записей в возвращаемом "RecordSet-е" --> </AnswerResult> <AnswerBody> <Row NomBilKn="125" cod_sec="1" row="1" seat="1" price="1000" priceSell="1000" ReservID="2565" ReservDate="15.06.2026" ReservTime="19:00" NameSpektator="Иванов Иван" TelSpektator="+7(111)111-1144" EmailSpektator="ivanov@mail.ru" result_code="0" result_message="OK"/>
[ <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" DiscountPercent="5" DiscountSum="0.00" /> ] </AnswerBody> </GateAnswer> |