SH Push, version 2.2 Release 2012:12

Similar documents
CASS & Airline User Manual

NHS Professionals System User Guide

Hip Hotel Tulum **** (Tulum) Hip Hotel Tulum

NAIPS Internet Service Authorised NOTAM Originator User Guide Version 3.0. (To be read in addition to NIS User Guide 3.0)

Product Specifications

LS-Data. Manual. Altenrhein Luftfahrt GmbH Office Park 3 Top 312 / Postfach 90 A-1300 Wien Flughafen

Playa Azul Golf Scuba Spa **** (Cozumel) Playa Azul Golf Scuba Spa

easycredit Integration Guide Version As of: About easycredit: General information about easycredit

myidtravel Functional Description

Module Objectives. Creating a Manual Fare Build

SIS Miscellaneous PDF Detail Listing Improvements

FareStar Ticket Window Product Functionality Guide

CruisePay Enhancements for 2005 Training Guide Version 1.0

Grand Oasis Cancún ***** (Cancún)

Travel Agent - User Guide

2018 PSO Profile Highlights and Tips. December 18, :00 3:00 PM

Virgin Australia s Corporate Booking Portal User Guide

IRCTCC RAIL CONNECT ANDROID APP

Product information & MORE. Product Solutions

myldtravel USER GUIDE

S-Series Hotel App User Guide

Welcome to Air Tickets

InHotel. Installation Guide Release version 1.5.0

Oasis Palm **** (Cancún)

Public. VR online user guide to travel agencies Autumn 2017

European Virtual Airlines

Grand Oasis Palm **** (Cancún)

Aviation Software. DFT Database API. Prepared by: Toby Wicks, Software Engineer Version 1.1

[ Taiwan High Speed Rail ] Tour Code: ATL181 ATL184

AirFrance KLM - AirShopping

VARIBLE COMMISSIONS OVERVIEW

APPROVED BY: Director of the Sales Department of PJSC Aeroflot on May 30, 2016

Sabre: Refund and Exchange Customer Questions

Configuring a Secure Access etrust SiteMinder Server Instance (NSM Procedure)

USER GUIDE DOCUMENT VIETJET AIR FLIGHTVIEW

The Westin Resort & Spa ***** (Cancún)

Additional Boarding Setup and Daily Operations Guide

TRENITALIA DIRECT CONNECTION 18 May, 2016

2/11/2010 7:08 AM. Concur Travel Service Guide Southwest Direct Connect

British Airways Terms and Conditions Valid until 09th September 2018

SmartFares User Guide

DATA APPLICATION CATEGORY 25 FARE BY RULE

Bank Holiday Calculator (Oracle Package)

Virgin Atlantic Airways Limited Global BSP Agency Debit Memo Policy

New Distribution Capability (NDC)

Supports full integration with Apollo, Galileo and Worldspan GDS.

Condor Flugdienst GmbH Thomas Cook Group Airlines Agency Debit Memo (ADM) Last updated: 2018 November 25

MBTA-REALTIME API FOR PERFORMANCE DATA DOCUMENTATION (V 0.9)

Enrollment & Benefits

BLUE PANORAMA AIRLINES POLICY ON AGENT DEBIT MEMO (ADM)

Part 1. Part 2. airports100.csv contains a list of 100 US airports.

To display the REVNET tool see this section: HOW TO ACCESS REVNET

InHotel. Installation Guide Release version 1.6.0

Guidelines for Life Limited Part (LLP) Movement History Sheet

ELOQUA INTEGRATION GUIDE

PILOT PORTAL. User s Manual for registered users. of the COMSOFT Aeronautical Data Access System (CADAS) ARO Tallinn

USER GUIDE Cruises Section

Condor Flugdienst GmbH Thomas Cook Group Airlines Agency Debit Memo (ADM) Last updated: 2016 August, 23

Online Guest Accommodation Booking System

Paperless Aircraft Operations - IATA s Vision and Actions - Chris MARKOU IATA Operational Costs Management

HOTEL PROGRAM REQUIREMENTS.

Annex 5: Technical Terms and Conditions for Lot IV: Committee of the Regions

Concur Travel: Southwest Direct Connect

LogTen Pro API. logten://method/{json_payload}

2016 European Cruise Star Creator Trip Registration FAQs

Video Media Center - VMC 1000 Getting Started Guide

Lesson: Total Time: Content: Question/answer:

TILOS & P3 DATA INTERFACE PAUL E HARRIS EASTWOOD HARRIS PTY LTD. 24 July 2007

Quikticket User Guide. Add to favourites or access via

Fare conditions international train tickets. United Kingdom

Accompanied Travel Enhancements. Product Advisory. May 11, 2007

Agenda. Introduction of BA/Expedia disruption PoC. Use cases / Flow diagram

e-airportslots Tutorial

Air France KLM ADM Policy In compliance with IATA resolution 850m

Travelport Ticket Manager for Asia (TTMA) Version

e-ticketing and QREX Course (Revision 01)

DART. Duty & Recreation Travel STAFF TRAVEL SIMPLIFIED. Straightforward, easy to use staff travel management system for the airline industry

QuickTrav Invoicing Carbon Footprint (v1.7x8+)

Air France KLM ADM Policy In compliance with IATA resolution 850m

Tel: Fax: Abacus: W648 Galileo: QHJ Amadeus: HKGH Tel: Fax: Abacus: 1S18 Galileo: QHJ Amadeus: HKGH22339

Be fast with fares. Be first with customers

RV10 Weight and Balance

Cathay Pacific Airways. BSP Electronic Miscellaneous Document (EMD) for Travel Agents

Help Document for utsonmobile - Windows Phone

ICAO Bay of Bengal ATS Coordination Group ATFM Task Force

Release Note

Kristina Ricks ISYS 520 VBA Project Write-up Around the World

EXHIBITORS WITH BOOTH SPACE OVER 1501 SQ. FT.

MEMBERSHIP, ENTERING INTO AN AGREEMENT AND RESPONSIBILITIES OF THE COMPANY

Welcome to. Orientation. Travel Planners for the Finest Bands, Choirs and Orchestras in the World

This protocol is designed for the isolation of 96 plasmid DNA samples from 1.3ml bacterial cultures. Yield is up to 6µg.

Pelican AMR Gateway User Guide

SUPPLEMENT OCTOBER CITATION PERFORMANCE CALCULATOR (CPCalc) MODEL AND ON REVISION 8 68FM-S17-08

AIR MADAGASCAR ADM POLICY

PSS MVS 7.15 announcement

SUPPLEMENT AUGUST CITATION PERFORMANCE CALCULATOR (CPCalc) MODEL THRU FM-S51-00 S51-1 U.S.

BUFFALO AIRWAYS VIRTUAL

SUPPLEMENT 3 11 APRIL CITATION PERFORMANCE CALCULATOR (CPCalc) MODEL AND ON 510FM-S3-00 S3-1 U.S.

General Terms and Conditions (GTC) of Germania Fluggesellschaft mbh ("Germania")

Travelport Aggregated Shopping (TAS)

Transcription:

