Juniper Booking Engine XML Extranet WebService
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
Juniper Booking Engine XML Extranet WebService XML Extranet WebServices Interface January 22th, 2019 www.ejuniper.com Juniper España Innovating Travel Technology
Juniper Booking Engine Table of Contents 1. Foreword 3 About the Juniper Data Management Service 3 Additional information and support 3 About Juniper 3 Getting Started 4 2. Hotel Extranet API Definition 5 Generic Types 5 2.1.1. Attribute/Node formats 5 Generic request format 5 Hotel Extranet Transactions 6 2.3.1. ExtranetHotelList 6 2.3.2. ExtranetHotelRates 10 2.3.3. ExtranetHotelRatesUpdate 27 2.3.4. ExtranetReadBooking 44 3. Certification process 55 ExtranetHotelRatesUpdate 55 ExtranetReadBooking 56 4. FAQ 57 5. Appendix I – Exceptions 58 www.ejuniper.com 2 WebService Specification
Juniper Booking Engine 1. Foreword About the Juniper Data Management Service The Juniper Data Management Service was designed to help and facilitate the integration of third parties with the Juniper Intranet Booking Engine. The following guide is designed to provide a greater understanding of the Juniper DM Service and assist in development of web service solutions based on the BookingEngine Intranet. Webservices are used in order to automate the administrative tasks normally developed by humans. This has the following positive impacts: ◼ Elimination of workflow. ◼ Elimination of human errors. On the other hand we encounter the following negative impacts: ◼ Elimination of human assessment In addition, XML, which is used to communicate between systems, is only a formatted text format to pass information, but it does not automatically resolve any problems if errors occur. This guide assumes the following: ◼ Familiarity with XML schemas and specifications Through the utilization of the Juniper Webservices, clients (i.e. web applications, handheld devices, etc.) can connect directly with the reservation system. Additional information and support Many sources of information, including online documentation, training and support services, exist to increase your knowledge and understanding of the Juniper Service: ◼ The World Wide Web Consortium (W3C) site. W3C is an international consortium where Member organisations, a full-time staff, and the public, work together to develop Web standards. ◼ Our Support staf will be always at your service to answer to your questions, at xml@ejuniper.com About Juniper We are a Team of professionals, experts in Internet Technology and in the Travel Industry, with Offices in Spain and the USA, offering a permanent quality and service commitment to all our clients, taking care of your needs in an environment which is in permanent change and evolution. We are leaders in providing solutions for Travel Companies established in North America, South America and in Europe, allowing us to investigate and develop new solutions in the most innovative markets and offer them to our clients globally, providing Travel Companies with exactly what their markets need and remain innovative in their own Industry. Our solutions are extremely easy to use and have been designed to be very intuitive, where we provide our clients with tools that give them complete freedom of action over the different Internet Sales Distribution Channels they might have, as well as over their own Website, thus Juniper giving them the opportunity to take a more proactive approach toward all the different Sales opportunities available in Internet. We offer Travel Companies all of the online tools, from dynamic information relating to each Product’s Sales www.ejuniper.com 3 WebService Specification
Juniper Booking Engine and the Management of all the Bookings, up to the Management of all the Content displayed on their Web as well as providing them with the possibility of designing their own Marketing Campaigns aimed at their customers and their repeat business. Travel companies have the opportunity to offer their own Inventory as well as complementary Inventory from external Suppliers, through completely transparent connections to their own Data Bases. In this way, they will be able to offer their clients a variety of services and dynamic packaging that was, until now, simply impossible to manage from one single Website. We can connect our clients to external Suppliers, Host to Host, offering a great variety of vacation products, like Accommodation from NT Incoming, Hotelbeds/Bedsonline, Tourico Holidays, Gullivers Travel, Mark Travel, AlliedTPro, Transhotel, ATI, JonView, Packages from Wholesalers like Soltour or Marsol, Flights through the GDS of Galileo, or Rent a Car services, from Hotelbeds, Gullivers, etc, and many other touristic products. Getting Started The first step is to contact with the Juniper supplier to which you wish to connect, in order to supply them with the following information: ◼ Company name and primary technical contact (name, title, phone and email) ◼ Services that you wish to have access to And consequently reach an agreement in regards of the connection. Once an agreement has been reached in this regard, the next step is to supply us (Juniper) with the following information: ◼ IP address from where you will be accessing So that we may configure you a set of test credentials for your development of the integration Additionally, keep in mind that you will be able to find this WebService under the HotelExtranetTransactions binding from the following endpoint: https://ClientURL/WebServiceJPDM/DataManagement.asmx (replacing “ClientURL” with the environment that you’re connecting to) For example, as for the test environment: https://juniper-uat.bookingengine.es/WebServiceJPDM/DataManagement.asmx Also note that you will be able to find its WSDL under: https://juniper-uat.bookingengine.es/WebServiceJPDM/DataManagement.asmx?WSDL Last of all, please note that, when using this WebService, it will be mandatory for your XML requests to allow for compressed responses. Please refer to the FAQ section for more information in this regard. www.ejuniper.com 4 WebService Specification
Juniper Booking Engine 2. Hotel Extranet API Definition Generic Types To continue we will indicate the most common types that are found in this document. 2.1.1. Attribute/Node formats Format description used in this document Format Type Short Description [Text] String Any characted or number (NVarchar) n[0..9] Integer 1...N recurrences of number. i.e.: 1, 60, 41050… Number with decimals separated by coma. Integer part: 1...N recurrences of number. n[0..9],2[0..9] Double Decimal part: 2 recurrences of number. i.e.: 1,00; 100,02; 300,99, … true / false Boolean Boolean value. yyyy-MM-ddThh:mm:ss DateTime Specifies date and time hh:mm:ss DateTime Specifies time yyyy-MM-dd Date Specifies date PnYnMnDTnHnMnS String Specifies duration Generic request format All of this WebService transactions share the following format, where XXXXXXX is the name of the transaction (i.e. HotelList making “ExtranetHotelList” and “HotelListRQ”) ---- Message ---- Node / Attribute (@) Opt Type Description www.ejuniper.com 5 WebService Specification
Juniper Booking Engine @Version N String Depends on the webservice. Default language on the response. All the error message will be @Language N String sent on English. Login N @Email N String Login provided by Juniper or the supplier. @Password N String Password provided by Juniper or the supplier. Hotel Extranet Transactions 2.3.1. ExtranetHotelList This petition allows you to get all the hotels and contracts related to your account. Request Node / Attribute (@) Opt Type Description Hotels N - List of hotels. Hotel N - Hotel @Code Y Integer Hotel code. @Name Y String Hotel name. You can search a part of a name. Contracts Y - List of contracts to filter inside of a hotel. Contract Y - Contract. @Code N Integer Contract code. Zones N - List of zones to filter the hotels. Zone N - Zone @Code N Integer Zone code. Categories N - List of categories to filter the hotels. Category N - Category @Code N Integer Category code. www.ejuniper.com 6 WebService Specification
Juniper Booking Engine Suppliers N - List of suppliers to filter the hotels. Supplier N - Supplier @Code N Integer Supplier code. Response TEST CM Mallorca Mallorca - Balearic Islands - Spain 1 1/2 Estrella Proveedor Dimámico Gran via asima 07004 2.66 39.60 CM Test 2016 2019-10-05 Triple per Adult Triple per Room www.ejuniper.com 7 WebService Specification
Juniper Booking Engine Bed&Breakfast Room Only Node / Attribute (@) Opt Type Description Hotels N - List of hotels. Hotel N - Hotel @Code N Integer Hotel code @JPCode Y String Juniper unique hotel code Name N String Hotel name. Zone N - Hotel zone. @Code N - Zone code. Name N - Zone name. CompleteName N - Zone complete name. Category N - Hotel category. @Code N - Category code. Name N - Category name. Provider N - Hotel provider. @Code N - Provider code. Name N - Provider name. AddressInformation N - Hotel address information. Address N String Address. PostalCode N String Postal code. Latitude Y Double Latitude of the hotel position. Longitude Y Double Longitude of the hotel position. Contracts Y - List of contracts to obtain. Contract Y - Contract. @Code N Integer Contract code. www.ejuniper.com 8 WebService Specification
Juniper Booking Engine @Active N Boolean If contract is available to book. @ExternalCode Y String External code. @Currency N String Currency code. @RecommendedPrices N Boolean Allow recommendes prices. @DirectPayment N Boolean Is direct payment. Indicates if the contract may be modified. If false, it will mean that this is a read only @ModificationsAllowed N Boolean contract purely meant for booking retrieval mapping purposes (meaning that you should not map que same with the intent of reading or updating its rates). Name N String Contract name. AllowModificationsTo N Date Maximum date in which modificatiosn are allowed. Season N - Contract season, dates of the contract. @From N Date From. @To N Date To. ChildrenAges N - Children age range for this contract. @FirstRangeFrom N Integer Starting this age, paxes are considered as children. @FirstRangeTo N Integer Maximun age for the first range. @SecondRangeTo Y Integer Maximun age for the second range. RoomTypes N - Room types of the contract. RoomType N - Room type. @Code N Integer Room-type code. @AdditionalFrom Y Integer Starting this adult, adults will be rated as additionals. Rooms can either be rated "by passenger" @PriceByRoom N Boolean or "by room" (in the later case, allowing a price for the whole room) @MaxPaxes Y Integer Maximum number of passangers (Adults, children and babies) allowed in this room @ExternalCode Y String External romm code Name N String Room-type name. Occupancies N - Possible passangers allowed. Occupancy N - Possible passangers. @MinAdults N Integer Minimum of adults. @MaxAdults N Integer Maximum of adults. @MinChildren N Integer Minimum of children. @MaxChildren N Integer Maximum of children. BoardTypes N - Board types of the contract. www.ejuniper.com 9 WebService Specification
Juniper Booking Engine BoardType N - Board type. @Code N Integer Board-type code. Name N String Board-type name. 2.3.2. ExtranetHotelRates This petition allows you to get the rates and allotment of a specific contract. Request Node / Attribute (@) Opt Type Description Hotels N - List of hotels to obtain. Hotel N - Hotel @Code N Integer Hotel code. Contracts N - List of contracts to obtain. Contract Y - Contract. @Code N Integer Contract code. Date N - Date period to obtain @From N Date Start date. @To N Date End date. Elements Y - Indicate the elements that will be present on the response. @Rates Y Boolean Rates. Default: True @Allotments Y Boolean Allotments. Default: True www.ejuniper.com 10 WebService Specification
Juniper Booking Engine @StopSales Y Boolean Stop sales. Default: True @Releases Y Boolean Releases. Default: True @Restrictions Y Boolean Restrictions. Default: True @Supplements Y Boolean Supplements. Default: True @Offers Y Boolean Offers. Default: True @AdditionalInfo Y Boolean AdditionalInfo. Deafult true Response www.ejuniper.com 11 WebService Specification
Juniper Booking Engine www.ejuniper.com 12 WebService Specification
Juniper Booking Engine Suplemento básico Basic supplement www.ejuniper.com 13 WebService Specification
Juniper Booking Engine Estancia corta Short stay Descuento Discount Early booking Early booking www.ejuniper.com 14 WebService Specification
Juniper Booking Engine Noches gratis Nights free Cambio de régimen Board upgrade Niños gratis Free child Piscina cerrada por reformas Pool closed due to renovations www.ejuniper.com 15 WebService Specification
Juniper Booking Engine Node / Attribute (@) Opt Type Description Hotels N - List of hotels. Hotel N - Hotel. @Code N Integer Contract code. Contracts N - List of contracts. Contract N - Contract. @Code N Integer Contract code. @Currency N String Price currency on this contract. Rates Y - List of rates. Rate Y - Rate. Detailed below. Allotments Y - List of allotments. Allotment Y - Allotment. Detailed below. StopSales Y - List of stop sales. StopSale Y - Stopsale. Detailed below. Releases Y - List of releases. Release Y - Release. Detailed below. Restrictions Y - List of restrictions. Restriction Y - Restriction. Detailed below. Supplements Y - List of supplements. Supplement Y - Supplement. Detailed below. Offers Y - List of offers. Offer Y - Offer. Detailed below. AdditionalInfo Y - List of dditional info. SpecialNotes Y - SpecialNotes. Detailed below. Rate It refers to the contract rates. Node / Attribute (@) Opt Type Description Indicates the rate type. Possible values: • Fixed: Additional and children prices will be @Type N String indicated on AdultAdditionals, ChildrenA and ChildrenB nodes on Price node. • Percentage: Additional prices will be calculated www.ejuniper.com 16 WebService Specification
Juniper Booking Engine using the Discounts node information. Dates N - List of dates to apply the prices. Date N - Date range. @From N Date Date where the rate will starts @To N Date Date where the rate will ends Prices N - List of prices. Price N - Price element. @RoomTypeCode N Integer Indicates the room type of the price. @BoardCode N Integer Indicates the board type of the price. Indicates the price type. Possible values: @Type N String • Cost • Recommended Price for the room. Only available on the room with price by Room Y - room. @Amount N Double Daily price for each room. Adult Y - Price per adult. @Amount N Double Daily price for each adult. AdultAdditionals Y - Price for additional adults. Only available on the Fixed rates. Daily price for each additional adult. There can be up to two AdultAdditional N - nodes. @Amount N Double Daily price for each additional adult. @Order N Integer Indicate if is the first additional (1) or second (and nexts) (2). ChildrenA Y - Price for range A children. Only available on the Fixed rates. ChildA N - Daily price for each child. There can be up to two nodes. @Amount N Double Daily price for each A child. @Order N Integer Indicate if is the first child (1) or second (and nexts) (2). ChildrenB Y - Price for range B children. Only available on the Fixed rates. ChildB N - Daily price for each child. There can be up to two nodes. @Amount N Double Daily price for each B child. @Order N Integer Indicate if is the first child (1) or second (and nexts) (2). Discounts for the additional passagers, respect the adult Discounts Y - price. Only available on the Percentage rates. www.ejuniper.com 17 WebService Specification
Juniper Booking Engine AdultAdditionals Y - Discount for additional adults. AdultAdditional N - Discount for additional adult. There can be up to two nodes. @Discount N Double Discount respect the adult price. @Order N Integer Indicate if is the first additional (1) or second (and nexts) (2). ChildrenA Y - Discount for range A children. ChildA N - Discount for range A child. There can be up to two nodes. @Discount N Double Discount respect the adult price. @Order N Integer Indicate if is the first child (1) or second (and nexts) (2). ChildrenB Y - Discount for range B children. ChildB N - Discount for range B child. There can be up to two nodes. @Discount N Double Discount respect the adult price. @Order N Integer Indicate if is the first additional (1) or second (and nexts) (2). Supplements N - Rate supplements. Supplement N - Supplement. BoardSupplement: Pay the supplement to change the board @Type N String type. @Active N Boolean Allways is active. @Mandatory N Boolean Allways is false. Base board code. To board upgrade, the passanger has to @BaseBoardCode Y Boolean pay the price for this board, plus the prices of this supplement. Boards Y - Board to upgrade. Board N - Board. @Code N Integer Board code. Prices Y - Supplements prices. Price N - Price. Possible values: @Type N String • Cost: Cost price. • Recommended: Recommended price Adult Y - Price per adult. @Amount N Double Daily price for each adult. www.ejuniper.com 18 WebService Specification
Juniper Booking Engine AdultAdditionals Y - Price for additional adults. Only available on the Fixed rates. Daily price for each additional adult. There can be up to two AdultAdditional N - nodes. @Amount N Double Daily price for each additional adult. @Order N Integer Indicate if is the first additional (1) or second (and nexts) (2). ChildrenA Y - Price for range A children. Only available on the Fixed rates. ChildA N - Daily price for each child. There can be up to two nodes. @Amount N Double Daily price for each A child. @Order N Integer Indicate if is the first child (1) or second (and nexts) (2). ChildrenB Y - Price for range B children. Only available on the Fixed rates. ChildB N - Daily price for each child. There can be up to two nodes. @Amount N Double Daily price for each B child. @Order N Integer Indicate if is the first child (1) or second (and nexts) (2). Babies Y - Price for baby. Baby N - Daily price for each baby. @Amount N Double Daily price for each baby. @Order N Integer Only value 1. Allotment It refers to the allotment. Node / Attribute (@) Opt Type Description RoomTypes N - List of room types of the allotment. RoomType N - Room type of the allotment. @Code N Integer Room type code Dates N - List of dates. Date N - Date node. There has to be at least one Date node. @From N Date From date. @To N Date To date. @BaseAllotment Y Integer Indicate the base allotment. www.ejuniper.com 19 WebService Specification
Juniper Booking Engine @NormalUsed Y Integer Allotment used by bookings. @ExtraAllotment Y Integer Extra allotment on the contract. @TotalAvailable Y Integer Total free allotment available to book. FreeSale indicator, on "true", there will be no limit to the @FreeSales Y Boolean allotment. Stopsale It refers to stop sales for some days. Node / Attribute (@) Opt Type Description List of room types that the stopsales applies. If missing, the RoomTypes Y - stopsale will apply to all the room types. RoomType Y - Room type to apply. @Code N Integer Room type code. Dates N - List of dates. Date N - Date node. There has to be at least one Date node. @From N Date From date. @To N Date To date. Possible values: • Close: It will not be possible to book. @Action N String • OnRequest: Booking will be created as “on request”. Release It refers to releases for some days. Node / Attribute (@) Opt Type Description List of room types. If missing, the stopsale will apply to all RoomTypes Y - the room types. RoomType Y - Room type to apply. @Code N Integer Room type code. Dates N - List of dates. Date N - Date node. There has to be at least one Date node. @From N Date From date. @To N Date To date. www.ejuniper.com 20 WebService Specification
Juniper Booking Engine @Days N Integer Day value of the release. Restriction It refers to restriccions for some days. Node / Attribute (@) Opt Type Description Restriction type. Possible values: • MinimumStay: Minimum stay restriction @Type N String • CheckinDays: Let’s you specify a set of weekdays where it won’t be allowed to checkin. • CheckoutDays: Let’s you specify a set of weekdays where it won’t be allowed to checkout LengthOfStay Y - Length of stay. Minimum number of night permited. Only applies on @MinNights Y Integer MinimumStay restrictions. Dates N - List of dates. Date N - Date node. There has to be at least one Date node. @From N Date Start date @To N Date End date Room types to apply. If missing, the restriction will apply to RoomTypes Y - all the room types. RoomType N - Room type. There can be multiple nodes. @Code N Integer Room type code. Board types to apply. If missing, the restriction will apply to Boards Y - all the board types. Board N - Board type. There can be multiple nodes. @Code N Integer Board type code. Days when the restriction will applied. If missing, the ApplicationDays Y - restriction will apply to all the days of the week. Week days that the restriction will be applied. Example “XX- --XX” means that restriction will applied on Monday, Tuesday, Saturday and Sunday. On MinimunStay restrictions means that the restriction will @WeekDays N String only apply if you stay one of these days of the week. On CheckinDays or CheckoutDays restrictions means that the checkins or checkouts are NOT allowed in these days of the week. @ApplyToCheckOut Y Boolean Indicate if it is necessary to apply on the check out day, too. www.ejuniper.com 21 WebService Specification
Juniper Booking Engine Only applies on CheckinDays restricions. Supplement It refers to the supplements Node / Attribute (@) Opt Type Description Supplement type. Possible values: • Basic: Basic supplement @Type N String • ShortStay: Supplement for short stays. • Special: Special supplement which is not possible to modify. @Code N Integer Supplement unique id. If supplement is not active, it will not be applied on the @Active N Boolean bookings. • BasePrice: Apply on the rate price. • BaseMeal: Apply on the rate price and meal plan @AplicationType N String supplement. • Total: Apply on the rate and other supplements and offers. @Mandatory N Boolean If the supplement is mandatory. Names N - Supplement name in the different languages. Name N - Name text. @Language N String Language. List of all dates of the supplement, not only between the Dates N - requested dates. Date N - Date node. There has to be at least one Date node. @From N Date Start date @To N Date End date Room types to apply. If missing, the supplement will apply RoomTypes Y - to all the room types. RoomType N - Room type. There can be multiple nodes. @Code N Integer Room type code. Board types to apply. If missing, the supplement will apply Boards Y - to all the board types. Board N - Board type. There can be multiple nodes. @Code N Integer Board type code. www.ejuniper.com 22 WebService Specification
Juniper Booking Engine LengthOfStay Y - Length of stay. Maximum number of night to apply the supplement. Only @MaxNights Y Integer applies on ShortStay supplements. Days when the supplement will applied. If missing, the ApplicationDays Y - supplement will apply to all the days of the week. Weekdays that the supplement will be applied. Example @WeekDays N String “XX---XX” means that supplement will applied on Monday, Tuesday, Saturday and Sunday. Prices N - Prices aplicated to the supplement. There can be multiple prices. It has only allowed a Percent Price N - node, a Room node, or an Adult, ChildrenA and ChildrenB nodes. • Cost: Cost price. @Type N String • Recommended: Recommended price Percent Y - Percent supplement. @Amount N Double Percent amount. Room Y - Room fixed price supplement. @Amount N Double Price amount. Adult Y - Adult fixed price supplement. @Amount N Double Price amount. ChildrenA Y - First range children price. ChildA Y - @Order N Integer Child order. @Amount N Double Price amount. ChildrenB Y - Second range children price. ChildB Y - @Order N Integer Child order. @Amount N Double Price amount. Offer It refers the offers for some days. Node / Attribute (@) Opt Type Description @Type N String Offer type. Possible values: www.ejuniper.com 23 WebService Specification
Juniper Booking Engine • FreePaxes: Some of the children will be free. • BoardUpgrade: Upgrade to a better board type with not charge. • FreeNights: If the client stay many days, some of them will be free. • LowerPrices: Discount on the price. • EarlyBooking: Early booking discount. • Special: Special offer which is not possible to modify. @Code N Integer Offer unique id. @Active N Boolean If offer is not active, it will not be applied on the bookings. • BasePrice: Apply on the rate price. • BaseMeal: Apply on the rate price and meal plan @AplicationType N String supplement. • Total: Apply on the rate and other supplements and offers. If two offer will be apply, the system choice the offer with @Priority N Integer lowest value in this field. If it is true, the booking allways have a non-refundable @NonRefundable N Boolean cancellation policy. @ApplyAdditionals N Boolean If the discount will be applied to the additional adults. @ApplyChildren N Boolean If the discount will be applied to the children. Names N - Offer name in the different languages. Name N - Name text. @Language N String Language. List of all dates of the offer, not only between the requested Dates N - dates. Date N - Date node. There has to be at least one Date node. @From N Date Start date @To N Date End date Room types to apply. If missing, the offer will apply to all the RoomTypes Y - room types. RoomType N - Room type. There can be multiple nodes. @Code N Integer Room type code. Board types to apply. If missing, the offer will apply to all the Boards Y - board types. Board N - Board type. There can be multiple nodes. www.ejuniper.com 24 WebService Specification
Juniper Booking Engine @Code N Integer Board type code. LengthOfStay Y - Length of stay. @MinNights Y Integer Minimum number of night to apply the offer. @MaxNights Y Integer Maximum number of night to apply the offer. Days when the offer will applied. If missing, the offer will ApplicationDays Y - apply to all the days of the week. Weekdays that the offer will applied. Example “XX---XX” @WeekDays N String means that offer will applied on Monday, Tuesday, Saturday and Sunday. If both offers can applied for the same days, the system will ApplyWithOffers N - apply both. The system will apply only two offers for the same day. Offer N - Other offer. @Code N Integer Offer code. The system will apply the offer if the user book in advance BookingInAdvance Y - the checkin day. Only apply for EarlyBooking. @MinDays Y Integer Minimum number of days prior the checkin day. @MaxDays Y Integer Maximum number of days prior the chekin day. The system will apply the offer only if the user book BookingDates Y - between these dates. Only apply for EarlyBooking. @From Y Date Minimum date. @To Y Date Maximum date. PaymentConditions Y - @PaymentDate Y Date Payment date. @Percentage Y Double Percentage Prices aplicated to the offer. Only apply to LowestPrice and Prices N - EarlyBooking. There can be multiple prices. It has only allowed a Percent Price N - node, a Room node, or an Adult, ChildrenA and ChildrenB nodes. • Cost: Cost price. @Type N String • Recommended: Recommended price • Discount: Discount. @BaseType N String • ReplaceRatePrice: Replace the rate prices. Percent Y - Percent supplement. www.ejuniper.com 25 WebService Specification
Juniper Booking Engine @Amount N Double Percent amount. Room Y - Room fixed price supplement. @Amount N Double Price amount. Adult Y - Adult fixed price supplement. @Amount N Double Price amount. ChildrenA Y - First range children price. ChildA Y - @Order N Integer Child order. @Amount N Double Price amount. ChildrenB Y - Second range children price. ChildB Y - @Order N Integer Child order. @Amount N Double Price amount. FreePaxes Y - Free paxes. Only apply to FreePaxes offer. ChildrenA Y - Free children of first range. ChildA Y - Free child. @Order N Double Order of free child. ChildrenB Y - Free children of second range. ChildB Y - Free child. @Order N Double Order of free child. Board upgrade information. Only apply on BoardUpgrade BoardUpgrade Y - offers. @BoardPayCode N Integer Board type that client pays. @BoardGetCode N Integer Board type that client obtains. FreeNights Y - Free nights information. Only apply on FreeNights offers. @Nights Y Date Every this number of nights. @Free Y Date The client can have this number of free nights. If the offer could apply many time in the same booking if the @ApplyOnce Y Boolean client stay many nights. SpecialNotes www.ejuniper.com 26 WebService Specification
Juniper Booking Engine It refers to special notes that apply to the contract. Node / Attribute (@) Opt Type Description Note N @From Y Date Start application date @To Y Date End application date Text N String Text @Language Y String Language of text. ISO2 2.3.3. ExtranetHotelRatesUpdate It refers to the request for updating the hotel rates and allotment. Request www.ejuniper.com 27 WebService Specification
Juniper Booking Engine Suplemento básico Basic supplement www.ejuniper.com 28 WebService Specification
Juniper Booking Engine Estancia corta Short stay Descuento Discount Early booking www.ejuniper.com 29 WebService Specification
Juniper Booking Engine Early booking Noches gratis Nights free Cambio de régimen Board upgrade Niños gratis Free child www.ejuniper.com 30 WebService Specification
Juniper Booking Engine Piscina cerrada por reformas Pool closed due to renovations Node / Attribute (@) Opt Type Description Contracts N - List of contracts to update. Contract N - Contract to update @Code N Integer Contract code. Rates Y - List of rates to change. Rate Y - Rate to change. Detailed below. Allotments Y - List of allotments to change. Allotment Y - Allotment to change. Detailed below. StopSales Y - List of stop sales to change. StopSale Y - Stopsale to change. Detailed below. Releases Y - List of releases to change. Release Y - Release to change. Detailed below. Restrictions Y - List of restrictions to change. Restriction Y - Restriction to change. Detailed below. Supplements Y - List of supplements. Supplement Y - Supplement. Detailed below. Offers Y - List of offers. Offer Y - Offer. Detailed below. AdditionalInfo Y - List of additional info. SpecialNotes Y - SpecialNotes. Detailed below. Rate It refers to the new rate. Once a rate has been created, it can’t be deleted. Node / Attribute (@) Opt Type Description www.ejuniper.com 31 WebService Specification
Juniper Booking Engine Indicates the rate type. Possible values: • Fixed: Additional and children prices will be indicated on AdultAdditionals, ChildrenA and @Type N String ChildrenB nodes on Price node. • Percentage: Additional prices would be calculated using the Discounts node information. Dates N - List of dates to apply the new prices. Date N - Date range. @From N Date Date where the rate will starts @To N Date Date where the rate will ends Prices N - List of new prices. Price N - Price element. @RoomTypeCode N Integer Indicates the room type of the price. @BoardCode N Integer Indicates the board type of the price. Indicates the price type. Possible values: @Type N String • Cost • Recommended Price for the room. Only available on the room with price by Room Y - room. @Amount N Double Daily price for each room. Adult Y - Price per adult. @Amount N Double Daily price for each adult. AdultAdditionals Y - Price for additional adults. Only available on the Fixed rates. Daily price for each additional adult. There can be up to two AdultAdditional N - nodes. @Amount N Double Daily price for each additional adult. @Order N Integer Indicate if is the first additional (1) or second (and nexts) (2). ChildrenA Y - Price for range A children. Only available on the Fixed rates. ChildA N - Daily price for each child. There can be up to two nodes. @Amount N Double Daily price for each A child. @Order N Integer Indicate if is the first child (1) or second (and nexts) (2). ChildrenB Y - Price for range B children. Only available on the Fixed rates. ChildB N - Daily price for each child. There can be up to two nodes. www.ejuniper.com 32 WebService Specification
Juniper Booking Engine @Amount N Double Daily price for each B child. @Order N Integer Indicate if is the first child (1) or second (and nexts) (2). Discounts for the additional passagers, respect the adult Discounts Y - price. Only available on the Percentage rates. AdultAdditionals Y - Discount for additional adults. AdultAdditional N - Discount for additional adult. There can be up to two nodes. @Discount N Double Discount respect the adult price. @Order N Integer Indicate if is the first additional (1) or second (and nexts) (2). ChildrenA Y - Discount for range A children. ChildA N - Discount for range A child. There can be up to two nodes. @Discount N Double Discount respect the adult price. @Order N Integer Indicate if is the first child (1) or second (and nexts) (2). ChildrenB Y - Discount for range B children. ChildB N - Discount for range B child. There can be up to two nodes. @Discount N Double Discount respect the adult price. @Order N Integer Indicate if is the first additional (1) or second (and nexts) (2). Supplements N - Rate supplements. Supplement N - Supplement. • BoardSupplement: Pay the supplement to @Type N String change the board type. @Active N Boolean Allways is active. @Mandatory N Boolean Allways is false. Base board code. To board upgrade, the passanger has to @BaseBoardCode Y Boolean pay the price for this board, plus the prices of this supplement. Boards Y - Board to upgrade. Board N - Board. @Code N Integer Board code. Prices Y - Supplements prices. Price N - Price. • Cost: Cost price. @Type N String • Recommended: Recommended price www.ejuniper.com 33 WebService Specification
Juniper Booking Engine Adult Y - Price per adult. @Amount N Double Daily price for each adult. AdultAdditionals Y - Price for additional adults. Only available on the Fixed rates. Daily price for each additional adult. There can be up to two AdultAdditional N - nodes. @Amount N Double Daily price for each additional adult. @Order N Integer Indicate if is the first additional (1) or second (and nexts) (2). ChildrenA Y - Price for range A children. Only available on the Fixed rates. ChildA N - Daily price for each child. There can be up to two nodes. @Amount N Double Daily price for each A child. @Order N Integer Indicate if is the first child (1) or second (and nexts) (2). ChildrenB Y - Price for range B children. Only available on the Fixed rates. ChildB N - Daily price for each child. There can be up to two nodes. @Amount N Double Daily price for each B child. @Order N Integer Indicate if is the first child (1) or second (and nexts) (2). Babies Y - Price for baby. Baby N - Daily price for each baby. @Amount N Double Daily price for each baby. @Order N Integer Only value 1. NOTE: It’s not possible to send the prices and the rate supplement for the same board type for the same rate. If you try to update the prices for a rate with supplements, but you don’t send the supplements, the supplements will be deleted. Allotment It refers to new allotment. Once allotment has been created, you have to set it to 0 in BaseAllotment in order to disable it. Node / Attribute (@) Opt Type Description RoomTypes N - List of room types of the new allotment. RoomType N - Roomtype of the new allotment. @Code N Integer Room type code Dates N - List of date periods. Date N - Date of the new allotment. www.ejuniper.com 34 WebService Specification
Juniper Booking Engine @From N Date From date. @To N Date To date. Indicate the base allotment. It cannot be lower than the @BaseAllotment Y Integer booked one. @FreeSales Y Boolean Indicate if there will be no limit to the allotment. Indicate the total available allotment. It cannot be sent with @BaseAllotment or @FreeSales. It cannot be lower than 0. @TotalAvailable Y Integer It will ajust the BaseAllotment value to change the availability. Stopsale It refers to new stop sales for some days, or open some days. Node / Attribute (@) Opt Type Description List of room types that the stopsales will apply. If missing, RoomTypes Y - the stopsale will apply to all the room types. RoomType Y - Room type to apply. @Code N Integer Room type code. Dates N - List of date periods. Date N - List of dates. There has to be at least one node @From N Date From date. @To N Date To date. Possible values: • Close: Days will be closed and it will not be possible to book. @Action N String • Open: Days will be opened deleting any preexisting stopsales in the process. • OnRequest: An on request stopsale will be. Booking will be created as on request. Release It refers to new release for some days. Once a release has been created, you have to set it to 0 in order to delete it. Node / Attribute (@) Opt Type Description List of room types that the release will apply. If missing, the RoomTypes Y - stopsale will apply to all the room types. RoomType Y - Room type to apply. @Code N Integer Room type code. www.ejuniper.com 35 WebService Specification
Juniper Booking Engine Dates N - List of date periods. Date N - List of dates. There has to be at least one node @From N Date From date. @To N Date To date. @Days N Integer New day value of the release. Restriction It refers to new restriccion for some days. - Once a MinimumStay restriction has been created, you have to overwrite it with a 0 MinNights one in order to delete it. - Once a CheckinDays restriction has been created, you have to overwrite it with a new one that allows all days in order to delete it. Node / Attribute (@) Opt Type Description Restriction type. Possible values: • MinimumStay: Create a minimum stay restriction. MinNights attribute will have to be indicated. @Type N String • CheckinDays: Let’s you specify a set of weekdays where it won’t be allowed to checkin. • CheckoutDays: Let’s you specify a set of weekdays where it won’t be allowed to checkout. LengthOfStay Y - Length of stay. Minimum number of night permited. Only applies on @MinNights Y Integer MinimumStay restrictions. Dates N - Dates to apply. Date N - List of dates. There has to be at least one node @From N Date From date. @To N Date To date. RoomTypes Y - Room types to apply. RoomType N - Room type. There can be multiple nodes. @Code N Integer Room type code. Boards Y - Board types to apply. Board N - Board type. There can be multiple nodes. @Code N Integer Board type code. ApplicationDays Y - Days when the restriction will applied. @WeekDays N String Week days that the restriction will be applied. Example “XX- www.ejuniper.com 36 WebService Specification
Juniper Booking Engine --XX” means that restriction will applied on Monday, Tuesday, Saturday and Sunday. On MinimunStay restrictions means that the restriction will only apply if you stay one of these days of the week. On CheckinDays or CheckoutDays restrictions means that the checkins or checkout are NOT allowed in these days of the week. Indicate if it is necessary to apply on the check out day, too. @ApplyToCheckOut Y Boolean Only applies on CheckinDays restricions. If you only send restrictions for some rooms or boards, it is allowed to book the rest of rooms and boards without restrictions. Supplement It refers to the supplements Node / Attribute (@) Opt Type Description Supplement type. Possible values: • Basic: Basic supplement @Type N String • ShortStay: Supplement for short stays. • Special: Special supplement which is not possible to modify. @Code N Integer Supplement unique id. If supplement is not active, it will not applied on the @Active N Boolean bookings. • BasePrice: Apply on the rate price. • BaseMeal: Apply on the rate price and meal plan @AplicationType N String supplement. • Total: Apply on the rate and other supplements and offers. @Mandatory N Boolean If the supplement is mandatory. Names N - Supplement name in the different languages. Name N - Name text. @Language N String Language. List of all dates of the supplement, not only between the Dates N - requested dates. Date N - Date node. There has to be at least one Date node. @From N Date Start date @To N Date End date Room types to apply. If missing, the supplement will apply RoomTypes Y - to all the room types. www.ejuniper.com 37 WebService Specification
Juniper Booking Engine RoomType N - Room type. There can be multiple nodes. @Code N Integer Room type code. Board types to apply. If missing, the supplement will apply Boards Y - to all the board types. Board N - Board type. There can be multiple nodes. @Code N Integer Board type code. LengthOfStay Y - Length of stay. Maximum number of night to apply the supplement. Only @MaxNights Y Integer applies on ShortStay supplements. Days when the supplement will applied. If missing, the ApplicationDays Y - supplement will apply to all the days of the week. Weekdays that the supplement will be applied. Example @WeekDays N String “XX---XX” means that supplement will applied on Monday, Tuesday, Saturday and Sunday. Prices N - Prices aplicated to the supplement. There can be multiple prices. It has only allowed a Percent Price N - node, a Room node, or an Adult, ChildrenA and ChildrenB nodes. • Cost: Cost price. @Type N String • Recommended: Recommended price. Only allowed in the contracts with recommended prices. Percent Y - Percent supplement. @Amount N Double Percent amount. Room Y - Room fixed price supplement. @Amount N Double Price amount. Adult Y - Adult fixed price supplement. @Amount N Double Price amount. ChildrenA Y - First range children price. ChildA Y - @Order N Integer Child order. @Amount N Double Price amount. ChildrenB Y - Second range children price. ChildB Y - www.ejuniper.com 38 WebService Specification
Juniper Booking Engine @Order N Integer Child order. @Amount N Double Price amount. Offer It refers the offers for some days. Node / Attribute (@) Opt Type Description Offer type. Possible values: • FreePaxes: Some of the children will be free. • BoardUpgrade: Upgrade to a better board type with not charge. • FreeNights: If the client stay many days, some of @Type N String them will be free. • LowerPrices: Discount on the price. • EarlyBooking: Early booking discount. • Special: Special offer which is not possible to modify. @Code N Integer Offer unique id. @Active N Boolean If offer is not active, it will not be applied on the bookings. • BasePrice: Apply on the rate price. • BaseMeal: Apply on the rate price and meal plan @AplicationType N String supplement. • Total: Apply on the rate and other supplements and offers. If two offer will be apply, the system choice the offer with @Priority N Integer lowest value in this field. If it is true, the booking allways have a non-refundable @NonRefundable N Boolean cancellation policy. @ApplyAdditionals N Boolean If the discount will be applied to the additional adults. @ApplyChildren N Boolean If the discount will be applied to the children. Names N - Offer name in the different languages. Name N - Name text. @Language N String Language. List of all dates of the offer, not only between the requested Dates N - dates. Date N - Date node. There has to be at least one Date node. @From N Date Start date www.ejuniper.com 39 WebService Specification
Juniper Booking Engine @To N Date End date Room types to apply. If missing, the offer will apply to all the RoomTypes Y - room types. RoomType N - Room type. There can be multiple nodes. @Code N Integer Room type code. Board types to apply. If missing, the offer will apply to all the Boards Y - board types. Board N - Board type. There can be multiple nodes. @Code N Integer Board type code. LengthOfStay Y - Length of stay. @MinNights Y Integer Minimum number of night to apply the offer. @MaxNights Y Integer Maximum number of night to apply the offer. Days when the offer will applied. If missing, the offer will ApplicationDays Y - apply to all the days of the week. Weekdays that the offer will applied. Example “XX---XX” @WeekDays N String means that offer will applied on Monday, Tuesday, Saturday and Sunday. If both offers can applied for the same days, the system will ApplyWithOffers N - apply both. The system will apply only two offers for the same day. Offer N - Other offer. @Code N Integer Offer code. The system will apply the offer if the user book in advance BookingInAdvance Y - the checkin day. Only apply for EarlyBooking. @MinDays Y Integer Minimum number of days prior the checkin day. @MaxDays Y Integer Maximum number of days prior the chekin day. The system will apply the offer only if the user book BookingDates Y - between these dates. Only apply for EarlyBooking. @From Y Date Minimum date. @To Y Date Maximum date. Prices aplicated to the offer. Only apply to LowestPrice and Prices N - EarlyBooking. There can be multiple prices. It has only allowed a Percent Price N - node, a Room node, or an Adult, ChildrenA and ChildrenB nodes. @Type N String • Cost: Cost price. www.ejuniper.com 40 WebService Specification
Juniper Booking Engine • Recommended: Recommended price. Only allowed in the contracts with recommended prices. • Discount: Discount. Only allowed in LowerPrices @BaseType N String offers. • ReplaceRatePrice: Replace the rate prices. Percent Y - Percent supplement. @Amount N Double Percent amount. Room Y - Room fixed price supplement. @Amount N Double Price amount. Adult Y - Adult fixed price supplement. @Amount N Double Price amount. ChildrenA Y - First range children price. ChildA Y - @Order N Integer Child order. Only allowed 1. @Amount N Double Price amount. ChildrenB Y - Second range children price. ChildB Y - @Order N Integer Child order. Only allowed 1. @Amount N Double Price amount. The value most be the same as ChildrenA. FreePaxes Y - Free paxes. Only apply to FreePaxes offer. ChildrenA Y - Free children of first range. ChildA Y - Free child. @Order N Double Order of free child. ChildrenB Y - Free children of second range. ChildB Y - Free child. @Order N Double Order of free child. Board upgrade information. Only apply on BoardUpgrade BoardUpgrade Y - offers. @BoardPayCode N Integer Board type that client pays. @BoardGetCode N Integer Board type that client obtains. FreeNights Y - Free nights information. Only apply on FreeNights offers. www.ejuniper.com 41 WebService Specification
Juniper Booking Engine @Nights Y Date Every this number of nights. @Free Y Date The client can have this number of free nights. If the offer could apply many time in the same booking if the @ApplyOnce Y Boolean client stay many nights. SpecialNotes It refers to the special notes that apply to the contract: Node / Attribute (@) Opt Type Description Note N @From Y Date Start application date @To Y Date End application date Text N String Text @Language Y String Language of text. ISO2 Response Ok response Error response Prices must be greater than zero www.ejuniper.com 42 WebService Specification
Juniper Booking Engine HotelRatesUpdateRS Response Detail Node / @attribute Opt Type Description @Url N String URL endpoint DateTim Response date and time. @TimeStamp N e Format: yyyy-MM-ddThh:mm:ss (UTC) @IntCode N String Internal control code Errors Y - Only if there are any problem Error N - Error @Code N String Error code. Refer to error table to have more information Text N String Error description www.ejuniper.com 43 WebService Specification
Juniper Booking Engine 2.3.4. ExtranetReadBooking It refers to the request that allows you to retrieve actual bookings. Request Node / Attribute (@) Opt Type Description SearchItems N - Search filters. Status of the booking. Possible values. • OK: Confirmed. @Status Y Enum • RQ: On request, pending supplier confirmation. • PP: Pay pending. • CN: Canceled. @Locator Y String Juniper locator. @ExternalLocator Y String Client booking line external locator. @AgencyLocator Y String Client locator. HolderName Y String Part of holder name. PassengerName Y String Part of a passanger name. CreationDate Y - Booking lines created between those dates. @From N Date Return booking lines created after this date. @To N Date Return booking lines created before this date. CheckinDate Y - Booking lines with checkin date between those dates. @From N Date Return checkin after this date. @To N Date Return checkin before this date. ModificationDate Y - Booking lines with last modification between those dates. @From N Date Return booking lines modified after this date. @To N Date Return booking lines with last modification before this date. Hotels Y - Hotels container. www.ejuniper.com 44 WebService Specification
Juniper Booking Engine Hotel N - Hotel container. Hotel code. Allows you the option of only retrieving the @Code N Integer bookings of a single hotel, otherwise, all of the applicable bookings from all of the hotels configured under the supplied credentials will be returned. Response Ok response 30 30 test test test test test test ES General Mon Port Estrellas 5s C/ Sol dirección nº 1 2 12 Alojamiento y Desayuno test1 -- Triple www.ejuniper.com 45 WebService Specification
Juniper Booking Engine test Invierno-Verano 2016 Charge 1 2017-09-18 2017-09-18 Charge 2 2017-09-18 2017-09-18 Error response
Juniper Booking Engine 0T13:02:17.6697525+01:00" IntCode="CN/5iKyE+/YlgboN9woy3Bog2GIxjlt7BlYxwI9lR2s="> Login fails - Invalid user or password ReadBookingRS Response Detail Node / @attribute Opt Type Description @Url N String URL endpoint. DateTim Response date and time. @TimeStamp N e Format: yyyy-MM-ddThh:mm:ss (UTC) @IntCode N String Internal control code. Errors Y - Only if there are any problem. Error N - Error. @Code N String Error code. Refer to error table to have more information. Text N String Error description. Reservations Y - Existing bookings. Reservation N String There can be multiple nodes. @Locator N String Booking locator. @Channel N String Booking channel. @Interface N String Booking interface. Status of the booking. Possible values: • OK: Confirmed. @Status N Enum • RQ: On request, pending supplier confirmation. • PP: Payment pending. • CN: Canceled. Holder N - Holder passanger. RelPax N - Holder passanger. @IdPax N Integer Id of holder pax from Paxes list. Paxes N - Passagers on the booking. www.ejuniper.com 47 WebService Specification
Juniper Booking Engine @Adults N Integer Number of adults. @Children N Integer Number of children. Pax N - Passanger. There can be multiple nodes. @IdPax N Integer Id of pax. Age Y Integer Pax’s age. Name Y String Pax’s name. Surname Y String Pax’s surname. Address Y String Address information. City Y String City. Country Y String Country. PostalCode Y String Postal code. Nationality Y String Pax’s nationality. BookingRemarks N String Booking remarks. Agency N - Agency information. ExternalLocator N String External locator. Market N String Market. Code N String Code. Name N String Name. PhoneNumber N - Agency phone number. @Value N String Phone number. Items N - Booking lines in the booking. HotelItem N - HotelItem of the booking. Detailed below. There can be multiple nodes. HotelItem It refers to the item of the booking. Node / Attribute (@) Opt Type Description @Start N Date Check-in day. @End N Date Check-out day. @ItemId N Integer Internal item id. www.ejuniper.com 48 WebService Specification
Juniper Booking Engine • OK: Confirmed. • CA: Canceled. • AV: Available, but not confirmed. @Status N Enum • RQ: On request, pending supplier confirmation. • RP: Canceled replaced by another booking. • SO: Sold out. DateTim @ReservationDate N Reservation date. e DateTim @ModificationDate N Last modification date. e TimeZone on which the dates of the booking are being @TimeZone Y String supplied. HotelInfo N - Hotel information. @Code N String Hotel code. @JPCode Y String Hotel JP code. @ExternalCode Y String Hotel external code. @DestinationZone Y Integer Destination code. Name Y String Hotel name. Description Y String Hotel description. HotelCategory Y String Hotel category. @Type N String Hotel category code. Address Y String Hotel address. ChildrenAges Y - Children ages range. ChildrenAgeFrom Y Integer Children from. ChildrenAgeTo Y Integer Children to. Board N - Booking board type. @Code N String Board type code Name N String Board type name. Supplier Y - Supplier information. @Code N String Supplier code. @IntCode N String Supplier internal code. Name N String Supplier name. www.ejuniper.com 49 WebService Specification
Juniper Booking Engine HotelRooms N - Booked hotel rooms. HotelRoom N - Hotel room. There can be multiple nodes. @Code N String Room type code. @ExternalCode N String Room type external code. Code of room in the booking. Used to related it with other @Source N String information. Name N String Room type name. Description Y String Room type description. RoomCategory Y String Room category. @Type N String Room category type. RelPaxes N - Paxes of this room. RelPax Y - There can be multiple nodes. @IdPax N Integer Pax code, defined in Reservation/Paxes/Pax. AdditionalElements Y - Additional information. HotelSupplements Y - Supplements applied in the booking. HotelSupplement Y String Supplement. There can be multiple nodes. @Code Y String Supplement code. @Class Y String Supplement class. @Type Y String Supplement type. @Category Y String Supplement category code. @SpecialType Y String Special type supplement. @DirectPayment Y Boolean Direct payment in the hotel. @NonRefundable Y Boolean Non-refundable. @Optional Y Boolean Optional. @Begin Y Date Begin. @End Y Date End. @Amount Y Double Price amount. @Currency Y String Price currency. @Duration Y String Duration. Name Y String Supplement name. www.ejuniper.com 50 WebService Specification
Juniper Booking Engine Description Y String Supplement description. ExportCodes Y - Exportation codes. @AdultCode Y String Code for adults. @ChildCode1 Y String Code for children. @ChildCode2 Y String Second code for children. @SeniorCode Y String Code for senior. ChildrenAges Y String Children ages. ChildrenAgeFrom Y Integer Children from. ChildrenAgeTo Y Integer Children to. HotelOffers Y - Offers applied in the booking. HotelOffers Y String Offer. There can be multiple nodes. @Code Y String Offer code. @Class Y String Offer class. @Type Y String Offer type. @Category Y String Offer category code. @SpecialType Y String Special type offer. @DirectPayment Y Boolean Direct payment in the hotel. @NonRefundable Y Boolean Non-refundable. @Optional Y Boolean Optional. @Begin Y Date Begin. @End Y Date End. @Amount Y Double Price amount. @Currency Y String Price currency. Name Y String Offer name. Description Y String Offer description. ClientRemarks Y String Client remarks. InternalRemarks Y String Internal remarks. HotelContracts Y - Hotel contracts information. HotelContract Y - Contract. There can be multiple nodes. www.ejuniper.com 51 WebService Specification
You can also read