From f9161d866cab96764f77f046fd5f0b96eae25b44 Mon Sep 17 00:00:00 2001 From: "d.domrachev" Date: Fri, 22 Oct 2021 09:01:51 +0500 Subject: [PATCH 1/3] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=20declare(st?= =?UTF-8?q?rict=5Ftypes=3D1);=20=D0=B8=D0=B7=20=D0=BA=D0=BB=D0=B0=D1=81?= =?UTF-8?q?=D1=81=D0=B0=20EditServiceAvailableMeals.php?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/HotelsConnector.php | 14 ++++---------- .../Element/EditServiceAvailableMeals.php | 3 +-- src/HotelsConnector/Element/HotelInfo.php | 16 ++++++++++++++++ src/HotelsConnector/Enum/Currencies.php | 8 -------- tests/HotelsConnectorTest.php | 13 ++++++------- 5 files changed, 27 insertions(+), 27 deletions(-) delete mode 100644 src/HotelsConnector/Enum/Currencies.php diff --git a/src/HotelsConnector.php b/src/HotelsConnector.php index 4f08573..44e2a74 100644 --- a/src/HotelsConnector.php +++ b/src/HotelsConnector.php @@ -4,8 +4,6 @@ use Bronevik\HotelsConnector\Element as Element; use Bronevik\HotelsConnector\Enum\ClassMaps; -use Bronevik\HotelsConnector\Enum\Currencies; -use Bronevik\HotelsConnector\Enum\CurrencyCodes; use Bronevik\HotelsConnector\Enum\Endpoints; use Bronevik\HotelsConnector\Enum\Operations; use SoapClient; @@ -80,8 +78,7 @@ public function __construct( $endpoint, $secureEndpoint, $debugMode = false - ) - { + ) { $this->endpoint = $endpoint; $this->secureEndpoint = $secureEndpoint; $this->debugMode = (bool) $debugMode; @@ -333,8 +330,7 @@ public function searchHotelOffers( $hotelIds = [], $skipElements = [], $geolocation = null - ) - { + ) { $request = new Element\SearchHotelOffersRequest(); $this->fillRequest($request); @@ -708,8 +704,7 @@ public function searchHotelAvailability( Element\GeoLocation $geolocation = null, array $addElements = [], array $searchCriteria = [] - ) - { + ) { $request = new Element\SearchHotelAvailabilityRequest(); $this->fillRequest($request); @@ -766,8 +761,7 @@ public function getServiceAvailableCorrections( public function getServicePricing( $serviceId, Element\UpdateService $updateService - ) - { + ) { $request = new Element\GetServicePricingRequest(); $this->fillRequest($request); diff --git a/src/HotelsConnector/Element/EditServiceAvailableMeals.php b/src/HotelsConnector/Element/EditServiceAvailableMeals.php index 17e15cc..af852ac 100644 --- a/src/HotelsConnector/Element/EditServiceAvailableMeals.php +++ b/src/HotelsConnector/Element/EditServiceAvailableMeals.php @@ -1,9 +1,8 @@ -deepLink; } + + /** + * @return string + */ + public function getPaymentTerms() + { + return $this->paymentTerms; + } + + /** + * @param string $paymentTerms + */ + public function setPaymentTerms($paymentTerms) + { + $this->paymentTerms = $paymentTerms; + } } diff --git a/src/HotelsConnector/Enum/Currencies.php b/src/HotelsConnector/Enum/Currencies.php deleted file mode 100644 index 2c66b65..0000000 --- a/src/HotelsConnector/Enum/Currencies.php +++ /dev/null @@ -1,8 +0,0 @@ -currency = Currencies::RUSSIAN_RUBLE; + $request->currency = CurrencyCodes::RUB; $request->arrivalDate = $arrivalDate; $request->departureDate = $departureDate; $request->skipElements = new SkipElements(); @@ -238,7 +237,7 @@ public function testSearchHotelOffers_byHotelIds() $hotels = new Hotels(); $request = new SearchHotelOffersRequest(); - $request->currency = Currencies::RUSSIAN_RUBLE; + $request->currency = CurrencyCodes::RUB; $request->arrivalDate = $arrivalDate; $request->departureDate = $departureDate; $request->searchCriteria = $searchCriteria; @@ -277,7 +276,7 @@ public function testSearchHotelOffers_byCityId() $hotels = new Hotels(); $request = new SearchHotelOffersRequest(); - $request->currency = Currencies::RUSSIAN_RUBLE; + $request->currency = CurrencyCodes::RUB; $request->arrivalDate = $arrivalDate; $request->departureDate = $departureDate; $request->cityId = $cityId; @@ -335,7 +334,7 @@ public function testSearchHotelAvailability_byCityId() $hotels = [new HotelWithCheapestOffer()]; $request = new SearchHotelAvailabilityRequest(); - $request->currency = Currencies::RUSSIAN_RUBLE; + $request->currency = CurrencyCodes::RUB; $request->checkInDate = $checkinDate; $request->checkOutDate = $checkOutDate; $request->cityId = $cityId; @@ -374,7 +373,7 @@ public function testSearchHotelAvailability_byHotelIds() $hotels = [new HotelWithCheapestOffer()]; $request = new SearchHotelAvailabilityRequest(); - $request->currency = Currencies::RUSSIAN_RUBLE; + $request->currency = CurrencyCodes::RUB; $request->checkInDate = $checkinDate; $request->checkOutDate = $checkOutDate; $request->addElements = []; @@ -415,7 +414,7 @@ public function testSearchHotelAvailability_byGeolocation() $hotels = [new HotelWithCheapestOffer()]; $request = new SearchHotelAvailabilityRequest(); - $request->currency = Currencies::RUSSIAN_RUBLE; + $request->currency = CurrencyCodes::RUB; $request->checkInDate = $checkinDate; $request->checkOutDate = $checkOutDate; $request->addElements = []; From 6a27691b00323343201e6cb6f03750c19bb09f75 Mon Sep 17 00:00:00 2001 From: "d.domrachev" Date: Fri, 22 Oct 2021 10:35:51 +0500 Subject: [PATCH 2/3] fix README.md --- README.md | 1113 ++++++++++++++++++++++++++--------------------------- 1 file changed, 551 insertions(+), 562 deletions(-) diff --git a/README.md b/README.md index 3d141c7..e787fe7 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ - [Создание заказа](#Создание-заказа) - [Создание заказа с данными банковской карты](#Создание-заказа-с-данными-банковской-карты) - [Получение информации о заказе](#Получение-информации-о-заказе) + - [Получение счетов заказа](#Получение-счетов-заказа) - [Отмена (аннуляция) заказа](#Отмена-заказа) - [Поиск заказов](#Поиск-заказов) - [Услуги](#Услуги) @@ -39,7 +40,7 @@ - [Получение комментариев](#Получение-комментариев) - [Отправка комментариев](#Отправка-комментариев) - [Детализация предложения](#Детализация-предложения) - - [Обновление referenceId услуги](#Обновление-referenceId-услуги) + - [Онлайн коррекция услуги](#Онлайн-коррекция-услуги) - [Аннуляция услуг](#Аннуляция-услуг) - [Безрейтовый поиск](#Безрейтовый-поиск) - [Поиск по городу](#Поиск-по-городу) @@ -146,628 +147,275 @@ echo $connector->ping('Привет, Броневичок!'); // Привет, ### Справочники -#### Коррекция услуги +#### Получение списка стран Запрос: ```php setArrivalDate("2021-09-18"); // Коррекция даты заезда - $updateService->setDepartureDate("2021-09-22"); // Коррекция даты выезда - $updateService->setReferenceId(1); // Коррекция номера услуги в системе клиента - $addMeals = new \Bronevik\HotelsConnector\Element\MealIds(); - $addMeals->addMeal(1); // id услуги питания - $removeMeals = new \Bronevik\HotelsConnector\Element\MealIds(); - $removeMeals->addMeal(2); // id услуги питания - $updateService->setAddMeals($addMeals); // Добавить питание в услугу - $updateService->setRemoveMeals($removeMeals); // Удалить питание из услуги - $updateService->setCheckinHour(15); // Коррекция часа заезда - $updateService->setCheckoutHour(21); // Коррекция часа выезда - $updateService->setComment('Комментарий'); // Коррекция комментария к услуге - - $response = $connector->updateService($serviceId, $updateService); -``` - -Запрос для коррекции цены продажи: +/** @var Bronevik\HotelsConnector\Element\Countries $countries */ +$countries = $connector->getCountries(); +``` +Разбор результата: ```php setSellingPrice(100); // Цена продажи + +/** @var Bronevik\HotelsConnector\Element\Countries $countries */ +foreach ($countries as $country) { + $country->getId(); // 1 + $country->getName(); // Россия + + /** @var Bronevik\HotelsConnector\Element\CountryCodes $codes */ + $codes = $country->getCodes(); - $response = $connector->updateService($serviceId, $updateService); + $codes->getAlpha2(); // RU + $codes->getAlpha3(); // RUS +} ``` -Разбор результатов: +#### Получение списка городов + +Получение списка городов по стране ```php getOrder(); -$order->getId(); // Id заказа -$order->getComment(); // Комментарий к заказу, который был указан при создании -$order->getContactPerson(); // Контактное лицо -$order->getContactPhone(); // Контактный телефон -$order->getContactEmail(); // Контактный email - -/** @var Bronevik\HotelsConnector\Element\OrderServiceAccommodation $service */ -foreach ($order->getServices()->service as $service) { - $service->getId(); // Id услуги - $service->getDate(); // Дата создания услуги - $service->getComment(); // Комментарий к услуге, который был указан при создании - $service->getPaymentRecipient(); // Способ оплаты, возможные значения: \Bronevik\HotelsConnector\Enum\PaymentRecipients - $service->getIsBlockRoom(); // Блочный ли номер? - $service->getIsSharedRoom(); // Является ли номер номером с подселением? - $service->getRoomId(); // Id номера - $service->getCountryId(); // Id страны - $service->getCountryName(); // Название страны - $service->getCityId(); // Id города - $service->getCityName(); // Название города - $service->getHotelId(); // Id отеля - $service->getHotelName(); // Название отеля - $service->getReferenceId(); // Номер услуги в системе клиента - $service->getStatusId(); // Id статуса - $service->getStatusName(); // Название статуса - $service->getCheckin(); // Час заезда - $service->getCheckout(); // Час выезда - $service->getNonRefundable(); // Является ли тариф невозвратным? - $service->getOfferCode(); // Код предложения, с помощью которого оформлена услуга - $service->getOfferName(); // Название предложения - $service->getRoomType(); // Тип размещения - $service->getVATPercent(); // Ставка НДС - $service->getGuaranteeType(); // Тип гарантии - $service->getGuests(); // Гости услуги - $service->getPaymentTerms() // Условия оплаты - - // информация о тарифе - /** @var Bronevik\HotelsConnector\Element\RateType $rateType */ - $rateType = $service->getRateType(); - /** - * Название тарифа - * @see \Bronevik\HotelsConnector\Enum\RateTypeNames - */ - $rateType->getRateName(); - $rateType->getRateDescription(); // Описание тарифа - - /** @var Bronevik\HotelsConnector\Element\ServiceExtraField $serviceExtraField */ - // доп. поля для создания услуг - foreach ($service->getExtraField() as $serviceExtraField) { - $serviceExtraField->getName(); // Название - $serviceExtraField->getValue(); // Значение - } - // ежедневные цены - /** @var Bronevik\HotelsConnector\Element\DailyPrice $dailyPrice */ - foreach ($service->getDailyPrices()->dailyPrice as $dailyPrice) { - // аналогично dailyPrice в SearchHotelOffers - $dailyPrice->getDate(); // Дата, на которую рассчитана цена - $dailyPrice->getBookingFee(); // Стоимость брони в отеле - $dailyPrice->getEarlyArrival(); // Стоимость раннего заезда - $dailyPrice->getLateDeparture(); // Стоимость позднего выезда - $dailyPrice->getRate(); // Стоимость номера - } +/** @var Bronevik\HotelsConnector\Element\Cities $cities */ +$cities = $connector->getCitiesByCountryId(1); +``` - // гости - foreach ($service->getGuests() as $guest) { - /** @var Bronevik\HotelsConnector\Element\Guest $guest */ - echo $guest->getLastName() . ' ' . $guest->getFirstName(); - } +Получение списка городов по городам +```php +getCitiesByCityIds([1]); +``` - // договор, привязанный к услуге - /** @var Bronevik\HotelsConnector\Element\Contract $contract */ - $contract = $service->getContract(); - $contract->getId(); // Id договора - $contract->getNumber(); // Номер договора - $contract->getBeginsAt(); // Дата начала действия договора - $contract->getLegalEntity(); // Юридическое лицо +Разбор результата: +```php +getPriceDetails(); // аналогично как и для SearchHotelOffers - $service->getCancellationPolicies(); // аналогично как и для SearchHotelOffers - $service->getMeals(); // аналогично как и для SearchHotelOffers - $service->getOfferPolicies(); // аналогично как и для SearchHotelOffers +/** @var Bronevik\HotelsConnector\Element\Cities $cities */ +foreach ($cities->city as $city) { + $city->getId(); // 539 + $city->getName(); // Абаза + $city->getRegionId(); // 102 + $city->getRegionName(); // Хакасия + $city->getLatitude(); // 52.6439447 + $city->getLongitude(); // 90.1039492 + $city->getCountryId(); // 1 + $city->getCountryName() // Россия } ``` - -#### Получение стоимость услуги с учетом коррекции +#### Получение списка удобств Запрос: +```php +getAmenities(); +``` +Разбор результата: ```php setArrivalDate("2021-09-18"); // Коррекция даты заезда - $updateService->setDepartureDate("2021-09-22"); // Коррекция даты выезда - $updateService->setReferenceId(1); // Коррекция номера услуги в системе клиента - $addMeals = new \Bronevik\HotelsConnector\Element\MealIds(); - $addMeals->addMeal(1); // id услуги питания - $removeMeals = new \Bronevik\HotelsConnector\Element\MealIds(); - $removeMeals->addMeal(2); // id услуги питания - $updateService->setAddMeals($addMeals); // Добавить питание в услугу - $updateService->setRemoveMeals($removeMeals); // Удалить питание из услуги - $updateService->setCheckinHour(15); // Коррекция часа заезда - $updateService->setCheckoutHour(21); // Коррекция часа выезда - $updateService->setComment('Комментарий'); // Коррекция комментария к услуге - - $response = $connector->getServicePricing($serviceId, $updateService); + +/** @var Bronevik\HotelsConnector\Element\Amenities $amenities */ +foreach ($amenities->amenity as $amenity) { + $amenity->getId(); // 5 + $amenity->getName(); // Трансфер + $amenity->getGroupName(); // Общие услуги отеля +} ``` -Запрос для коррекции цены продажи: +#### Получение списка питания ```php setSellingPrice(100); // Цена продажи - - $response = $connector->updateService($serviceId, $updateService); + +/** @var Bronevik\HotelsConnector\Element\Meals $meals */ +$meals = $connector->getMeals(); ``` +Разбор результата: +```php +meal as $meal) { + $meal->getId(); // 2 + $meal->getName(); // Завтрак континентальный +} +``` + +### Поиск предложений отелей + +#### Простой запрос ```php getOrder(); -$order->getId(); // Id заказа -$order->getComment(); // Комментарий к заказу, который был указан при создании -$order->getContactPerson(); // Контактное лицо -$order->getContactPhone(); // Контактный телефон -$order->getContactEmail(); // Контактный email +$currency = \Bronevik\HotelsConnector\Enum\CurrencyCodes::RUB +/** @var Bronevik\HotelsConnector\Element\Hotels $hotelsWithOffers */ +$hotelsWithOffers = $connector->searchHotelOffers( + '2016-01-22', // дата заезда + '2016-01-24', // дата выезда, + $currency, // Валюта + 1 // Id города +); +``` -/** @var Bronevik\HotelsConnector\Element\OrderServiceAccommodation $service */ -foreach ($order->getServices()->service as $service) { - $service->getId(); // Id услуги - $service->getDate(); // Дата создания услуги - $service->getComment(); // Комментарий к услуге, который был указан при создании - $service->getPaymentRecipient(); // Способ оплаты, возможные значения: \Bronevik\HotelsConnector\Enum\PaymentRecipients - $service->getIsBlockRoom(); // Блочный ли номер? - $service->getIsSharedRoom(); // Является ли номер номером с подселением? - $service->getRoomId(); // Id номера - $service->getCountryId(); // Id страны - $service->getCountryName(); // Название страны - $service->getCityId(); // Id города - $service->getCityName(); // Название города - $service->getHotelId(); // Id отеля - $service->getHotelName(); // Название отеля - $service->getReferenceId(); // Номер услуги в системе клиента - $service->getStatusId(); // Id статуса - $service->getStatusName(); // Название статуса - $service->getCheckin(); // Час заезда - $service->getCheckout(); // Час выезда - $service->getNonRefundable(); // Является ли тариф невозвратным? - $service->getOfferCode(); // Код предложения, с помощью которого оформлена услуга - $service->getOfferName(); // Название предложения - $service->getRoomType(); // Тип размещения - $service->getVATPercent(); // Ставка НДС - $service->getGuaranteeType(); // Тип гарантии - $service->getGuests(); // Гости услуги - $service->getPaymentTerms() // Условия оплаты - - // информация о тарифе - /** @var Bronevik\HotelsConnector\Element\RateType $rateType */ - $rateType = $service->getRateType(); - /** - * Название тарифа - * @see \Bronevik\HotelsConnector\Enum\RateTypeNames - */ - $rateType->getRateName(); - $rateType->getRateDescription(); // Описание тарифа +#### Запрос с фильтрацией предложений - /** @var Bronevik\HotelsConnector\Element\ServiceExtraField $serviceExtraField */ - // доп. поля для создания услуг - foreach ($service->getExtraField() as $serviceExtraField) { - $serviceExtraField->getName(); // Название - $serviceExtraField->getValue(); // Значение - } +```php +getDailyPrices()->dailyPrice as $dailyPrice) { - // аналогично dailyPrice в SearchHotelOffers - $dailyPrice->getDate(); // Дата, на которую рассчитана цена - $dailyPrice->getBookingFee(); // Стоимость брони в отеле - $dailyPrice->getEarlyArrival(); // Стоимость раннего заезда - $dailyPrice->getLateDeparture(); // Стоимость позднего выезда - $dailyPrice->getRate(); // Стоимость номера - } +// Массив фильтров +$criteria = []; - // гости - foreach ($service->getGuests() as $guest) { - /** @var Bronevik\HotelsConnector\Element\Guest $guest */ - echo $guest->getLastName() . ' ' . $guest->getFirstName(); - } +// Фильтр предложений по категории отеля (количеству звёзд) +$criterion = new Bronevik\HotelsConnector\Element\SearchOfferCriterionHotelCategory(); +$criterion->addCategory(4); +$criterion->addCategory(5); +$criteria[] = $criterion; - // договор, привязанный к услуге - /** @var Bronevik\HotelsConnector\Element\Contract $contract */ - $contract = $service->getContract(); - $contract->getId(); // Id договора - $contract->getNumber(); // Номер договора - $contract->getBeginsAt(); // Дата начала действия договора - $contract->getLegalEntity(); // Юридическое лицо +// Фильтр предложений по количеству гостей +$criterion = new Bronevik\HotelsConnector\Element\SearchOfferCriterionNumberOfGuests(); +$criterion->setAdults(2); +$criteria[] = $criterion; - $service->getPriceDetails(); // аналогично как и для SearchHotelOffers - $service->getCancellationPolicies(); // аналогично как и для SearchHotelOffers - $service->getMeals(); // аналогично как и для SearchHotelOffers - $service->getOfferPolicies(); // аналогично как и для SearchHotelOffers -} -``` +// Фильтр предложений по возможности моментального подтверждения бронирования (онлайн) +$criterion = new Bronevik\HotelsConnector\Element\SearchOfferCriterionOnlyOnline(); +$criteria[] = $criterion; -#### Получение доступности коррекции для услуг +// фильтр по названию отеля +$criterion = new Bronevik\HotelsConnector\Element\SearchOfferCriterionHotelName(); +$criterion->setName('Название отеля'); +$criteria[] = $criterion; -Запрос: +// фильтр предложений по включенному завтраку +$criterion = new Bronevik\HotelsConnector\Element\SearchOfferCriterionBreakfastIncluded(); +$criteria[] = $criterion; -```php -addCorrectionType(\Bronevik\HotelsConnector\Enum\CorrectionTypes::MEALS); -$response = $connector->getServiceAvailableCorrections($serviceIds, $availableCorrectionTypes); +// фильтр предложений по способу оплаты +$criterion = new Bronevik\HotelsConnector\Element\SearchOfferCriterionPaymentRecipient(); +// в качестве paymentRecipient можно использовать только константы \Bronevik\HotelsConnector\Enum\PaymentRecipients +$criterion->addPaymentRecipient(Bronevik\HotelsConnector\Enum\PaymentRecipients::HOTEL); // оплата в отеле +$criterion->addPaymentRecipient(Bronevik\HotelsConnector\Enum\PaymentRecipients::AGENCY); // безналичный расчёт +$criteria[] = $criterion; + +$currency = \Bronevik\HotelsConnector\Enum\CurrencyCodes::RUB + +/** @var Bronevik\HotelsConnector\Element\Hotels $hotelsWithOffers */ +$hotelsWithOffers = $connector->searchHotelOffers( + '2016-01-22', // дата заезда + '2016-01-24', // дата выезда + $currency, // Валюта + 1, // Id города + $criteria // массив фильтров +); ``` -Разбор результатов: +#### Запрос предложений конкретных отелей ```php getEditService(); - $editService->getServiceId(); // Id услуги - - $arrivalDepartureDate = $editService->getArrivalDepartureDates(); // Информация о коррекции дат заезда/выезда - $arrivalDepartureDate->getArrivalDate(); // Дата заезда - $departureDate = $arrivalDepartureDate->getDepartureDate(); // Дата выезда - $departureDate->getMaxAvailableDate(); // Максимально доступная дата для коррекции - $departureDate->getMinAvailableDate(); // Минимально доступная дата для коррекции - /** @var Bronevik\HotelsConnector\Element\AvailableMeals $meals */ - $meals = $editService->getMeals(); // Доступность питания - - /** @var Bronevik\HotelsConnector\Element\AvailableMeal $meal */ - foreach($meals->meal as $meal) { - $meal->getId(); // Идентификатор услуги питания - $meal->getIncluded(); // Включена ли услуга в предложение - $meal->getVATPercent(); // Детализация услуги питания - $meal->getPriceDetails(); // Ставка НДС - } - - - $meals->getCorrectionAvailability()->isAdding(); // Доступно ли добавление услуг питания - $meals->getCorrectionAvailability()->isRemoving(); // Доступно ли удаление услуг питания - - $checkinCheckoutPrice = $editService->getCheckinCheckoutPrices(); // Цены и доступность РЗПВ - $checkin = $checkinCheckoutPrice->getCheckin(); // Информация о раннем заезде - $checkout = $checkinCheckoutPrice->getCheckout(); // Информация о позднем выезде - - $hoursPrice = $checkin->getHourPrice(); // Массив с ценами по часам. - /** @var Bronevik\HotelsConnector\Element\EditServiceHourPrice $hourPrice */ - foreach($hoursPrice as $hourPrice) - { - $hourPrice->getHour(); // Час - $hourPrice->getAvailabilityCode(); // Код доступности. - $hourPrice->getPriceDetails(); // Детализация часа. - } - - $correctionAvailability = $editService->getCorrectionAvailability(); // Информация о доступности коррекции - $correctionAvailability->getAvailableCorrectionNumber(); // Доступное количество коррекций - $correctionAvailability->getIsCorrectionAvailable(); // Доступна ли коррекция услуги - $correctionAvailability->getMeals(); // Доступна ли коррекция питания - $correctionAvailability->getCheckinHour(); // Доступна ли коррекция часов заезда - $correctionAvailability->getCheckoutHour(); // Доступна ли коррекция часов выезда - $correctionAvailability->getArrivalDate(); // Доступна ли коррекция даты заезда - $correctionAvailability->getDepartureDate(); // Доступна ли коррекция даты выезда - $correctionAvailability->getSellingPrice(); // Доступна ли коррекция свайп шкалы - $correctionAvailability->getComment(); // Доступна ли коррекция комментария - $correctionAvailability->getGuests(); // Доступна ли коррекция гостей - $correctionAvailability->getReferenceId(); // Доступна ли коррекция referenceId +/** + * Фильтр предложений по конкретным отелям (по ids отелей) + * Можно указать до 100 отелей + * @var int[] +*/ +$hotelIds = [1, 2, 3]; +$currency = \Bronevik\HotelsConnector\Enum\CurrencyCodes::RUB +/** @var Bronevik\HotelsConnector\Element\Hotels $hotelsWithOffers */ +$hotelsWithOffers = $connector->searchHotelOffers( + '2016-01-22', // дата заезда + '2016-01-24', // дата выезда + $currency, // Валюта + null, // Id города + [], // массив фильтров + $hotelIds // ids отелей +); ``` -#### Получение счетов заказа - -Запрос: +#### Поиск предложений по геокоординатам и радиусу ```php getOrderInvoices($orderId); -``` +$latitude = 30.1234; // широта +$longitude = 30.1234; // долгота +$radius = 12.1; // радиус в км (от 0 до 30 км, точность до 1 десятой) -Разбор результата: +$geolocation = new Bronevik\HotelsConnector\Element\GeoLocation(); -```php -/** @var Bronevik\HotelsConnector\Element\OrderInvoices $invoice */ -$orderInvoices->getId(); // id Заказа -$invoices = $orderInvoices->getInvoices(); // Счета заказа +$geolocation->latitude = $latitude; +$geolocation->longitude = $longitude; +$geolocation->radius = $radius; -/** @var Bronevik\HotelsConnector\Element\Invoice $invoice */ -foreach($invoices as $invoice) { - $invoice->getInvoiceLink(); // Временная ссылка для скачивания счета - $invoiceInfo = $invoice->getInvoiceInfo(); // Информация о счете - - /** @var Bronevik\HotelsConnector\Element\Info $info */ - foreach($invoiceInfo->getInfo() as $info) - { - $info->getName(); // Название параметра - $info->getValue(); // Значение параметра - } -} +$currency = \Bronevik\HotelsConnector\Enum\CurrencyCodes::RUB +/** @var Bronevik\HotelsConnector\Element\Hotels $hotelsWithOffers */ +$hotelsWithOffers = $connector->searchHotelOffers( + '2016-01-22', // дата заезда + '2016-01-24', // дата выезда + $currency, // Валюта + null, // Id города + [], // массив фильтров + [], // ids отелей + [], // skipElements + $geolocation +); ``` +#### Управление содержимым ответа -#### Получение списка стран - -Запрос: +Вы можете пропустить некоторые элементы в поиске: ```php getCountries(); -``` -Разбор результата: -```php -getId(); // 1 - $country->getName(); // Россия +// Все доступные для пропуска элементы для SearchHotelOffers - \Bronevik\HotelsConnector\Enum\SkipElementTypes::$availableSkipElementsForSearchHotelOffers +$currency = \Bronevik\HotelsConnector\Enum\CurrencyCodes::RUB; - /** @var Bronevik\HotelsConnector\Element\CountryCodes $codes */ - $codes = $country->getCodes(); - - $codes->getAlpha2(); // RU - $codes->getAlpha3(); // RUS -} +/** @var Bronevik\HotelsConnector\Element\Hotels $hotelsWithOffers */ +$hotelsWithOffers = $connector->searchHotelOffers( + '2016-01-22', // дата заезда + '2016-01-24', // дата выезда + $currency, // Валюта + 1, // Id города + [], // массив фильтров + [], // ids отелей + $skipElements // элементы для пропуска +); ``` -#### Получение списка городов - -Получение списка городов по стране +#### Отельное предложение ```php getCitiesByCountryId(1); -``` - -Получение списка городов по городам -```php -getCitiesByCityIds([1]); -``` - -Разбор результата: -```php -city as $city) { - $city->getId(); // 539 - $city->getName(); // Абаза - $city->getRegionId(); // 102 - $city->getRegionName(); // Хакасия - $city->getLatitude(); // 52.6439447 - $city->getLongitude(); // 90.1039492 - $city->getCountryId(); // 1 - $city->getCountryName() // Россия -} -``` - -#### Получение списка удобств - -Запрос: -```php -getAmenities(); -``` -Разбор результата: -```php -amenity as $amenity) { - $amenity->getId(); // 5 - $amenity->getName(); // Трансфер - $amenity->getGroupName(); // Общие услуги отеля -} -``` - -#### Получение списка питания -```php -getMeals(); -``` -Разбор результата: -```php -meal as $meal) { - $meal->getId(); // 2 - $meal->getName(); // Завтрак континентальный -} -``` - -### Поиск предложений отелей - -#### Простой запрос - -```php -searchHotelOffers( - '2016-01-22', // дата заезда - '2016-01-24', // дата выезда, - $currency, // Валюта - 1 // Id города -); -``` - -#### Запрос с фильтрацией предложений - -```php -addCategory(4); -$criterion->addCategory(5); -$criteria[] = $criterion; - -// Фильтр предложений по количеству гостей -$criterion = new Bronevik\HotelsConnector\Element\SearchOfferCriterionNumberOfGuests(); -$criterion->setAdults(2); -$criteria[] = $criterion; - -// Фильтр предложений по возможности моментального подтверждения бронирования (онлайн) -$criterion = new Bronevik\HotelsConnector\Element\SearchOfferCriterionOnlyOnline(); -$criteria[] = $criterion; - -// фильтр по названию отеля -$criterion = new Bronevik\HotelsConnector\Element\SearchOfferCriterionHotelName(); -$criterion->setName('Название отеля'); -$criteria[] = $criterion; - -// фильтр предложений по включенному завтраку -$criterion = new Bronevik\HotelsConnector\Element\SearchOfferCriterionBreakfastIncluded(); -$criteria[] = $criterion; - -// фильтр предложений по способу оплаты -$criterion = new Bronevik\HotelsConnector\Element\SearchOfferCriterionPaymentRecipient(); -// в качестве paymentRecipient можно использовать только константы \Bronevik\HotelsConnector\Enum\PaymentRecipients -$criterion->addPaymentRecipient(Bronevik\HotelsConnector\Enum\PaymentRecipients::HOTEL); // оплата в отеле -$criterion->addPaymentRecipient(Bronevik\HotelsConnector\Enum\PaymentRecipients::AGENCY); // безналичный расчёт -$criteria[] = $criterion; - -$currency = \Bronevik\HotelsConnector\Enum\CurrencyCodes::RUB - -/** @var Bronevik\HotelsConnector\Element\Hotels $hotelsWithOffers */ -$hotelsWithOffers = $connector->searchHotelOffers( - '2016-01-22', // дата заезда - '2016-01-24', // дата выезда - $currency, // Валюта - 1, // Id города - $criteria // массив фильтров -); -``` - -#### Запрос предложений конкретных отелей - -```php -searchHotelOffers( - '2016-01-22', // дата заезда - '2016-01-24', // дата выезда - $currency, // Валюта - null, // Id города - [], // массив фильтров - $hotelIds // ids отелей -); -``` - -#### Поиск предложений по геокоординатам и радиусу - -```php -latitude = $latitude; -$geolocation->longitude = $longitude; -$geolocation->radius = $radius; - -$currency = \Bronevik\HotelsConnector\Enum\CurrencyCodes::RUB - -/** @var Bronevik\HotelsConnector\Element\Hotels $hotelsWithOffers */ -$hotelsWithOffers = $connector->searchHotelOffers( - '2016-01-22', // дата заезда - '2016-01-24', // дата выезда - $currency, // Валюта - null, // Id города - [], // массив фильтров - [], // ids отелей - [], // skipElements - $geolocation -); -``` - -#### Управление содержимым ответа - -Вы можете пропустить некоторые элементы в поиске: - -```php -searchHotelOffers( - '2016-01-22', // дата заезда - '2016-01-24', // дата выезда - $currency, // Валюта - 1, // Id города - [], // массив фильтров - [], // ids отелей - $skipElements // элементы для пропуска -); -``` - -#### Отельное предложение - -```php -getHotel() as $hotelWithOffers) { - $hotelWithOffers->getId(); // Id отеля (например, 716) - $hotelWithOffers->getCityId(); // Id города (например, 1) - $hotelWithOffers->getCityName(); // Название города (например, Екатеринбург) - $hotelWithOffers->getName(); // Название отеля (например, Октябрьская) - $hotelWithOffers->getAddress(); // Адрес отеля (например, ул. Софьи Ковалевской, 17) - $hotelWithOffers->getCategory(); // Количество звезд в отеле (например, 4) - $hotelWithOffers->getCheckinTime(); // Расчётный час заезда (например, 12:00:00) - $hotelWithOffers->getCheckoutTime(); // Расчётный час выезда (например, 12:00:00) - $hotelWithOffers->getVatApplicable(); // Применим ли к отелю НДС? (например, true) - $hotelWithOffers->getVatIncluded(); // Включен ли НДС? (например, true) - $hotelWithOffers->getVATPercent(); // Процент НДС (например, 20) - $hotelWithOffers->getHasTaxes(); // Наличие в отеле дополнительных сборов (например, false) - $hotelWithOffers->getType(); // Тип отеля (например, hotel) +/** @var Bronevik\HotelsConnector\Element\Hotels $hotelsWithOffers */ +foreach ($hotelsWithOffers->getHotel() as $hotelWithOffers) { + $hotelWithOffers->getId(); // Id отеля (например, 716) + $hotelWithOffers->getCityId(); // Id города (например, 1) + $hotelWithOffers->getCityName(); // Название города (например, Екатеринбург) + $hotelWithOffers->getName(); // Название отеля (например, Октябрьская) + $hotelWithOffers->getAddress(); // Адрес отеля (например, ул. Софьи Ковалевской, 17) + $hotelWithOffers->getCategory(); // Количество звезд в отеле (например, 4) + $hotelWithOffers->getCheckinTime(); // Расчётный час заезда (например, 12:00:00) + $hotelWithOffers->getCheckoutTime(); // Расчётный час выезда (например, 12:00:00) + $hotelWithOffers->getVatApplicable(); // Применим ли к отелю НДС? (например, true) + $hotelWithOffers->getVatIncluded(); // Включен ли НДС? (например, true) + $hotelWithOffers->getVATPercent(); // Процент НДС (например, 20) + $hotelWithOffers->getHasTaxes(); // Наличие в отеле дополнительных сборов (например, false) + $hotelWithOffers->getType(); // Тип отеля (например, hotel) // Информация для гостя $informationForGuest = $hotelWithOffers->getInformationForGuest(); @@ -1302,23 +950,56 @@ $order = $connector->createOrderWithCardDetails($orderRequest); $order = $connector->getOrder(349007); ``` -#### Отмена заказа +#### Получение счетов заказа + +Запрос: ```php cancelOrder($order->getId()); +$orderId = 1; // id Заказа +$orderInvoices = $connector->getOrderInvoices($orderId); ``` -#### Поиск заказов +Разбор результата: ```php -getId(); // id Заказа +$invoices = $orderInvoices->getInvoices(); // Счета заказа -// критерии поиска -$criteria = []; +/** @var Bronevik\HotelsConnector\Element\Invoice $invoice */ +foreach($invoices as $invoice) { + $invoice->getInvoiceLink(); // Временная ссылка для скачивания счета + $invoiceInfo = $invoice->getInvoiceInfo(); // Информация о счете + + /** @var Bronevik\HotelsConnector\Element\Info $info */ + foreach($invoiceInfo->getInfo() as $info) + { + $info->getName(); // Название параметра + $info->getValue(); // Значение параметра + } +} + +``` + +#### Отмена заказа + +```php +cancelOrder($order->getId()); +``` + +#### Поиск заказов + +```php +getHotelOfferPricing($services, $currency); // объект услуги в ответе точно такой же как и при создании заказа ``` -#### Обновление referenceId услуги +### Онлайн коррекция услуги + + +#### Коррекция услуги + +Запрос: + +```php +setArrivalDate("2021-09-18"); // Коррекция даты заезда + $updateService->setDepartureDate("2021-09-22"); // Коррекция даты выезда + $updateService->setReferenceId(1); // Коррекция номера услуги в системе клиента + $addMeals = new \Bronevik\HotelsConnector\Element\MealIds(); + $addMeals->addMeal(1); // id услуги питания + $removeMeals = new \Bronevik\HotelsConnector\Element\MealIds(); + $removeMeals->addMeal(2); // id услуги питания + $updateService->setAddMeals($addMeals); // Добавить питание в услугу + $updateService->setRemoveMeals($removeMeals); // Удалить питание из услуги + $updateService->setCheckinHour(15); // Коррекция часа заезда + $updateService->setCheckoutHour(21); // Коррекция часа выезда + $updateService->setComment('Комментарий'); // Коррекция комментария к услуге + + $response = $connector->updateService($serviceId, $updateService); +``` + +Запрос для коррекции цены продажи: + +```php +setSellingPrice(100); // Цена продажи + + $response = $connector->updateService($serviceId, $updateService); +``` + +Разбор результатов: + +```php +getOrder(); +$order->getId(); // Id заказа +$order->getComment(); // Комментарий к заказу, который был указан при создании +$order->getContactPerson(); // Контактное лицо +$order->getContactPhone(); // Контактный телефон +$order->getContactEmail(); // Контактный email + +/** @var Bronevik\HotelsConnector\Element\OrderServiceAccommodation $service */ +foreach ($order->getServices()->service as $service) { + $service->getId(); // Id услуги + $service->getDate(); // Дата создания услуги + $service->getComment(); // Комментарий к услуге, который был указан при создании + $service->getPaymentRecipient(); // Способ оплаты, возможные значения: \Bronevik\HotelsConnector\Enum\PaymentRecipients + $service->getIsBlockRoom(); // Блочный ли номер? + $service->getIsSharedRoom(); // Является ли номер номером с подселением? + $service->getRoomId(); // Id номера + $service->getCountryId(); // Id страны + $service->getCountryName(); // Название страны + $service->getCityId(); // Id города + $service->getCityName(); // Название города + $service->getHotelId(); // Id отеля + $service->getHotelName(); // Название отеля + $service->getReferenceId(); // Номер услуги в системе клиента + $service->getStatusId(); // Id статуса + $service->getStatusName(); // Название статуса + $service->getCheckin(); // Час заезда + $service->getCheckout(); // Час выезда + $service->getNonRefundable(); // Является ли тариф невозвратным? + $service->getOfferCode(); // Код предложения, с помощью которого оформлена услуга + $service->getOfferName(); // Название предложения + $service->getRoomType(); // Тип размещения + $service->getVATPercent(); // Ставка НДС + $service->getGuaranteeType(); // Тип гарантии + $service->getGuests(); // Гости услуги + $service->getPaymentTerms() // Условия оплаты + + // информация о тарифе + /** @var Bronevik\HotelsConnector\Element\RateType $rateType */ + $rateType = $service->getRateType(); + /** + * Название тарифа + * @see \Bronevik\HotelsConnector\Enum\RateTypeNames + */ + $rateType->getRateName(); + $rateType->getRateDescription(); // Описание тарифа + + /** @var Bronevik\HotelsConnector\Element\ServiceExtraField $serviceExtraField */ + // доп. поля для создания услуг + foreach ($service->getExtraField() as $serviceExtraField) { + $serviceExtraField->getName(); // Название + $serviceExtraField->getValue(); // Значение + } + + // ежедневные цены + /** @var Bronevik\HotelsConnector\Element\DailyPrice $dailyPrice */ + foreach ($service->getDailyPrices()->dailyPrice as $dailyPrice) { + // аналогично dailyPrice в SearchHotelOffers + $dailyPrice->getDate(); // Дата, на которую рассчитана цена + $dailyPrice->getBookingFee(); // Стоимость брони в отеле + $dailyPrice->getEarlyArrival(); // Стоимость раннего заезда + $dailyPrice->getLateDeparture(); // Стоимость позднего выезда + $dailyPrice->getRate(); // Стоимость номера + } + + // гости + foreach ($service->getGuests() as $guest) { + /** @var Bronevik\HotelsConnector\Element\Guest $guest */ + echo $guest->getLastName() . ' ' . $guest->getFirstName(); + } + + // договор, привязанный к услуге + /** @var Bronevik\HotelsConnector\Element\Contract $contract */ + $contract = $service->getContract(); + $contract->getId(); // Id договора + $contract->getNumber(); // Номер договора + $contract->getBeginsAt(); // Дата начала действия договора + $contract->getLegalEntity(); // Юридическое лицо + + $service->getPriceDetails(); // аналогично как и для SearchHotelOffers + $service->getCancellationPolicies(); // аналогично как и для SearchHotelOffers + $service->getMeals(); // аналогично как и для SearchHotelOffers + $service->getOfferPolicies(); // аналогично как и для SearchHotelOffers +} +``` + + +#### Получение стоимость услуги с учетом коррекции + +Запрос: + +```php +setArrivalDate("2021-09-18"); // Коррекция даты заезда + $updateService->setDepartureDate("2021-09-22"); // Коррекция даты выезда + $updateService->setReferenceId(1); // Коррекция номера услуги в системе клиента + $addMeals = new \Bronevik\HotelsConnector\Element\MealIds(); + $addMeals->addMeal(1); // id услуги питания + $removeMeals = new \Bronevik\HotelsConnector\Element\MealIds(); + $removeMeals->addMeal(2); // id услуги питания + $updateService->setAddMeals($addMeals); // Добавить питание в услугу + $updateService->setRemoveMeals($removeMeals); // Удалить питание из услуги + $updateService->setCheckinHour(15); // Коррекция часа заезда + $updateService->setCheckoutHour(21); // Коррекция часа выезда + $updateService->setComment('Комментарий'); // Коррекция комментария к услуге + + $response = $connector->getServicePricing($serviceId, $updateService); +``` +Запрос для коррекции цены продажи: + +```php +setSellingPrice(100); // Цена продажи + + $response = $connector->updateService($serviceId, $updateService); +``` + +Разбор результатов: -Для обновления услуги нужно воспользоваться методом updateService, который принимает на вход идентификатор услуги и referenceId. ```php getOrder(); +$order->getId(); // Id заказа +$order->getComment(); // Комментарий к заказу, который был указан при создании +$order->getContactPerson(); // Контактное лицо +$order->getContactPhone(); // Контактный телефон +$order->getContactEmail(); // Контактный email + +/** @var Bronevik\HotelsConnector\Element\OrderServiceAccommodation $service */ +foreach ($order->getServices()->service as $service) { + $service->getId(); // Id услуги + $service->getDate(); // Дата создания услуги + $service->getComment(); // Комментарий к услуге, который был указан при создании + $service->getPaymentRecipient(); // Способ оплаты, возможные значения: \Bronevik\HotelsConnector\Enum\PaymentRecipients + $service->getIsBlockRoom(); // Блочный ли номер? + $service->getIsSharedRoom(); // Является ли номер номером с подселением? + $service->getRoomId(); // Id номера + $service->getCountryId(); // Id страны + $service->getCountryName(); // Название страны + $service->getCityId(); // Id города + $service->getCityName(); // Название города + $service->getHotelId(); // Id отеля + $service->getHotelName(); // Название отеля + $service->getReferenceId(); // Номер услуги в системе клиента + $service->getStatusId(); // Id статуса + $service->getStatusName(); // Название статуса + $service->getCheckin(); // Час заезда + $service->getCheckout(); // Час выезда + $service->getNonRefundable(); // Является ли тариф невозвратным? + $service->getOfferCode(); // Код предложения, с помощью которого оформлена услуга + $service->getOfferName(); // Название предложения + $service->getRoomType(); // Тип размещения + $service->getVATPercent(); // Ставка НДС + $service->getGuaranteeType(); // Тип гарантии + $service->getGuests(); // Гости услуги + $service->getPaymentTerms() // Условия оплаты + + // информация о тарифе + /** @var Bronevik\HotelsConnector\Element\RateType $rateType */ + $rateType = $service->getRateType(); + /** + * Название тарифа + * @see \Bronevik\HotelsConnector\Enum\RateTypeNames + */ + $rateType->getRateName(); + $rateType->getRateDescription(); // Описание тарифа + + /** @var Bronevik\HotelsConnector\Element\ServiceExtraField $serviceExtraField */ + // доп. поля для создания услуг + foreach ($service->getExtraField() as $serviceExtraField) { + $serviceExtraField->getName(); // Название + $serviceExtraField->getValue(); // Значение + } -$serviceId = 123; // идентификатор услуги -$referenceId = 'referenceId'; // идентификатор услуги в системе клиента + // ежедневные цены + /** @var Bronevik\HotelsConnector\Element\DailyPrice $dailyPrice */ + foreach ($service->getDailyPrices()->dailyPrice as $dailyPrice) { + // аналогично dailyPrice в SearchHotelOffers + $dailyPrice->getDate(); // Дата, на которую рассчитана цена + $dailyPrice->getBookingFee(); // Стоимость брони в отеле + $dailyPrice->getEarlyArrival(); // Стоимость раннего заезда + $dailyPrice->getLateDeparture(); // Стоимость позднего выезда + $dailyPrice->getRate(); // Стоимость номера + } -$response = $connector->updateService($serviceId, $referenceId); + // гости + foreach ($service->getGuests() as $guest) { + /** @var Bronevik\HotelsConnector\Element\Guest $guest */ + echo $guest->getLastName() . ' ' . $guest->getFirstName(); + } -$response->getReferenceId(); // Обновленный referenceId -$response->getResult(); // результат обновления referenceId (true или false) + // договор, привязанный к услуге + /** @var Bronevik\HotelsConnector\Element\Contract $contract */ + $contract = $service->getContract(); + $contract->getId(); // Id договора + $contract->getNumber(); // Номер договора + $contract->getBeginsAt(); // Дата начала действия договора + $contract->getLegalEntity(); // Юридическое лицо + + $service->getPriceDetails(); // аналогично как и для SearchHotelOffers + $service->getCancellationPolicies(); // аналогично как и для SearchHotelOffers + $service->getMeals(); // аналогично как и для SearchHotelOffers + $service->getOfferPolicies(); // аналогично как и для SearchHotelOffers +} +``` + +#### Получение доступности коррекции для услуг + +Запрос: + +```php +addCorrectionType(\Bronevik\HotelsConnector\Enum\CorrectionTypes::MEALS); +$response = $connector->getServiceAvailableCorrections($serviceIds, $availableCorrectionTypes); ``` +Разбор результатов: + +```php +getEditService(); + $editService->getServiceId(); // Id услуги + + $arrivalDepartureDate = $editService->getArrivalDepartureDates(); // Информация о коррекции дат заезда/выезда + $arrivalDepartureDate->getArrivalDate(); // Дата заезда + $departureDate = $arrivalDepartureDate->getDepartureDate(); // Дата выезда + $departureDate->getMaxAvailableDate(); // Максимально доступная дата для коррекции + $departureDate->getMinAvailableDate(); // Минимально доступная дата для коррекции + + /** @var Bronevik\HotelsConnector\Element\AvailableMeals $meals */ + $meals = $editService->getMeals(); // Доступность питания + + /** @var Bronevik\HotelsConnector\Element\AvailableMeal $meal */ + foreach($meals->meal as $meal) { + $meal->getId(); // Идентификатор услуги питания + $meal->getIncluded(); // Включена ли услуга в предложение + $meal->getVATPercent(); // Детализация услуги питания + $meal->getPriceDetails(); // Ставка НДС + } + + + $meals->getCorrectionAvailability()->isAdding(); // Доступно ли добавление услуг питания + $meals->getCorrectionAvailability()->isRemoving(); // Доступно ли удаление услуг питания + + $checkinCheckoutPrice = $editService->getCheckinCheckoutPrices(); // Цены и доступность РЗПВ + $checkin = $checkinCheckoutPrice->getCheckin(); // Информация о раннем заезде + $checkout = $checkinCheckoutPrice->getCheckout(); // Информация о позднем выезде + + $hoursPrice = $checkin->getHourPrice(); // Массив с ценами по часам. + /** @var Bronevik\HotelsConnector\Element\EditServiceHourPrice $hourPrice */ + foreach($hoursPrice as $hourPrice) + { + $hourPrice->getHour(); // Час + $hourPrice->getAvailabilityCode(); // Код доступности. + $hourPrice->getPriceDetails(); // Детализация часа. + } + + $correctionAvailability = $editService->getCorrectionAvailability(); // Информация о доступности коррекции + $correctionAvailability->getAvailableCorrectionNumber(); // Доступное количество коррекций + $correctionAvailability->getIsCorrectionAvailable(); // Доступна ли коррекция услуги + $correctionAvailability->getMeals(); // Доступна ли коррекция питания + $correctionAvailability->getCheckinHour(); // Доступна ли коррекция часов заезда + $correctionAvailability->getCheckoutHour(); // Доступна ли коррекция часов выезда + $correctionAvailability->getArrivalDate(); // Доступна ли коррекция даты заезда + $correctionAvailability->getDepartureDate(); // Доступна ли коррекция даты выезда + $correctionAvailability->getSellingPrice(); // Доступна ли коррекция свайп шкалы + $correctionAvailability->getComment(); // Доступна ли коррекция комментария + $correctionAvailability->getGuests(); // Доступна ли коррекция гостей + $correctionAvailability->getReferenceId(); // Доступна ли коррекция referenceId + +``` + + #### Аннуляция услуг Для аннуляции услуг нужно воспользоваться методом cancelServices, который принимает на вход массив идентификаторов услуг. From 1c1057ec1d972fd665d706455a2d5515618b358c Mon Sep 17 00:00:00 2001 From: "d.domrachev" Date: Fri, 22 Oct 2021 14:15:18 +0500 Subject: [PATCH 3/3] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20=D0=BF=D1=83=D0=BD=D0=BA=D1=82=20=D0=92=D0=B5=D1=80=D1=81?= =?UTF-8?q?=D0=B8=D0=BE=D0=BD=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=B2=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e787fe7..55b90b7 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Коннектор для SOAP-сервиса hotels-api.bronevik.com [![Build Status](https://travis-ci.org/bronevik-com/hotels-connector.svg?branch=master)](https://travis-ci.org/bronevik-com/hotels-connector) - +- [Версионирование](#Версионирование) - [Установка](#Установка) - [Требования](#Требования) - [Через Composer](#Через-composer) @@ -51,7 +51,8 @@ - [Ответ безрейтового поиска](#Ответ-безрейтового-поиска) - [Запрос цен за РЗПВ](#Запрос-цен-за-РЗПВ) - [Ошибки](#Ошибки) - +## Версионирование +Начиная с коннектора для версии API 2.5.0 изменилось версионирование. Для версий до 2.5.0 версия коннектора соответствовала версии API, теперь коннектор имеет свои теги: для API версии 2.5.0 опубликован коннектор 5.0.0 ## Установка ### Требования