SH Push, version 2.2 Release 2012:12 This update of Push updates the following methods with support for release hour calendar information. SH.UpdateCalendarInformation EX.UpdateCalendarInformation SH.UpdateSuperDealCalendar EX.UpdateSuperDealCalendar SH.GetRoomTypeAvailability SH.GetSuperDealAvailability

Table of contents Introduction... 3 SH.GetRoomTypes... 4 SH.UpdateCalendarInformation... 6 SH.UpdateAvailability... 9 SH.StopSale... 10 SH.GetRoomTypeAvailability... 11 SH.AddSuperDealRoom... 13 SH.GetSuperDealRoomTypes... 14 SH.AddSuperDealCalendarDates... 16 SH.UpdateSuperDealCalendar... 18 SH.GetSuperDealAvailability... 20 SH.AddDiscount... 22 SH.DeleteDiscounts... 25 SH.GetDiscounts... 27 SH.GetBookings... 29 SH.GetBookingPriceBreakdown... 36 EX.GetRoomTypes... 38 EX.UpdateCalendarInformation... 40 EX.UpdateAvailability... 44 EX.StopSale... 46 EX.GetSuperDealRoomTypes... 47 EX.AddSuperDealCalendarDates... 49 EX.UpdateSuperDealCalendar... 51 EX.AddDiscount... 53 EX.DeleteDiscounts... 55 EX.GetDiscounts... 57 Sunhotels PUSH version 2.2 2

Introduction Overview The SH Push is available in two different versions, depending on how the inventory is connected to the Sunhotels system. The difference lies in how the items are identified in the system. For the providers using the extranet (manual loading), the ID:s are the ones from the Sunhotels system. For providers using file export/import the ID:s will be the ones provided by the provider. However, this implementation is designed differently for each implementation and any use of the functions cannot be done without assistance from Sunhotels. For providers using our extranet the functions in this document are the ones that starts with SH. For providers using file export/import the functions in this document are the ones that starts with EX. These prefix are NOT to be used calling the function, only to identify what functions to use in this documentation. SOAP / POST / GET SH Push is available using POST /GET or SOAP. The functionality will not differ depending on protocol. We have decided to expose the POST/GET and the SOAP interfaces on two different pages. Most of the documentation below will be based on the response from a GET request despite the fact that we recommend using SOAP since it s easier to understand the XML. It should however not be hard to understand how the SOAP response will work since it basically uses the same structure. Correct URL for the web service There exist two public web services that do basically the same work but are adjusted to if you want to make POST / GET / SOAP requests. POST / GET SOAP Using Sunhotels Ids /2.2/PostGet/PushWithSunHotelsId.asmx /2.2/SOAP/PushWithSunHotelsId.asmx Using Provider Ids /2.2/PostGet/PushWithProviderId.asmx /2.2/SOAP/PushWithProviderId.asmx Sunhotels PUSH version 2.2 3

SH.GetRoomTypes This function is used to get available room types for all or a single hotel in the system. Example URL /2.2/PostGet/PushWithSunHotelsId.asmx/GetRoomTypes?username=[username]&password=[passw ord]&shhotelid=[hotel Id] Function inputs The GetRoomTypes function is to be called with the following parameters. *: Required input Parameter name Description Valid Input Values *username *password shhotelid The username of the provider The password of the provider The Sunhotels internal id of the hotel to get room types for. Note: leave empty to get all available room types for all hotels. Integer representing a Sunhotels hotel ID Function output Specification of output of the GetRoomTypes method can be found at: /2.2/PostGet/PushWithSunHotelsId.asmx?op=GetRoomTypes Sunhotels PUSH version 2.2 4

XML output <?xml version="1.0" encoding="utf-8"?> <RoomTypeResponse> <!--The status of the response. 0 means success, a larger value than 0 means something is wrong.--> <StatusCode></StatusCode> <!--All hotels returned in the result--> <Hotels> <Hotel> <!--The internal Sunhotels hotel id. Can be used when only room types for one hotel is of interest--> <HotelId></HotelId> <!--The currency code used by the hotel--> <Currency></Currency> <!--The name of the hotel--> <HotelName></HotelName> <!--All room types that are available for the hotel--> <RoomTypes> <RoomType> <!--The internal Sunhotels room id--> <RoomId></RoomId> <!--The internal Sunhotels room type id--> <RoomTypeId></RoomTypeId> <!--The internal Sunhotels room group id--> <RoomGroupID></RoomGroupID> <!--The number of beds that are available for the room--> <Beds></Beds> <!--The number of extra beds that are available for the room--> <Extrabeds></Extrabeds> <!--The room type description--> <Description></Description> <!--Indicate if room is nonrefundable--> <Nonrefundable></Nonrefundable> <!--The internal room note--> <InternalRoomNote></InternalRoomNote> <!--Indicate if room has gross rates--> <GrossRates></GrossRates> <!--The room payment method(s)--> <RoomPaymentMethods> <RoomPaymentMethod Id="" Name=""/> </RoomPaymentMethods> </RoomType> </RoomTypes> </Hotel> </Hotels> </RoomTypeResponse> Sunhotels PUSH version 2.2 5

SH.UpdateCalendarInformation This function is used to update information (i.e. prices and availability) for a specific room. Example URL /2.2/PostGet/PushWithSunHotelsId.asmx/UpdateCalendarInformation?username=[username]&pass word=[password]&shroomid=[room id]&startdate=[start date]&enddate[end date]&price=[price]&currency=[currency code]&availability=[number of available rooms]&minimumstay=[minimum length of stay]&releasedays=[release days]&releasehour=[hour after midnight]&xbedadultrate=[extra bed adult price]&xbedchildrate=[extra bed child price]&includedboard=[included board]&breakfastadultprice=[adult breakfast price]&breakfastchildprice=[child breakfast price]&halfboardadultprice=[adult half board price]&halfboardchildprice=[child half board price]&fullboardadultprice=[adult full board price]&fullboardchildprice=[child full board price]&allincadultprice=[adult all inclusive price]& allincchildprice=[child all inclusive price]&updatesuperdealprices=[yes or no] Function inputs The UpdateCalendarInformation function is to be called with the following parameters. *: Required input **: Required input for creating new dates in calendar ***: Required input for creating new dates in calendar if room has extra beds > 0. ****: Required input for creating new dates in calendar if ReleaseDays = 0. Parameter name Description Valid Input Values * UserName The username of the provider * Password The password of the provider * RoomId The Sunhotels internal id of the room to update calendar information for. Note: Superdeal Room IDs can not be used. * StartDate The start of the time period that should be updated. * EndDate The end of the time period that should be updated. Integer representing a Sunhotels room ID A date in the format YYYY-MM- DD A date in the format YYYY-MM- DD ** Price Price per room per night. Empty or decimal number. * Currency The currency that all provided prices are specified in. String representing a currency code, e.g. EUR. ** Availability The number of available rooms. Note: Allotment updates on rooms within RoomGroups will be Integer representing the number of available rooms in the given time period. applied on all rooms within same RoomGroupID. ** MinimumStay The minimum length of stay. Integer Sunhotels PUSH version 2.2 6

** ReleaseDays The number of days before checkin the booking must be made. **** ReleaseHour The hour on arrival date the room is available until. Value can only be entered when ReleaseDays is set to 0. *** xbedadultrate Extra bed price for adults. Note: If the room has extra beds, xbedadultrate must be specified when creating new dates in Calendar. -1 will disable the extra bed for use of an adult if the room has extra beds. *** xbedchildrate Extra bed price for children, 2-11 years old. Note: If the room has extra beds, xbedchildrate must be specified when creating new dates in Calendar. ** IncludedBoard The included board. Note: Included meal option sets a limit on which additional meal options that are available. Only higher meal options than included are available as additional. I.e. if included is Half Board, only Full Board and All Inclusive are available as additional. A higher meal option must have a higher price; i.e. Half Board must be more expensive than Breakfast. Note: If includedboard and/or any additional meal option is specified ALL additional mealoptions and IncludedBoard must be specified. ** BreakfastAdultPrice The adult price for additional meal breakfast. Note: If includedboard and/or any additional meal option is specified ALL additional mealoptions and IncludedBoard must be specified. ** BreakfastChildPrice The child price for additional meal breakfast. Note: If includedboard and/or any additional meal option is specified ALL additional mealoptions and IncludedBoard must be specified. ** HalfBoardAdultPrice The adult price for additional meal half board. Note: If includedboard and/or any additional meal option is specified ALL additional mealoptions and IncludedBoard must be specified. Integer Integer, 0-18 Decimal number or Empty Decimal number or Empty String representing the included board. Valid values are: None, Breakfast, Half_Board, Full_Board and All. Empty or decimal number. Empty or decimal number. Empty or decimal number. Sunhotels PUSH version 2.2 7

** HalfBoardChildPrice The child price for additional meal half board. Note: If includedboard and/or any additional meal option is specified ALL additional mealoptions and IncludedBoard must be specified. ** FullBoardAdultPrice The adult price for additional meal full board. Note: If includedboard and/or any additional meal option is specified ALL additional mealoptions and IncludedBoard must be specified. ** FullBoardChildPrice The child price for additional meal full board. Note: If includedboard and/or any additional meal option is specified ALL additional mealoptions and IncludedBoard must be specified. ** AllIncAdultPrice The adult price for additional meal all inclusive. Note: If includedboard and/or any additional meal option is specified ALL additional mealoptions and IncludedBoard must be specified. ** AllIncChildPrice The child price for additional meal all inclusive. Note: If includedboard and/or any additional meal option is specified ALL additional mealoptions and IncludedBoard must be specified. * UpdateSuperDealPrices Apply price changes to Superdeal room if one exists. Empty or decimal number. Empty or decimal number. Empty or decimal number. Empty or decimal number. Empty or decimal number. yes or no Function output Specification of output of the UpdateCalendarInformation method can be found at: /2.2/PostGet/PushWithSunHotelsId.asmx?op=UpdateCalendarInformation XML output <?xml version="1.0" encoding="utf-8"?> <UpdateResponse> <!--The status of the response. 0 means success, a larger value than 0 means that something went wrong when trying to make the update.--> <StatusCode></StatusCode> </UpdateResponse> Sunhotels PUSH version 2.2 8

SH.UpdateAvailability This function is used to update availability for a room type without having to send price information. Example URL /2.2/PostGet/PushWithSunHotelsId.asmx/UpdateAvailability?username=[username]&password=[password]&s hroomid=[room id]&startdate=[start date]&enddate[end date]&availability=[number of available rooms] Function inputs The UpdateAvailability function is to be called with the following parameters. *: Required input Parameter name Description Valid Input Values *username *password *shroomid *startdate *enddate *availability The username of the provider The password of the provider The Sunhotels internal id of the room to update availability for. The start of the time period that should be updated. The end of the time period that should be updated. The number of available rooms. Note: Allotment updates on rooms within RoomGroups will be applied on all rooms within same RoomGroupID. Integer representing a Sunhotels room ID or a Sunhotels Superdeal room ID A date in the format YYYY-MM- DD A date in the format YYYY-MM- DD Integer representing the number of available rooms. Function output Specification of output of the UpdateAvailability method can be found at: /2.2/PostGet/PushWithSunHotelsId.asmx?op=UpdateAvailability XML output <?xml version="1.0" encoding="utf-8"?> <UpdateResponse> <!--The status of the response. 0 means success, a larger value than 0 means that something went wrong when trying to make the update.--> <StatusCode></StatusCode> </UpdateResponse> Sunhotels PUSH version 2.2 9

SH.StopSale This function is used to set availability to 0 for a time period selected room. Example URL /2.2/PostGet/PushWithSunHotelsId.asmx/StopSale?username=[username]&password=[password]&s hroomid=[room id]&startdate=[start date]&enddate[end date] Function inputs The StopSale function is to be called with the following parameters. *: Required input Parameter name Description Valid Input Values *username *password *shroomid *startdate *enddate The username of the provider The password of the provider he Sunhotels internal id of the room to stop sales for. Note: Stop Sale made on rooms within RoomGroups will be applied on selected dates for all rooms within same RoomGroupID. The start of the time period that should be stopped for sale. The end of the time period that should be stopped for sale. Integer representing a Sunhotels room ID or a Sunhotels Superdeal room ID A date in the format YYYY-MM- DD A date in the format YYYY-MM- DD Function output Specification of output of the UpdateAvailability method can be found at: /2.2/PostGet/PushWithSunHotelsId.asmx?op=UpdateAvailability XML output <?xml version="1.0" encoding="utf-8"?> <UpdateResponse> <!--The status of the response. 0 means success, a larger value than 0 means that something went wrong when trying to make the stop sale.--> <StatusCode></StatusCode> </UpdateResponse> Sunhotels PUSH version 2.2 10

SH.GetRoomTypeAvailability This function is used to get availability for a single room in the system. Example URL /2.2/PostGet/PushWithSunHotelsId.asmx/GetRoomTypeAvailability?username=[username]&passwo rd=[password]&startdate=[start date]&enddate=[end date]&shroomid=[room Id] Function inputs The GetRoomTypeAvailability function is to be called with the following parameters. *: Required input Parameter name Description Valid Input Values *username *password *startdate *enddate *shroomid The username of the provider The password of the provider The start of the time period that availability should be returned for. The end of the time period that availability should be returned for. The Sunhotels internal id of the room to get availability for. A date in the format YYYY-MM- DD A date in the format YYYY-MM- DD Integer representing a Sunhotels room ID Function output Specification of output of the GetRoomTypeAvailability method can be found at: /2.2/ PostGet/PushWithSunHotelsId.asmx?op=GetRoomTypeAvailability Sunhotels PUSH version 2.2 11

XML output <?xml version="1.0" encoding="utf-8"?> <AvailabilityResponse> <!--The status of the response. 0 means success, a larger value than 0 means something is wrong--> <StatusCode></StatusCode> <!--All roomtype availabilities returned in the result--> <RoomTypeAvailabilities> <RoomTypeAvailability> <!--The date of the availability--> <Date></Date> <!--The Sunhotels id of the room--> <RoomId></RoomId> <!--The price of the room--> <Rate></Rate> <!--The currency code of the rate--> <Currency></Currency> <!--The number of available units--> <AvailableUnits></AvailableUnits> <!--The number of days before checkin the reservation must be made--> <ReleaseDays></ReleaseDays> <!--The hour on arrival date the room is available until--> <ReleaseHour></ReleaseHour> <!--Minimum days to stay--> <MinimumStay></MinimumStay> <!--The number of beds for the room--> <Beds></Beds> <!--The number of extra beds for the room--> <ExtraBeds></ExtraBeds> <!--The name of the included board: "No meals", "Breakfast", "Half Board", "Full Board", or "All"--> <IncludedBoard></IncludedBoard> <!--The price for adult breakfast--> <AdultBreakfastPrice></AdultBreakfastPrice> <!--The price for child breakfast--> <ChildBreakfastPrice></ChildBreakfastPrice> <!--The price for adult half board--> <AdultHalfBoardPrice></AdultHalfBoardPrice> <!--The price for child half board--> <ChildHalfBoardPrice></ChildHalfBoardPrice> <!--The price for adult full board--> <AdultFullBoardPrice></AdultFullBoardPrice> <!--The price for child full board--> <ChildFullBoardPrice></ChildFullBoardPrice> <!--The price for adult all inclusive--> <AdultAllBoardsPrice></AdultAllBoardsPrice> <!--The price for child all inclusive--> <ChildAllBoardsPrice></ChildAllBoardsPrice> <!--The price for adult extra bed--> <AdultExtrabedPrice></AdultExtrabedPrice> <!--The price for child extra bed--> <ChildExtrabedPrice></ChildExtrabedPrice> </RoomTypeAvailability> </RoomTypeAvailabilities> </AvailabilityResponse> Sunhotels PUSH version 2.2 12

SH.AddSuperDealRoom This function is to add a new Superdeal room in the system. Example URL /2.2/PostGet/PushWithSunHotelsId.asmx/AddSuperDealRoom?UserName=[username]&Password=[ password]&roomid=[parent room id] Function inputs The AddSuperDealRoom function is to be called with the following parameters. *: Required input Parameter name Description Valid Input Values * UserName The username of the provider * Password The password of the provider * RoomId The room id of the parent room Integer representing a Sunhotels room ID Function output Specification of output of the AddSuperDealRoom method can be found at: /2.2/PostGet/PushWithSunHotelsId.asmx?op=AddSuperDealRoom XML output <?xml version="1.0" encoding="utf-8"?> <UpdateResponse> <!--The status of the response. 0 means success, a larger value than 0 means that something went wrong when trying to make the stop sale.--> <StatusCode></StatusCode> </UpdateResponse> Sunhotels PUSH version 2.2 13

SH.GetSuperDealRoomTypes This function is used to get available Superdeal room types for a single hotel in the system. Example URL /2.2/PostGet/PushWithSunHotelsId.asmx/GetSuperDealRoomTypes?username=[username]&passwo rd=[password]&shhotelid=[hotel Id] Function inputs The GetRoomTypes function is to be called with the following parameters. *: Required input Parameter name Description Valid Input Values *username The username of the provider *password The password of the provider * shhotelid The Sunhotels internal id of the hotel to get Superdeal room types for. Integer representing a Sunhotels hotel ID Function output Specification of output of the GetSuperDealRoomTypes method can be found at: /2.2/PostGet/PushWithSunHotelsId.asmx?op=GetRoomTypes Sunhotels PUSH version 2.2 14

XML output <?xml version="1.0" encoding="utf-8"?> <RoomTypeResponse> <!--The status of the response. 0 means success, a larger value than 0 means something is wrong--> <StatusCode></StatusCode> <!--All hotels returned in the result--> <Hotels> <Hotel> <!--The internal Sunhotels hotel id. Can be used when only room types for one hotel is of interest--> <HotelId></HotelId> <RoomTypes> <RoomType> <!--The internal Sunhotels room Id--> <RoomId></RoomId> <!--Always empty--> <RoomTypeId /> <!--The internal Sunhotels room group id--> <RoomGroupID></RoomGroupID> <!--The internal Sunhotels parent room type id--> <ParentRoomId></ParentRoomId> <!--The internal Sunhotels superdeal room type id--> <SuperDealRoomID></SuperDealRoomID> <!--The number of beds that are available for the room--> <Beds></Beds> <!--The number of extra beds that are available for the room--> <Extrabeds></Extrabeds> <!--The room type description--> <Description></Description> <!--Indicates if room type is non-refundable--> <Nonrefundable></Nonrefundable> <!--Internal room note--> <InternalRoomNote></InternalRoomNote> <!--Indicates if room type has gross rates--> <GrossRates></GrossRates> <!--The room payment method(s)--> <RoomPaymentMethods> <RoomPaymentMethod Id="" Name=""/> </RoomPaymentMethods> </RoomType> </RoomTypes> </Hotel> </Hotels> </RoomTypeResponse> Sunhotels PUSH version 2.2 15

SH.AddSuperDealCalendarDates This function is used to add new Superdeal dates to the calendar in the system. Example URL /2.2/PostGet/PushWithSunHotelsId.asmx?op=AddSuperDealCalendarDates?UserName=[username]& Password=[password]&StartDate=[ start date]&enddate=[end date]&superdealroomid=[ super deal room Id]&Discount=[discount]&Availability=[availability]&ReleaseDays=[release days]&minimumstay=[minimum stay] &CopyAdditionalMeals=[ copy additional meals] Function inputs The AddSuperDealCalendarDates function is to be called with the following parameters. *: Required input Parameter name Description Valid Input Values * UserName The username of the provider * Password The password of the provider * StartDate Start date of the Superdeal period. Note: Matching dates in parent room required when adding Superdeal period. * EndDate End date of the Superdeal period. Note: Matching dates in parent room required when adding Superdeal period. * SuperDealRoomId Sunhotels internal Superdeal room id. * Discount Superdeal discount value of the given period in Percent, minimum 10 %. Availability The number of available rooms. Leave empty to copy Availability from Parent room. ReleaseDays The number of release days. Leave empty to copy ReleaseDays from Parent room. ReleaseHour The hour on arrival date the room is available until. Value can only be entered when ReleaseDays is set to 0. MinimumStay The number of minimum days to stay. Leave empty to copy MinimumStay from Parent room. * CopyAdditionalMeals If additional meals will be copied from the parent room. A date in the format YYYY-MM- DD A date in the format YYYY-MM- DD Integer representing a Sunhotels internal Superdeal room id. Integer Integer Integer Integer, 0-18 Integer. yes or no Function output Specification of output of the AddSuperDealCalendarDates method can be found at: /2.2/PostGet/PushWithSunHotelsId.asmx?op=AddSuperDealCalendarDates Sunhotels PUSH version 2.2 16

XML output <?xml version="1.0" encoding="utf-8"?> <UpdateResponse> <!--The status of the response. 0 means success, a larger value than 0 means that something went wrong when trying to make the stop sale.--> <StatusCode></StatusCode> </UpdateResponse> Sunhotels PUSH version 2.2 17

SH.UpdateSuperDealCalendar This function is used to update existing Superdeal availability, discount etc. for a Superdeal room. Example URL /2.2/PostGet/PushWithSunHotelsId.asmx/UpdateSuperDealCalendar?UserName=[username]&Passw ord =[password]&startdate=[start date]&enddate=[end date]&superdealroomid=[super deal room id]&discount=[discount value] Function inputs The UpdateSuperDealCalendar function is to be called with the following parameters. *: Required input **: Required alternative (input required in minimum one of these parameters) ***: Required input for creating new dates in calendar if ReleaseDays = 0. Parameter name Description Valid Input Values *UserName *Password *StartDate EndDate *SuperDealRoomId **Discount **Availability **ReleaseDays ***ReleaseHour The username of the provider The password of the provider The start of the time period that should be updated. The end of the time period that should be updated. If EndDate is not set, the EndDate will be set to same as StartDate. The Sunhotels internal id of the Superdeal room to update calendar information for. Discount value in percent, Minimum 10 %. If empty no update is made on existing Discount. The number of available rooms. If empty no update is made on existing availability. The number of release days. If empty no update is made on existing ReleaseDays. The hour on arrival date the room is available until. Value can only be entered when ReleaseDays is set to 0. A date in the format YYYY- MM-DD A date in the format YYYY- MM-DD Integer representing a Sunhotels internal Superdeal room id. Integer Integer representing the number of available rooms. Integer Integer, 0-18 Sunhotels PUSH version 2.2 18

**MinimumStay The number of minimum days to stay. If empty no update is made on existing MinimumStay. Integer Function output Specification of output of the UpdateSuperDealCalendar method can be found at: /2.2/PostGet/PushWithSunHotelsId.asmx?op=UpdateSuperDealCalendar XML output <?xml version="1.0" encoding="utf-8"?> <UpdateResponse> <!--The status of the response. 0 means success, a larger value than 0 means that something went wrong when trying to make the stop sale.--> <StatusCode></StatusCode> </UpdateResponse> Sunhotels PUSH version 2.2 19

SH.GetSuperDealAvailability This function is used to get availability for a single Superdeal room in the system. Example URL /2.2/PostGet/PushWithSunHotelsId.asmx/GetSuperDealAvailability?UserName =[username]&password =[password]&startdate =[start date] &EndDate=[end date] &SuperDealRoomID=[super deal room id] Function inputs The GetSuperDealAvailability function is to be called with the following parameters. *: Required input Parameter name Description Valid Input Values * UserName The username of the provider * Password The password of the provider * StartDate The start of the time period that availability should be returned for. EndDate The end of the time period that availability should be returned for. If EndDate is not set, the EndDate will be set to same as StartDate. * SuperDealRoomID The Sunhotels internal id of the Superdeal room to get availability for. A date in the format YYYY- MM-DD A date in the format YYYY- MM-DD Integer representing a Sunhotels internal Superdeal room id. Function output Specification of output of the GetSuperDealAvailability method can be found at: /2.2/PostGet/PushWithSunHotelsId.asmx?op=GetSuperDealAvailability Sunhotels PUSH version 2.2 20

XML output <?xml version="1.0" encoding="utf-8"?> <SuperDealResponse> <!--The status of the response. 0 means success, a larger value than 0 means something is wrong.--> <StatusCode></StatusCode> <!--All superdeals returned in the result--> <SuperDeals> <SuperDeal> <!--The internal Sunhotels superdeal room type id--> <SuperDealRoomID></SuperDealRoomID> <!--The internal Sunhotels parent room type id--> <ParentRoomID></ParentRoomID> <!--The date of the availability--> <Date></Date> <!--The number of units availabe--> <AvailableUnits></AvailableUnits> <! Minimum days to stay--> <MinimumStay></MinimumStay> <!--The price for adult extra bed--> <AdultExtrabedPrice></AdultExtrabedPrice> <!--The price for child extra bed--> <ChildExtrabedPrice></ChildExtrabedPrice> <! The number of days before checkin the reservation must be made--> <ReleaseDays></ReleaseDays> <! The hour on arrival date the room is available until.--> <ReleaseHour></ReleaseHour> <!--The price of the room--> <Rate></Rate> <!--The name of the included board: "No meals", "Breakfast", "Half Board", "Full Board", or "All"--> <IncludedBoard> </IncludedBoard> <!--The price for adult breakfast--> <AdultBreakfastPrice></AdultBreakfastPrice> <!--The price for child breakfast--> <ChildBreakfastPrice></ChildBreakfastPrice> <!--The price for adult half board--> <AdultHalfBoardPrice></AdultHalfBoardPrice> <!--The price for child half board--> <ChildHalfBoardPrice></ChildHalfBoardPrice> <!--The price for adult full board--> <AdultFullBoardPrice></AdultFullBoardPrice> <!--The price for chil full board--> <ChildFullBoardPrice></ChildFullBoardPrice> <!--The price for adult all inclusive--> <AdultAllBoardsPrice></AdultAllBoardsPrice> <!--The price for child all inclusive--> <ChildAllBoardsPrice></ChildAllBoardsPrice> </SuperDeal> </SuperDeals> </SuperDealResponse> Sunhotels PUSH version 2.2 21

SH.AddDiscount This function is used add new discounts in the system. Example URL /2.2/PostGet/PushWithSunHotelsId.asmx?op=AddDiscount&UserName=[username]&Password=[pas sword]&periodid=[period Id]&PeriodStart=[ period start date]&periodend=[period end date]&weekday=[week day]&roomid=[room Id]&TypeId=[discount type Id]&MinDate=[minimum date]&value=[discount value]&currency=[currency] Function inputs The AddDiscount function is to be called with the following parameters. Discount Types Parameter name (Valid Input Values) UserName: () Password: () PeriodId: (Integer) PeriodStart: (Date format YYYY- MM-DD MM = Month number ) PeriodEnd: (Date format YYYY- MM-DD MM = Month number ) WeekDay: (Integer) Description The username of the provider performing the request. The password of the provider performing the request. The identifier of the discount period. The start of the discount period. The end of the discount period. Apply discount on specified weekday only. Discount Type ID: 1 Value percent Discount Type ID: 3 Early Booking Discount Percent Discount Type ID: 5 Pay/stay Discount Type ID: 6 Min Max Percent Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Optional Optional Optional Optional Sunhotels PUSH version 2.2 22

RoomId: (Integer) TypeId: (Integer) MinDate: (Date format YYYY- MM-DD MM = Month number ) MinDays: (Integer) MaxDays: (Integer) MaxRepetitions: (Integer) CheckinBased (Boolean) IncludeMeal (Boolean) IncludeExtraBed (Boolean) AccumulativeGroup (Integer) Value: (Integer) Currency: () The Sunhotels internal room id or the Sunhotels internal Superdeal room ID. Mandatory Mandatory Mandatory Mandatory Discount type Id Mandatory Mandatory Mandatory Mandatory Minimum date of the discount Minimum days of the discount Maximum days of the discount Max repetitions of the discount. Enable discount on all days if the first discount day(s) is CheckInBased Calculate discount on meals Calculate discount on extrabeds In which order the discount should be calculated Value of the discount. Currency of the discount. Not Allowed 1 of 2 Mandatory Not Allowed Not Allowed Mandatory Mandatory Mandatory Not Allowed Not Allowed Not Allowed Mandatory Not Allowed Not Allowed Mandatory (Validation 1-99) Not Allowed Optional Optional Optional Optional Optional Optional Optional Optional Optional Optional Optional Optional Not Allowed Mandatory (Validation > 0 and < 100) Optional (0 or 1) Mandatory (Validation > 0 and < 100) Not Allowed Mandatory (Validation > 0) Not Allowed Mandatory (Validation > 0 and < 100) Mandatory Mandatory Mandatory Mandatory Function output Specification of output of the AddDiscount method can be found at: /2.2/PostGet/PushWithSunHotelsId.asmx?op=AddDiscount Sunhotels PUSH version 2.2 23

XML output <?xml version="1.0" encoding="utf-8"?> <!--The status of the response. 0 means success, a larger value than 0 means that something went wrong when trying to make the update.--> <UpdateResponse> <StatusCode></StatusCode> </UpdateResponse> Sunhotels PUSH version 2.2 24

SH.DeleteDiscounts This function is used to delete discounts in the system. Example URL /2.2/PostGet/PushWithSunHotelsId.asmx/DeleteDiscount?UserName=[username]&Password=[pass word]& HotelId=[hotel Id]&RoomId=[room Id]&PeriodId=[discount period id] Function inputs The DeleteDiscount function is to be called with the following parameters. Discount Types Parameter name (Valid Input Values) UserName: () Password: () HotelId (Integer) RoomId: (Integer) PeriodId: (Integer) TypeId: (Integer) MinDate: (Date format YYYY- MM-DD MM = Month number ) MinDays: (Integer) Description The username of the provider performing the request. The password of the provider performing the request. The Sunhotels internal id of the hotel. The Sunhotels internal room id or the Sunhotels internal Superdeal room ID. Id representing the discount period. ID of the discount type Date representing the last bookable date to receive EBD discount Minimum days of the discount. Discount Type ID: 1 Value percent Discount Type ID: 3 Early Booking Discount Percent Discount Type ID: 5 Pay/stay Discount Type ID: 6 Min Max Percent Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Mandatory Optional Optional Optional Optional Optional Optional Optional Optional Optional Optional Optional Optional Not Allowed Optional Not Allowed Not Allowed Optional Optional Optional Optional Sunhotels PUSH version 2.2 25

Value: (Integer) PeriodStart: (Date format YYYY- MM-DD MM = Month number ) PeriodEnd: (Date format YYYY- MM-DD MM = Month number ) Discount value. Optional Optional Optional Optional Start date of the discount. End date of the discount. Optional Optional Optional Optional Optional Optional Optional Optional Function output Specification of output of the GetBookings method can be found at: /2.2/PostGet/PushWithSunHotelsId.asmx?op=DeleteDiscount XML output <?xml version="1.0" encoding="utf-8"?> <!--The status of the response. 0 means success, a larger value than 0 means that something went wrong when trying to make the update.--> <UpdateResponse> <StatusCode></StatusCode> </UpdateResponse> Sunhotels PUSH version 2.2 26

SH.GetDiscounts This function is used to get discounts from a single hotel or room in the system. Example URL /2.2/PostGet/PushWithSunHotelsId.asmx/GetDiscounts?UserName=[username]&Password=[passwo rd] &HotelId=[hotel Id]&RoomId=[room Id] Function inputs The GetDiscounts function is to be called with the following parameters. *: Required input Parameter name Description Valid Input Values * UserName The username of the provider * Password The password of the provider * HotelId The Sunhotels internal id of the hotel to get discounts for. RoomId The Sunhotels internal id of the room to get discounts for. Leave empty to get discounts for all rooms on the hotel. Integer representing a Sunhotels hotel ID Integer representing a Sunhotels internal room id. Function output Specification of output of the GetDiscounts method can be found at: /2.2/PostGet/PushWithSunHotelsId.asmx?op=GetDiscounts Sunhotels PUSH version 2.2 27

XML output <?xml version="1.0" encoding="utf-8"?> <DiscountResponse> <!--The status of the response. 0 means success, a larger value than 0 means something is wrong--> <StatusCode></StatusCode> <!--All discounts returned in the result--> <Discounts> <Discount> <!--The internal Sunhotels room id--> <RoomId></RoomId> <!--The internal Sunhotels discount type id 1: Value percent, 3: Early booking discount, 5: Pay/stay, 6: Min/Max percent--> <TypeId></TypeId> <!--The internal Sunhotels discount period identifier--> <PeriodId></PeriodId> <!--The start of the dicount period--> <PeriodStart></PeriodStart> <!--The end of the discount period--> <PeriodEnd></PeriodEnd> <!--The minimum date of the discount--> <MinDate></MinDate> <!--The minimum days of the discount--> <MinDays></MinDays> <!--The maximum days of the discount--> <MaxDays></MaxDays> <!--The max repetitions of the discount--> <MaxRepetitions></MaxRepetitions> <!--Indicates whether the discount is enabled for all days if the firstdiscount day(s) is CheckinBased--> <CheckinBased></CheckinBased> <!--Discount is calculated on meals as well--> <IncludeMeal></IncludeMeal> <!--Discount is calculated on extra beds as well--> <IncludeExtraBed></IncludeExtraBed> <!--Order in which the discount is calculated--> <AccumulativeGroup></AccumulativeGroup> <!--The value of the discount--> <Value></Value> <!--The currency of the discount--> <Currency></Currency> </Discount> </Discounts> </DiscountResponse> Sunhotels PUSH version 2.2 28

SH.GetBookings This function is used to get bookings for one or all hotels in the system. Example URL /2.2/PostGet/PushWithSunHotelsId.asmx/GetBookings?username=[username]&password=[password]&shHote lid=[hotel Id]&arrivalStartDate=[arrival start date]&arrivalenddate=[end date]&bookingstartdate=[booking start date]&bookingenddate=[booking end date]&cancelstartdate=[cancel start date]&cancelenddate=[cancel end date] Function inputs The GetBookings function is to be called with the following parameters. *: Required input **: Required alternative (input required in minimum one of these parameters) Parameter name Description Valid Input Values *username *password shhotelid **arrivalstartdate arrivalenddate **bookingstartdate The username of the provider The password of the provider The Sunhotels internal id of the hotel to get bookings for. Leave empty to get bookings for all hotels. The start of the time period that bookings should be returned for. The end of the time period that bookings should be returned for. If an arrivalstartdate is provided and no arrivalenddate is set. The arrivalenddate will be set to today s date plus one year. The start of the time period when the booking was made. A Sunhotels internal hotel id. A date in the format YYYY-MM- DD A date in the format YYYY-MM- DD A date in the format YYYY-MM- DD hh:mm hh = hours mm = minutes Sunhotels PUSH version 2.2 29

bookingenddate **cancelstartdate cancelenddate The end of the time period when the booking was made. If a bookingstartdate is provided and no bookingenddate is set the bookingenddate will be set to today s date and time. The start of the time period when the booking was cancelled. The end of the time period when the booking was cancelled. If a cancelstartdate is provided and no cancelenddate is set the cancelenddate will be set to today s date and time. A date in the format YYYY-MM- DD hh:mm hh = hours mm = minutes A date in the format YYYY-MM- DD hh:mm hh = hours mm = minutes A date in the format YYYY-MM- DD hh:mm hh = hours mm = minutes Function output Specification of output of the GetBookings method can be found at: /2.2/PostGet/PushWithSunHotelsId.asmx?op=GetBookings Sunhotels PUSH version 2.2 30

XML output <?xml version="1.0" encoding="utf-8"?> <BookingResponse> <!--The status of the response. 0 means success, a larger value than 0 means something is wrong.--> <StatusCode></StatusCode> <!--All bookings returned in the result--> <Bookings> <Booking> <!--The date the booking was made--> <BookingDate></BookingDate> <!--The check-in date for the booking--> <CheckInDate></CheckInDate> <!--The check-out date for the booking--> <CheckOutDate></CheckOutDate> <!--The number of adults--> <Adults></Adults> <!--The id of the booking--> <BookingId></BookingId> <!--The number of childs--> <Children></Children> <!--The number of nights--> <Nights></Nights> <!--The number of booked rooms--> <Rooms></Rooms> <!--The names of the adult guests--> <AdultGuests></AdultGuests> <!--The names of the child guests--> <ChildGuests></ChildGuests> <!--The roome type description--> <RoomType></RoomType> <!--The status of the booking, Active or Cancelled--> <Status></Status> <!--If Status is Cancelled CancelDate is the date of the cancellation. CancelDate will be null/empty if not cancelled--> <CancelDate></CancelDate> <!--The booked board (All, Full Board, Half Board, Breakfast or No meals)--> <BookedBoard></BookedBoard> <!--The Sunhotels id of the booked room--> <RoomId></RoomId> <!--The Sunhotels id of the hotel for the booked room--> <HotelId></HotelId> <!--Special requests for the booking--> <SpecialRequest></SpecialRequest> <!--The method the booking has been paid with--> <PaymentMethod> <!--The contract type ID (1 = Invoice, 2 = Pay At Hotel)--> <Id></Id> <!--The contract type name (Invoice or Pay At Hotel)--> <Name></Name> <!--For Pay At Hotel, the price the guest should pay--> <GuestPrice></GuestPrice> <!--For Pay At Hotel, the total price for the hotel--> <ContractRate></ContractRate> <!--For Pay At Hotel, the price amount Sunhotels need--> <Commission></Commission> <!--The hotel currency--> <Currency></Currency> </PaymentMethod> </Booking> </Bookings> </BookingResponse> Sunhotels PUSH version 2.2 31

SH.GetBookingsWithVcc This function is used to get bookings for one or all hotels in the system and include Virtual Credit Card (VCC) details where this is the agreed payment method. Example URL /2.2/PostGet/PushWithSunHotelsId.asmx/GetBookingsWithVcc?username=[username]&password=[password] &shhotelid=[hotel Id]&arrivalStartDate=[arrival start date]&arrivalenddate=[end date]&bookingstartdate=[booking start date]&bookingenddate=[booking end date]&cancelstartdate=[cancel start date]&cancelenddate=[cancel end date]&includevccdata=[true or false] Function inputs The GetBookingsWithVcc function is to be called with the following parameters. *: Required input **: Required alternative (input required in minimum one of these parameters) Parameter name Description Valid Input Values *username *password shhotelid **arrivalstartdate arrivalenddate **bookingstartdate bookingenddate The username of the provider The password of the provider The Sunhotels internal id of the hotel to get bookings for. Leave empty to get bookings for all hotels. The start of the time period that bookings should be returned for. The end of the time period that bookings should be returned for. If an arrivalstartdate is provided and no arrivalenddate is set. The arrivalenddate will be set to today s date plus one year. The start of the time period when the booking was made. The end of the time period when the booking was made. If a bookingstartdate is provided and no bookingenddate is set the bookingenddate will be set to today s date and time. A Sunhotels internal hotel id. A date in the format YYYY-MM- DD A date in the format YYYY-MM- DD A date in the format YYYY-MM-DD hh:mm hh = hours mm = minutes A date in the format YYYY-MM-DD hh:mm hh = hours mm = minutes Sunhotels PUSH version 2.2 32

**cancelstartdate cancelenddate *includevccdata The start of the time period when the booking was cancelled. The end of the time period when the booking was cancelled. If a cancelstartdate is provided and no cancelenddate is set the cancelenddate will be set to today s date and time. Specifies whether the output data should include information about the issued virtual credit cards (only for the bookings for which this kind of information is available). A date in the format YYYY-MM-DD hh:mm hh = hours mm = minutes A date in the format YYYY-MM-DD hh:mm hh = hours mm = minutes true if the output should include information about virtual credit cards. false if the output should not include information about virtual credit cards. Function output Specification of output of the GetBookingsWithVcc method can be found at: /2.2/PostGet/PushWithSunHotelsId.asmx?op=GetBookingsWithVcc Sunhotels PUSH version 2.2 33

XML output <?xml version="1.0" encoding="utf-8"?> <BookingResponse> <!--The status of the response. 0 means success, a larger value than 0 means something is wrong.--> <StatusCode></StatusCode> <!--All bookings returned in the result--> <Bookings> <Booking> <!--The date the booking was made--> <BookingDate></BookingDate> <!--The check-in date for the booking--> <CheckInDate></CheckInDate> <!--The check-out date for the booking--> <CheckOutDate></CheckOutDate> <!--The number of adults--> <Adults></Adults> <!--The id of the booking--> <BookingId></BookingId> <!--The number of childs--> <Children></Children> <!--The number of nights--> <Nights></Nights> <!--The number of booked rooms--> <Rooms></Rooms> <!--The names of the adult guests--> <AdultGuests></AdultGuests> <!--The names of the child guests--> <ChildGuests></ChildGuests> <!--The roome type description--> <RoomType></RoomType> <!--The status of the booking, Active or Cancelled--> <Status></Status> <!--If Status is Cancelled CancelDate is the date of the cancellation. CancelDate will be null/empty if not cancelled--> <CancelDate></CancelDate> <!--The booked board (All, Full Board, Half Board, Breakfast or No meals)--> <BookedBoard></BookedBoard> <!--The Sunhotels id of the booked room--> <RoomId></RoomId> <!--The Sunhotels id of the hotel for the booked room--> <HotelId></HotelId> <!--Special requests for the booking--> <SpecialRequest></SpecialRequest> <!--The method the booking has been paid with--> <PaymentMethod> <!--The contract type ID (1 = Invoice, 2 = Pay At Hotel)--> <Id></Id> <!--The contract type name (Invoice or Pay At Hotel)--> <Name></Name> <!--For Pay At Hotel, the price the guest should pay--> <GuestPrice></GuestPrice> <!--For Pay At Hotel, the total price for the hotel--> <ContractRate></ContractRate> <!--For Pay At Hotel, the price amount Sunhotels need--> <Commission></Commission> <!--The hotel currency--> <Currency></Currency> </PaymentMethod> <!--Virtual Credit card details--> <VirtualCreditCard> <!--Credit Card number--> <CardNumber></CardNumber> Sunhotels PUSH version 2.2 34

<!--Three digit Card Verification Value, CVV2 --> <Cvv2></Cvv2> <!--Credit card Expiry date, MM/YYYY --> <ExpiryDate></ExpiryDate> <!--Amount charged to the card--> <Amount></Amount> <!--Three letter ISO code of the currency of the amount--> <Currency></Currency> <!--Credit Card holder name--> <CardHolderName></CardHolderName> <!--The date from which the card is valid to charge --> <ValidFrom></ValidFrom> <!--The last date the card is valid to charge --> <ValidUntil></ValidUntil> </VirtualCreditCard> </Booking> <Booking>... <VirtualCreditCard> <!--If an error occurs while retrieving credit card information, an error message will be returned as the only content of this element --> <Error></Error> </VirtualCreditCard> </Booking> </Bookings> </BookingResponse> Sunhotels PUSH version 2.2 35

SH.GetBookingPriceBreakdown This function is used to get the price breakdown for a specified booking. Example URL /2.2/PostGet/PushWithSunHotelsId.asmx/ GetBookingPriceBreakdown?username=[username]&password=[password]&shBookingId=[shBookingId] Function inputs The GetBookingPriceBreakdown function is to be called with the following parameters. *: Required input **: Required alternative (input required in minimum one of these parameters) Parameter name Description Valid Input Values *username *password *shbookingid The username of the provider The password of the provider The Sunhotels internal id of the booking to get the booking price breakdown. A Sunhotels internal booking id. Function output Specification of output of the GetBookingPriceBreakdown method can be found at: /2.2/PostGet/PushWithSunHotelsId.asmx?op= GetBookingPriceBreakdown XML output <?xml version="1.0" encoding="utf-8"?> <BookingPriceBreakdownResponse> <!--The status of the response. 0 means success, a larger value than 0 means something is wrong.--> <StatusCode></StatusCode> <!--The id of the booking--> <BookingId></BookingId> <!--The applied commission, 0 if prices are NET --> <Commission></Commission> <!-- The currency that all provided prices are specified in. --> <Currency></ Currency > <!--All contract prices per day returned in the result, all prices are NET with above stated commission deducted--> <ContractCalendarList> <ContractCalendar> <!--The price date--> <Date></Date> <!--The base price of the room--> <ContractPrice></ContractPrice> <!--The adult price for the extrabed--> <ContractExtrabedAdult></ContractExtrabedAdult> <!--The child price for the extrabed--> <ContractExtrabedChild></ContractExtrabedChild> <!--Adult price for the breakfast--> <ContractAdultBreakfast></ContractAdultBreakfast> <!--Adult price for the half board--> <ContractAdultHalfBoard></ContractAdultHalfBoard> <!--Adult price for the full board--> <ContractAdultFullBoard></ContractAdultFullBoard> <!--Adult price for the all inclusive--> <ContractAdultAllInclusive></ContractAdultAllInclusive> Sunhotels PUSH version 2.2 36

<!--Child price for the breakfast--> <ContractChildBreakfast></ContractChildBreakfast> <!--Child price for the half board--> <ContractChildHalfBoard></ContractChildHalfBoard> <!--Child price for the full board--> <ContractChildFullBoard></ContractChildFullBoard> <!--Child price for the all inclusive--> <ContractChildAllInclusive></ContractChildAllInclusive> <!--Information of what board is included in base price --> <IncludedBoard></IncludedBoard> </ContractCalendar> </ContractCalendarList> <!--All applied discounts--> <ContractDiscountList> <ContractDiscount> <!--The Id of the discount type--> <TypeId></TypeId> <!--The value applied for this discount, depending on type it can be percent or night(s)--> <Value></Value> <!--Indicates if the discount is checkin based (true) or stay based (false)--> <CheckinBased></CheckinBased> <!--Indicates if discount is applied to meal supplement booked --> <IncludeMeal></IncludeMeal> <!--Indicates if discount is applied to booked extra bed(s) --> <IncludeExtraBed></IncludeExtraBed> <!--Indicates if discount is accumulative with another discount--> <AccumulativeGroup></AccumulativeGroup> <!--Amount discounted--> <ContractAmount></ContractAmount> <!--Minimum Stay Days required for discount to apply--> <DiscountMinDays></DiscountMinDays> <!--Maximum Stay Days allowed for discount to apply--> <DiscountMaxDays></DiscountMaxDays> <!--Booking Discount Start Date--> <StartDate></StartDate> <!--Booking Discount End Date --> <EndDate></EndDate> <!--The identifier of the discount period.--> <PeriodId></PeriodId> <!--Early booking deadline date --> < DiscountMinDate></DiscountMinDate> <!--Price discounted--> <MaxRepetitions></MaxRepetitions> </ContractDiscount> </ContractDiscountList> </BookingPriceBreakdownResponse> Sunhotels PUSH version 2.2 37

EX.GetRoomTypes This function is used to get available room types for all or a single hotel in the system. Example URL /2.2/PostGet/PushWithProviderId.asmx/GetRoomTypes?username=[username]&password=[password]&provi derhotelid=[providerhotel Id] Function inputs The GetRoomTypes function is to be called with the following parameters. *: Required input Parameter name Description Valid Input Values *username *password providerhotelid The username of the provider The password of the provider The provider id of the hotel to get room types for. Note: leave empty to get all available room types for all hotels. String representing a provider hotel ID Function output Specification of output of the GetRoomTypes method can be found at: /2.2/PostGet/PushWithProviderId.asmx?op=GetRoomTypes Sunhotels PUSH version 2.2 38

XML output <?xml version="1.0" encoding="utf-8"?> <RoomTypeResponse> <!--The status of the response. 0 means success, a larger value than 0 means something is wrong--> <StatusCode></StatusCode> <!--All hotels returned in the result--> <Hotels> <Hotel> <!--The provider hotel id. Can be used when only room types for one hotel is of interest--> <ProviderHotelId></ProviderHotelId> <!--The currency code used by the hotel--> <Currency></Currency> <!--The name of the hotel--> <HotelName></HotelName> <!--All room types that are available for the hotel--> <RoomTypes> <RoomType> <!--The room type id--> <RoomTypeId></RoomTypeId> <!--The room group id--> <RoomGroupID/> <!--The number of beds that are available for the room--> <Beds></Beds> <!--The number of extra beds that are available for the room--> <Extrabeds></Extrabeds> <!--The room type description--> <Description></Description> <!--Inicates if the room is non-refundable--> <Nonrefundable></Nonrefundable> <!--Internal room note--> <InternalRoomNote></InternalRoomNote> <!--Indicates if the room has gross rates--> <GrossRates></GrossRates> <!--The room payment method(s)--> <RoomPaymentMethods> <RoomPaymentMethod Id="1" Name="Invoice"/> <RoomPaymentMethod Id="2" Name="Pay at Hotel"/> </RoomPaymentMethods> </RoomType> </RoomTypes> </Hotel> </Hotels> </RoomTypeResponse> Sunhotels PUSH version 2.2 39