From 7f6972563f066656c8c6a8cfd7a793223a40095c Mon Sep 17 00:00:00 2001 From: Joshua Bowles Date: Wed, 16 May 2018 08:34:19 -0600 Subject: [PATCH] more tests for rate desc --- hotelws/hotel_rate_desc_rq.go | 4 +- hotelws/hotel_rate_desc_rq_test.go | 34 +- ...perty.go => struct_basic_property_info.go} | 94 +- ...ria.go => struct_hotel_search_criteria.go} | 14 +- hotelws/struct_room_stay.go | 85 +- hotelws/test_data/hotel_rate_desc_rs.xml | 972 +++++++++--------- 6 files changed, 632 insertions(+), 571 deletions(-) rename hotelws/{struct_hotel_property.go => struct_basic_property_info.go} (80%) rename hotelws/{struct_search_criteria.go => struct_hotel_search_criteria.go} (90%) diff --git a/hotelws/hotel_rate_desc_rq.go b/hotelws/hotel_rate_desc_rq.go index e5d2fac..5234e74 100644 --- a/hotelws/hotel_rate_desc_rq.go +++ b/hotelws/hotel_rate_desc_rq.go @@ -49,7 +49,7 @@ func SetHotelRateDescRqStruct(rpc *RatePlanCandidates) (HotelRateDescBody, error }, nil } -// BuildHotelRateDescRequest to make hotel property description request, done after hotel property description IF hrd required for sell is true. +// BuildHotelRateDescRequest to make hotel property description request, done after hotel property description iff HRD_RequiredForSell=true. func BuildHotelRateDescRequest(from, pcc, binsectoken, convid, mid, time string, propDesc HotelRateDescBody) HotelRateDescRequest { return HotelRateDescRequest{ Envelope: srvc.CreateEnvelope(), @@ -106,7 +106,7 @@ type HotelRateDescResponse struct { ErrorSabreXML ErrorSabreXML } -// CallHotelRateDesc to sabre web services retrieve hotel rates using HotelRateDescriptionLLSRQ. +// CallHotelRateDesc to sabre web services retrieve hotel rates using HotelRateDescriptionLLSRQ. This call only supports requests that contain an RPH from a previous hotel_property_desc call, see BuildHotelRateDescRequest. func CallHotelRateDesc(serviceURL string, req HotelRateDescRequest) (HotelRateDescResponse, error) { propResp := HotelRateDescResponse{} byteReq, _ := xml.Marshal(req) diff --git a/hotelws/hotel_rate_desc_rq_test.go b/hotelws/hotel_rate_desc_rq_test.go index 7ecb236..30b05ab 100644 --- a/hotelws/hotel_rate_desc_rq_test.go +++ b/hotelws/hotel_rate_desc_rq_test.go @@ -30,7 +30,19 @@ func TestHotelRateDescMarshal(t *testing.T) { //fmt.Printf("content marshal \n%s\n", b) } -var ccards = []string{"DS", "CA", "MC", "CB", "VI", "VS", "AX", "JC", "DC"} +var additionalCards = []string{"DS", "CA", "MC", "CB", "VI", "VS", "AX", "JC", "DC"} +var guaranteeCards = []struct { + code string + name string +}{ + {"AX", "AMERICAN EXPRESS"}, + {"CA", "MASTERCARD"}, + {"CB", "CARTE BLANCHE"}, + {"DC", "DINERS CLUB CARD"}, + {"DS", "DISCOVER CARD"}, + {"JC", "JCB CREDIT CARD"}, + {"VI", "VISA"}, +} func TestRateDescCall(t *testing.T) { // assume RPH is from previous hotel property description call @@ -52,6 +64,16 @@ func TestRateDescCall(t *testing.T) { if resp.Body.Fault.String != "" { t.Errorf("Body.Fault.String expect empty: '%s', got: %s", "", resp.Body.Fault.String) } + + for i, cg := range resp.Body.HotelDesc.RoomStay.Guarantee.DepositsAccepted.PaymentCards { + if cg.Code != guaranteeCards[i].code { + t.Errorf("Guarantee.DepositsAccepted.PaymentCards[%d].Code expect: %s, got: %s", i, guaranteeCards[i].code, cg.Code) + } + if cg.Type != guaranteeCards[i].name { + t.Errorf("Guarantee.DepositsAccepted.PaymentCards[%d].Type expect: %s, got: %s", i, guaranteeCards[i].name, cg.Type) + } + } + roomStayRates := resp.Body.HotelDesc.RoomStay.RoomRates numRoomRates := len(roomStayRates) if numRoomRates != 1 { @@ -65,12 +87,12 @@ func TestRateDescCall(t *testing.T) { if rr.GuaranteeSurcharge != "G" { t.Errorf("GuaranteeSurcharge expected %s, got %s", "G", rr.GuaranteeSurcharge) } - if len(rr.AdditionalInfo.PaymentCard) != 9 { - t.Errorf("AdditionalInfo.PaymentCard count is wrong: %v", rr.AdditionalInfo.PaymentCard) + if len(rr.AdditionalInfo.PaymentCards) != 9 { + t.Errorf("AdditionalInfo.PaymentCards count is wrong: %v", rr.AdditionalInfo) } - for idx, card := range rr.AdditionalInfo.PaymentCard { - if card.Code != ccards[idx] { - t.Errorf("AdditionalInfo.PaymentCard expect: %s, got: %s", ccards[idx], card.Code) + for idx, card := range rr.AdditionalInfo.PaymentCards { + if card.Code != additionalCards[idx] { + t.Errorf("AdditionalInfo.PaymentCards expect: %s, got: %s", additionalCards[idx], card.Code) } } diff --git a/hotelws/struct_hotel_property.go b/hotelws/struct_basic_property_info.go similarity index 80% rename from hotelws/struct_hotel_property.go rename to hotelws/struct_basic_property_info.go index 5021b1e..5cfaee5 100644 --- a/hotelws/struct_hotel_property.go +++ b/hotelws/struct_basic_property_info.go @@ -4,6 +4,7 @@ import ( "encoding/xml" ) +// BasicPropertyInfo contains all info relevant to property. It is the root-level element after service element for hotel_avail; and is embedded in the RoomStay element. type BasicPropertyInfo struct { XMLName xml.Name `xml:"BasicPropertyInfo"` AreadID string `xml:"AreadID,attr"` @@ -41,6 +42,9 @@ type BasicPropertyInfo struct { SpecialOffers struct { Ind bool `xml:"Ind,attr"` } `xml:"SpecialOffers"` + Taxes struct { + Text []string `xml:"Text"` + } `xml:"Taxes"` VendorMessages VendorMessages RateRange struct { CurrencyCode string `xml:"CurrencyCode,attr"` @@ -96,70 +100,27 @@ type Rate struct { HotelPricing HotelPricing } -type AdditionalInfo struct { - XMLName xml.Name `xml:"AdditionalInfo"` - Commission struct { - NonCommission string `xml:"NonCommission,attr"` - Val string `xml:",char"` - } `xml:"Commission"` - DCACancellation struct { - Text []string `xml:"Text"` - } `xml:"DCA_Cancellation"` - DCAGuarantee struct { - Text []string `xml:"Text"` - } `xml:"DCA_Guarantee"` - DCAOther struct { - Text []string `xml:"Text"` - } `xml:"DCA_Other"` - PaymentCard []struct { - Code string `xml:"Code,attr"` - } `xml:"PaymentCard"` - Taxes string `xml:"Taxes"` - CancelPolicy struct { - Numeric int `xml:"Numeric,attr"` //string? 001 versus 1 - Option string `xml:"Option,attr"` - } `xml:"CancelPolicy"` - Text []string `xml:"Text"` -} - -type RoomRate struct { - XMLName xml.Name `xml:"RoomRate"` - DirectConnect string `xml:"RDirectConnect,attr"` - GuaranteeSurcharge string `xml:"GuaranteeSurchargeRequired,attr"` - GuaranteedRate string `xml:"GuaranteedRateProgram,attr"` - IATA_Character string `xml:"IATA_CharacteristicIdentification,attr"` - IATA_Product string `xml:"IATA_ProductIdentification,attr"` - LowInventory string `xml:"LowInventoryThreshold,attr"` - RateLevelCode string `xml:"RateLevelCode,attr"` - RPH int `xml:"RPH,attr"` - RateChangeInd string `xml:"RateChangeInd,attr"` - RateConversionInd string `xml:"RateConversionInd,attr"` - SpecialOffer string `xml:"SpecialOffer,attr"` - Rates []Rate `xml:"Rates>Rate"` - AdditionalInfo AdditionalInfo - HotelRateCode string `xml:"HotelRateCode"` -} - type VendorMessages struct { - XMLName xml.Name `xml:"VendorMessages"` - Attractions Attractions `xml:"Attractions"` - Awards Awards `xml:"Awards"` - Cancellation Cancellation `xml:"Cancellation"` - Deposit Deposit `xml:"Deposit"` - Description Description `xnl:"Description"` - Dining Dining `xml:"Dining"` - Directions Directions `xml:"Directions"` - Facilities Facilities `xml:"Facilities"` - Guarantee Guarantee `xml:"Guarantee"` - Location Location `xml:"Location"` - MarketingInformation MarketingInformation `xml:"MarketingInformation"` - MiscServices MiscServices `xml:"MiscServices"` - Policies Policies `xml:"Policies"` - Recreation Recreation `xml:"Recreation"` - Rooms Rooms `xml:"Rooms"` - Safety Safety `xml:"Safety"` - Services Services `xml:"Services"` - Transportation Transportation `xml:"Transportation"` + XMLName xml.Name `xml:"VendorMessages"` + Attractions Attractions `xml:"Attractions"` + AdditionalAttractions AdditionalAttractions `xml:"AdditionalAttractions"` + Awards Awards `xml:"Awards"` + Cancellation Cancellation `xml:"Cancellation"` + Deposit Deposit `xml:"Deposit"` + Description Description `xnl:"Description"` + Dining Dining `xml:"Dining"` + Directions Directions `xml:"Directions"` + Facilities Facilities `xml:"Facilities"` + Guarantee VendorGuarantee `xml:"Guarantee"` + Location Location `xml:"Location"` + MarketingInformation MarketingInformation `xml:"MarketingInformation"` + MiscServices MiscServices `xml:"MiscServices"` + Policies Policies `xml:"Policies"` + Recreation Recreation `xml:"Recreation"` + Rooms Rooms `xml:"Rooms"` + Safety Safety `xml:"Safety"` + Services Services `xml:"Services"` + Transportation Transportation `xml:"Transportation"` } type Transportation struct { @@ -189,7 +150,9 @@ type MarketingInformation struct { type Location struct { Text []string `xml:"Text"` } -type Guarantee struct { +type VendorGuarantee struct { + //this is Guarantee under BasciPropertyInfo.VendorMessages + //not Guarantee element in RoomStay Text []string `xml:"Text"` } type Facilities struct { @@ -216,6 +179,9 @@ type Awards struct { type Attractions struct { Text []string `xml:"Text"` } +type AdditionalAttractions struct { + Text []string `xml:"Text"` +} type IndexD struct { XMLName xml.Name `xml:"Index"` diff --git a/hotelws/struct_search_criteria.go b/hotelws/struct_hotel_search_criteria.go similarity index 90% rename from hotelws/struct_search_criteria.go rename to hotelws/struct_hotel_search_criteria.go index 9d01499..a8551cf 100644 --- a/hotelws/struct_search_criteria.go +++ b/hotelws/struct_hotel_search_criteria.go @@ -3,9 +3,15 @@ package hotelws import "encoding/xml" /* -Implement Sabre hotel searching through various criteria. Many criterion exist that are not yet implemented: (Award, ContactNumbers, CommissionProgram, HotelAmenity, PointOfInterest, RefPoint, RoomAmenity, HotelFeaturesCriterion). To add more criterion create a criterion type (e.g, XCriterion) as well as its accompanying function to handle the data params (e.g., XSearch); see examples in hotel_search_criteria.go. + Implement Sabre hotel searching through various criteria. Many criterion exist that are not yet implemented: (Award, ContactNumbers, CommissionProgram, HotelAmenity, PointOfInterest, RefPoint, RoomAmenity, HotelFeaturesCriterion). To add more criterion create a criterion type (e.g, XCriterion) as well as its accompanying function to handle the data params (e.g., XSearch); see examples in hotel_search_criteria.go. */ +// HotelSearchCriteria top level element for criterion +type HotelSearchCriteria struct { + XMLName xml.Name `xml:"HotelSearchCriteria"` + Criterion Criterion +} + // QuerySearchParams is a typed function to support optional query params on creation of new search criterion type QuerySearchParams func(*HotelSearchCriteria) error @@ -21,12 +27,6 @@ type PropertyTypeCriterion []string // PackageCriterion slice of property type strings (GF, HM, BB) type PackageCriterion []string -// HotelSearchCriteria top level element for criterion -type HotelSearchCriteria struct { - XMLName xml.Name `xml:"HotelSearchCriteria"` - Criterion Criterion -} - // HotelRef contains any number of search criteria under the HotelRef element. type HotelRef struct { XMLName xml.Name `xml:"HotelRef,omitempty"` diff --git a/hotelws/struct_room_stay.go b/hotelws/struct_room_stay.go index 77eb929..73dbec2 100644 --- a/hotelws/struct_room_stay.go +++ b/hotelws/struct_room_stay.go @@ -2,32 +2,11 @@ package hotelws import "encoding/xml" -type PaymentCard struct { - XMLName xml.Name `xml:"PaymentCard"` - Code string `xml:"Code,attr"` - Type string `xml:"Type,attr"` -} - -type DepositsAccepted struct { - XMLName xml.Name `xml:"DepositsAccepted"` - PaymentCards []PaymentCard -} - -type GuaranteesAccepted struct { - XMLName xml.Name `xml:"GuaranteesAccepted"` - PaymentCards []PaymentCard -} - -type GuaranteeAccepted struct { - XMLName xml.Name `xml:"Guarantee"` - Guarantees GuaranteesAccepted - Deposits DepositsAccepted -} - +// RoomStay contains all info relevant to the property's available rooms. It is the root-level element after service element for hotel_rate_desc and hotel_property_desc. type RoomStay struct { XMLName xml.Name `xml:"RoomStay"` BasicPropertyInfo BasicPropertyInfo - GuaranteeAccepted GuaranteeAccepted + Guarantee Guarantee RoomRates []RoomRate `xml:"RoomRates>RoomRate"` TimeSpan struct { Duration string `xml:"Duration,attr"` //string 0001 or int 1? @@ -35,3 +14,63 @@ type RoomStay struct { Start string `xml:"Start,attr"` } `xml:"TimeSpan"` } + +// Guarantee shows forms of payment accepted by property +type Guarantee struct { + XMLName xml.Name `xml:"Guarantee"` + GuaranteesAccepted GuaranteesAccepted + DepositsAccepted DepositsAccepted +} +type GuaranteesAccepted struct { + XMLName xml.Name `xml:"GuaranteesAccepted"` + PaymentCards []PaymentCard `xml:"PaymentCard"` +} +type DepositsAccepted struct { + XMLName xml.Name `xml:"DepositsAccepted"` + PaymentCards []PaymentCard `xml:"PaymentCard"` +} +type PaymentCard struct { + Code string `xml:"Code,attr"` + Type string `xml:"Type,attr"` +} + +type RoomRate struct { + XMLName xml.Name `xml:"RoomRate"` + DirectConnect string `xml:"RDirectConnect,attr"` + GuaranteeSurcharge string `xml:"GuaranteeSurchargeRequired,attr"` + GuaranteedRate string `xml:"GuaranteedRateProgram,attr"` + IATA_Character string `xml:"IATA_CharacteristicIdentification,attr"` + IATA_Product string `xml:"IATA_ProductIdentification,attr"` + LowInventory string `xml:"LowInventoryThreshold,attr"` + RateLevelCode string `xml:"RateLevelCode,attr"` + RPH int `xml:"RPH,attr"` + RateChangeInd string `xml:"RateChangeInd,attr"` + RateConversionInd string `xml:"RateConversionInd,attr"` + SpecialOffer string `xml:"SpecialOffer,attr"` + Rates []Rate `xml:"Rates>Rate"` + AdditionalInfo AdditionalInfo + HotelRateCode string `xml:"HotelRateCode"` +} +type AdditionalInfo struct { + XMLName xml.Name `xml:"AdditionalInfo"` + Commission struct { + NonCommission string `xml:"NonCommission,attr"` + Val string `xml:",char"` + } `xml:"Commission"` + DCACancellation struct { + Text []string `xml:"Text"` + } `xml:"DCA_Cancellation"` + DCAGuarantee struct { + Text []string `xml:"Text"` + } `xml:"DCA_Guarantee"` + DCAOther struct { + Text []string `xml:"Text"` + } `xml:"DCA_Other"` + PaymentCards []PaymentCard `xml:"PaymentCard"` + Taxes string `xml:"Taxes"` + CancelPolicy struct { + Numeric int `xml:"Numeric,attr"` //string? 001 versus 1 + Option string `xml:"Option,attr"` + } `xml:"CancelPolicy"` + Text []string `xml:"Text"` +} diff --git a/hotelws/test_data/hotel_rate_desc_rs.xml b/hotelws/test_data/hotel_rate_desc_rs.xml index 1b86d60..08b600a 100644 --- a/hotelws/test_data/hotel_rate_desc_rs.xml +++ b/hotelws/test_data/hotel_rate_desc_rs.xml @@ -1,469 +1,503 @@ - -webservices.sabre.comwww.z.com7TZAfds8789h|dev@z.comHotelRateDescriptionLLSRQHotelRateDescriptionLLSRS33192248579454702812018-05-14T23:49:54mid:20180207-20:19:07.25|QVbg0Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/RESE!ICESMSLB\/RES.LB!-3177016070087638144!110012!0 - - - - HRD*12 - - - - - -
- 725 SOUTH HARBOR ISLAND BLVD - TAMPA FL 33602 - US -
- - NTM4 CROWN - - 15:00 - 12:00 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - N - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5.00 PCT - 7.00 PCT - - - - CORPORATE LOCATIONS - - WELLS FARGO BANK 1.00 MI - FEDEX OFFICE 1.00 MI - SYKES ENTERPRISES 1.00 MI - ERNST YOUNG 1.00 MI - BANK OF AMERICA 1.00 MI - TECO ENERGY, INC. 1.00 MI - AACSB 0.06 MI - VERIZON 1.00 MI - CITIGROUP 10.99 MI - MEDIA GENERAL BROADCASTING GRO 1.00 MI - TAMPA PORT AUTHORITY 2.00 MI - KPMG 1.00 MI - CP SHIPS 1.00 MI - PRICEWATERHOUSECOOPERS 1.00 MI - - - ATTRACTIONS - - AMTRAK 1.00 MI - SALVIDOR DALI MUSEUM 24.98 MI - FORT DE SOTO PARK 33.98 MI - UNIVERSITY OF TAMPA 1.00 MI - BAYSHORE BOULEVARD LINEAR PA 1.00 MI - UNIVERSITY OF SOUTH FLORIDA 8.00 MI - LEGEND S FIELD 5.00 MI - TAMPA BAY PERFORMING ARTS CE 1.00 MI - LOWRY PARK ZOO 8.00 MI - WESTSHORE PLAZA 6.00 MI - TAMPA CONVENTION CENTER 0.12 MI - OLD HYDE PARK VILLAGE 2.00 MI - AMALIE ARENA FORMERLY ST. P 0.19 MI - TAMPA MUSEUM OF ART 1.00 MI - BUSCH GARDENS 8.99 MI - HB PLANT MUSEUM 1.00 MI - YACHT STARSHIP 1.00 MI - TAMPA THEATRE 1.00 MI - CHANNELSIDE 1.00 MI - TAMPA GENERAL HOSPITAL 2.00 MI - INTERNATIONAL PLAZA BAY ST 6.00 MI - PRICEWATERHOUSECOOPERS 1.00 MI - GERALD R. FORD AMPHITHEATRE 8.99 MI - RAYMOND JAMES STADIUM HOME 5.00 MI - FLORIDA AQUARIUM 1.00 MI - PORT AUTHORITY 2.00 MI - - - AWARDS - - GLOBAL BUSINESS TRAVEL ASSOCIATION GBTA - PROJECT ICARUS - SUPPLIER GOLD MEDAL 2016 - - - 01JAN14 - 31DEC99- - CANCEL BY 2 DAYS PRIOR TO ARRIVAL - TO AVOID A 100.00PCT CANCELLATION PENALTY - CANCELLATION POLICY TEXT - - THE CANCELLATION POLICY WILL VARY BASED ON THE RATE PLAN - AND/OR BOOKING DATE S . PLEASE SEE RATE AND POLICY - INFORMATION WHEN CHECKING AVAILABILITY. - - - ACCEPTED FORMS OF DEPOSIT- 01JAN14 - 31DEC99 - CREDIT CARD - - - YEAR BUILT - 1985 YEAR REMODELED - 2017 - ADDITIONAL PROPERTY DESCRIPTION - - ESCAPE TO THE WESTIN TAMPA WATERSIDE, SITUATED ON A UNIQUE - LANDSCAPED ISLAND IN DOWNTOWN TAMPA. ADJACENT TO THE TAMPA - CONVENTION CENTER, OUR LOCATION IS CONVENIENT FOR BUSINESS - AND LEISURE TRAVELERS ALIKE. JUST TWO BLOCKS FROM AMALIE - ARENA FORMERLY ST. PETE TIMES FORUM , WE HAVE ACCESS TO ALL - THAT TAMPA HAS TO OFFER.OUR WATERFRONT ATMOSPHERE LEAVES - NOTHING TO BE DESIRED, WITH AN OUTDOOR POOL AND A - FULL-SERVICE BUSINESS CENTER. HOST AN EVENT IN ONE OF OUR 13 - FLEXIBLE MEETING ROOMS, SOME OFFERING STUNNING HARBOR VIEWS. - ENJOY DELICIOUS CONTINENTAL FARE AT OUR ELEGANT RESTAURANT, - BLUE HARBOUR EATERY AMP BAR. OUR OVERSIZED GUEST ROOMS AND - SUITES AT THE WESTIN TAMPA WATERSIDE ARE DESIGNED TO ENHANCE - YOUR RELAXATION. RELAX IN OUR SIGNATURE HEAVENLY BED FOR A - PEACEFUL NIGHTS SLEEP. REFRESH THE NEXT MORNING IN ONE OF OUR - SPACIOUS BATHROOMS, EQUIPPED WITH THE HEAVENLY SHOWER - FEATURING DUAL SHOWERHEADS. - - - RESTAURANTS - - MARKET PLACE - RESTAURANT DESCRIPTION - STOP BY THE MARKET PLACE FOR GRAB-AND-GO OPTIONS LIKE - SNACKS, SODAS, AND COLD-BREW COFFEE. - BLUE HARBOUR EATERY BAR - CUISINE - AMERICAN - MEALS SERVED - BREAKFAST - LUNCH - DINNER - RESTAURANT DESCRIPTION - THE RELAXED YET REFINED BLUE HARBOUR EATERY BAR HAS BEEN - INSPIRED BY THE SEA. MADE FRESH FROM THE DAY S CATCH, - SIMPLE DISHES ARE FLAWLESSLY EXECUTED, AND A TOP-NOTCH - DRINK LIST INCLUDES PREMIUM COCKTAILS. - - - PRIMARY AIRPORT - - TPA - TAMPA INTERNATIONAL AIRPORT - 9.00 MI - OTHER AIRPORTS - - PIE - ST. PETERSBURG INTERNATIONAL AIRPORT - 25.00 MI - MCO - ORLANDO INTERNATIONAL AIRPORT - 86.00 MI - DIRECTIONS TO THE PROPERTY FROM THE NORTH - - TAKE INTERSTATE 75 TAMPA CROSSTOWN EXPRESSWAY, WESTBOUND. - TAKE THE CROSSTOWN EXPRESSWAY TO THE MORGAN STREET EXIT. AT - THE BASE OF THE RAMP, MERGE TO THE LEFT LANE. TURN LEFT ON - FRANKLIN STREET. - DIRECTIONS TO THE PROPERTY FROM THE SOUTH - - TAKE INTERSTATE 275 NORTH TO EXIT 44 ASHLEY STREET - - DOWNTOWN EAST/WEST . TAKE THE DOWNTOWN WEST EXIT. TAKE THE - TAMPA STREET SOUTH EXIT. TURN RIGHT ONTO FRANKLIN STREET - WHICH BECOMES HARBOUR ISLAND BOULEVARD. CONTINUE TO THE - HOTEL. - DIRECTIONS TO THE PROPERTY FROM THE WEST - - TAKE INTERSTATE 4 TO INTERSTATE 275 SOUTH. PROCEED TO EXIT 44 - ASHLEY STREET - DOWNTOWN EAST/WEST . TAKE TAMPA STREET - SOUTH. TURN RIGHT ONTO FRANKLIN STREET WHICH BECOMES HARBOUR - ISLAND BOULEVARD. CONTINUE TO THE HOTEL. - - - ON-SITE FACILITIES DESCRIPTION - - PARKING - ON-SITE FACILITIES - - ACCESSIBLE FACILITIES BUSINESS CENTER - CONCIERGE LOUNGE CONNECTING ROOMS - EXERCISE GYM HEALTH CLUB - MEETING ROOMS NON-SMOKING ROOMS GENERIC - ONSITE LAUNDRY OUTDOOR POOL - PARKING PARKING LOT - POOL RESTAURANT - WIRELESS INTERNET CONNECTION - MEETING AND CONVENTION FACILITIES - - TOTAL NBR OF MEETING ROOMS - 13 - MAXIMUM SEATING CAPACITY OF LARGEST ROOM - 700 - MAXIMUM SEATING CAPACITY OF SMALLEST ROOM - 10 - AREA OF LARGEST ROOM - 442 - AREA OF SMALLEST ROOM - 29 - TOTAL MEASUREMENT, ALL ROOMS - 1672 - MEETING ROOM SIZE AND SEATING FORMAT OPTIONS - - MEETING ROOM NAME - CORAL REEF - LENGTH: 76.00 WIDTH: 20.00 AREA: 1509.00 SQ FT - BANQUET - 100 THEATRE - 100 - RECEPTION - 150 - MEETING ROOM NAME - CHANNELSIDE - LENGTH: 144.00 WIDTH: 26.00 AREA: 3744.00 SQ FT - BANQUET - 200 THEATRE - 180 - RECEPTION - 400 - MEETING ROOM NAME - PALM - LENGTH: 18.00 WIDTH: 22.00 AREA: 396.00 SQ FT - CONFERENCE - 14 - MEETING ROOM NAME - REEF - LENGTH: 27.00 WIDTH: 20.00 AREA: 540.00 SQ FT - BANQUET - 40 THEATRE - 50 - RECEPTION - 60 - MEETING ROOM NAME - CORAL - LENGTH: 27.00 WIDTH: 20.00 AREA: 540.00 SQ FT - BANQUET - 40 THEATRE - 50 - RECEPTION - 60 - MEETING ROOM NAME - HIBISCUS - LENGTH: 25.00 WIDTH: 17.00 AREA: 425.00 SQ FT - BANQUET - 24 THEATRE - 50 - RECEPTION - 50 - MEETING ROOM NAME - LAGOON - LENGTH: 20.00 WIDTH: 16.00 AREA: 320.00 SQ FT - BANQUET - 12 THEATRE - 40 - RECEPTION - 30 - MEETING ROOM NAME - SUNSET - LENGTH: 35.00 WIDTH: 25.00 AREA: 875.00 SQ FT - BANQUET - 70 THEATRE - 80 - RECEPTION - - - -01JAN14 - 31DEC99 MON-SUN - CREDIT CARD GUARANTEE MAY BE REQUIRED ON RESERVATIONS. - ACCEPTED FORMS OF GUARANTEE- 01JAN14 - 31DEC99 - AGENCY IATA/ARC CREDIT CARD - DEPOSIT - - - PRIMARY PROPERTY LOCATION - CITY - DISTRICT - - AREA - - PRIMARY AIRPORT - - TPA 9.00 MILE - ADDITIONAL AIRPORTS - - PIE 25.00 MILE - MCO 86.00 MILE - PRIMARY CITY - - TPA - CITY CENTER 0.72 MILE - EXPLORE AND DISCOVER OUR SURROUNDINGS. - - - WESTIN HOTELS FOR A BETTER YOU - MEMBER OF STARWOOD HOTELS - - - EMAIL - RESERVATIONS WESTINTAMPAWATERSIDE.COM - TIME ZONE - EDT - TAXES AND SURCHARGES - - 5.00 PCT OCCUPANCY TAX 11MAY18 - 31DEC99 - 7.00 PCT CITY TAX 11MAY18 - 31DEC99 - - - EXTRA CHILD - 0 USD - CHILDREN STAY FREE - ROOM RATES INCLUDE THE ACCOMMODATION OF CHILDREN 17 YEARS - OLD OR YOUNGER WHO SLEEP IN THE EXISTING BEDDING OF A GUEST - ROOM. ROLLAWAY BEDS AND CRIBS MAY INCUR EXTRA CHARGES. - FAMILY PLAN - ROOM RATES INCLUDE THE ACCOMMODATION OF CHILDREN 17 YEARS - OLD OR YOUNGER WHO SLEEP IN THE EXISTING BEDDING OF A GUEST - ROOM. ROLLAWAY BEDS AND CRIBS MAY INCUR EXTRA CHARGES. - PETS ALLOWED - DOGS UP TO 40 POUNDS ARE ALLOWED. NO OTHER PETS ARE - PERMITTED. A 50 USD NON-REFUNDABLE CLEANING FEE WILL BE - CHARGED. PETS ARE NOT ALLOWED IN SUITES AND ARE ONLY - PERMITTED IN TRADITIONAL KING AND DOUBLE ROOM TYPES. OWNERS - MUST SIGN A WAIVER AT CHECK-IN AND ARE RESPONSIBLE FOR ANY - DAMAGE OR ADDITIONAL CLEANING REQUIRED. DOGS MUST BE - LEASHED AT ALL TIMES AND ARE NOT PERMITTED IN DINING AND - RECREATION AREAS. DOGS MAY NOT BE LEFT UNATTENDED IN THE - GUESTROOM. GUESTS MUST BE IN THEIR GUESTROOM IN ORDER TO - RECEIVE HOUSEKEEPING SERVICES. - PROPERTY OFFERS COMMISSION FOR SOME RATES - PROPERTY PARTICIPATES IN CENTRALIZED COMMISSION PROCESSING - WPS - ADDITIONAL COMMISSION INFORMATION - NOT ALL RATES COMMISSIONABLE. CHECK RATE PLAN DETAILS FOR - RATE COMMISSION INFORMATION. - - - ON-SITE RECREATION - - FITNESS CENTER ON-SITE POOL - - - GENERAL ROOM DESCRIPTION - ESCAPE TO A SUPERBLY COMFORTABLE SPACE. REFRESHING TOUCHES - WILL AWAKEN YOUR SENSES. - ROOM AMENITIES FOR ALL ROOMS - ADJOINING ROOMS CABLE TELEVISION - COFFEE/TEA MAKER CONNECTING ROOMS - CRIBS DESK - ERGONOMIC CHAIR HAIRDRYER - IRON NON-SMOKING - SAFE SMOKE DETECTORS - - - PROPERTY IS FIRE SAFETY COMPLIANT - - - ON-SITE SERVICES - - BAGGAGE HOLD PETS ALLOWED - SAFE DEPOSIT BOX - - - TRANSPORTATION FROM PRIMARY AIRPORT TPA - - SHUTTLE - USD 13.0 - FEE IS PER WAY, PER PERSON. THE HOTEL DOES NOT OFFER - COMPLIMENTARY TRANSPORTATION SERVICES. - TAXI - USD 25.0 - TRANSPORTATION FROM AIRPORTS PIE - - TAXI - USD 40.0 - LIMOUSINE - USD 75.0 - TRANSPORTATION FROM AIRPORTS MCO - - TAXI - USD 200.0 - - -
- - - - - - - - - - - - - - - - - - - /GAGT GUARANTEE TO AGENCY TIDS/IATA NUMBER - /GDPST DEPOSIT WILL BE SENT - /GDPST... IMMEDIATE DEPOSIT TYPE OR FORM - - - - - - - 10.00 PERCENT COMMISSION - - 2 DAYS-PRIOR 1 NTS PENALTY - - - GUARANTEE REQRD- MAJOR CREDIT CARDS. - - - - - - - - - - - TAXES NOT INCLUDED IN ROOM RAT - AAA OR CAA MEMBERSHIP ID REQUIRED AT CHECK-IN. - NON SMOKING WATERVIEW: HIGH FLOOR ROOM: LED - SMART TV: FRIDGE / COMP BOTTLED WATER: - HEAVENLY - AAA OR CAA MEMBERSHIP REQUIRED AT BE SHOWN AT - CHECK-IN. - - - - - - - - - - INCLUDES TAXES AND SURCHARGES - - 19.22 - 13.73 - CITY TAX - OCCUPANCY TAX - - - - - - - -
-
\ No newline at end of file + + + + + + + webservices.sabre.com + + + www.z.com + + 7TZA + fds8789h|dev@z.com + HotelRateDescriptionLLSRQ + HotelRateDescriptionLLSRS + + 3319224857945470281 + 2018-05-14T23:49:54 + mid:20180207-20:19:07.25|QVbg0 + + + + Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/RESE!ICESMSLB\/RES.LB!-3177016070087638144!110012!0 + + + + + + + + HRD*12 + + + + + +
+ 725 SOUTH HARBOR ISLAND BLVD + TAMPA FL 33602 + US +
+ + NTM4 CROWN + + 15:00 + 12:00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + N + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Y + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5.00 PCT + 7.00 PCT + + + + CORPORATE LOCATIONS - + WELLS FARGO BANK 1.00 MI + FEDEX OFFICE 1.00 MI + SYKES ENTERPRISES 1.00 MI + ERNST YOUNG 1.00 MI + BANK OF AMERICA 1.00 MI + TECO ENERGY, INC. 1.00 MI + AACSB 0.06 MI + VERIZON 1.00 MI + CITIGROUP 10.99 MI + MEDIA GENERAL BROADCASTING GRO 1.00 MI + TAMPA PORT AUTHORITY 2.00 MI + KPMG 1.00 MI + CP SHIPS 1.00 MI + PRICEWATERHOUSECOOPERS 1.00 MI + + + ATTRACTIONS - + AMTRAK 1.00 MI + SALVIDOR DALI MUSEUM 24.98 MI + FORT DE SOTO PARK 33.98 MI + UNIVERSITY OF TAMPA 1.00 MI + BAYSHORE BOULEVARD LINEAR PA 1.00 MI + UNIVERSITY OF SOUTH FLORIDA 8.00 MI + LEGEND S FIELD 5.00 MI + TAMPA BAY PERFORMING ARTS CE 1.00 MI + LOWRY PARK ZOO 8.00 MI + WESTSHORE PLAZA 6.00 MI + TAMPA CONVENTION CENTER 0.12 MI + OLD HYDE PARK VILLAGE 2.00 MI + AMALIE ARENA FORMERLY ST. P 0.19 MI + TAMPA MUSEUM OF ART 1.00 MI + BUSCH GARDENS 8.99 MI + HB PLANT MUSEUM 1.00 MI + YACHT STARSHIP 1.00 MI + TAMPA THEATRE 1.00 MI + CHANNELSIDE 1.00 MI + TAMPA GENERAL HOSPITAL 2.00 MI + INTERNATIONAL PLAZA BAY ST 6.00 MI + PRICEWATERHOUSECOOPERS 1.00 MI + GERALD R. FORD AMPHITHEATRE 8.99 MI + RAYMOND JAMES STADIUM HOME 5.00 MI + FLORIDA AQUARIUM 1.00 MI + PORT AUTHORITY 2.00 MI + + + AWARDS - + GLOBAL BUSINESS TRAVEL ASSOCIATION GBTA - PROJECT ICARUS + SUPPLIER GOLD MEDAL 2016 + + + 01JAN14 - 31DEC99- + CANCEL BY 2 DAYS PRIOR TO ARRIVAL + TO AVOID A 100.00PCT CANCELLATION PENALTY + CANCELLATION POLICY TEXT - + THE CANCELLATION POLICY WILL VARY BASED ON THE RATE PLAN + AND/OR BOOKING DATE S . PLEASE SEE RATE AND POLICY + INFORMATION WHEN CHECKING AVAILABILITY. + + + ACCEPTED FORMS OF DEPOSIT- 01JAN14 - 31DEC99 + CREDIT CARD + + + YEAR BUILT - 1985 YEAR REMODELED - 2017 + ADDITIONAL PROPERTY DESCRIPTION - + ESCAPE TO THE WESTIN TAMPA WATERSIDE, SITUATED ON A UNIQUE + LANDSCAPED ISLAND IN DOWNTOWN TAMPA. ADJACENT TO THE TAMPA + CONVENTION CENTER, OUR LOCATION IS CONVENIENT FOR BUSINESS + AND LEISURE TRAVELERS ALIKE. JUST TWO BLOCKS FROM AMALIE + ARENA FORMERLY ST. PETE TIMES FORUM , WE HAVE ACCESS TO ALL + THAT TAMPA HAS TO OFFER.OUR WATERFRONT ATMOSPHERE LEAVES + NOTHING TO BE DESIRED, WITH AN OUTDOOR POOL AND A + FULL-SERVICE BUSINESS CENTER. HOST AN EVENT IN ONE OF OUR 13 + FLEXIBLE MEETING ROOMS, SOME OFFERING STUNNING HARBOR VIEWS. + ENJOY DELICIOUS CONTINENTAL FARE AT OUR ELEGANT RESTAURANT, + BLUE HARBOUR EATERY AMP BAR. OUR OVERSIZED GUEST ROOMS AND + SUITES AT THE WESTIN TAMPA WATERSIDE ARE DESIGNED TO ENHANCE + YOUR RELAXATION. RELAX IN OUR SIGNATURE HEAVENLY BED FOR A + PEACEFUL NIGHTS SLEEP. REFRESH THE NEXT MORNING IN ONE OF OUR + SPACIOUS BATHROOMS, EQUIPPED WITH THE HEAVENLY SHOWER + FEATURING DUAL SHOWERHEADS. + + + RESTAURANTS - + MARKET PLACE + RESTAURANT DESCRIPTION + STOP BY THE MARKET PLACE FOR GRAB-AND-GO OPTIONS LIKE + SNACKS, SODAS, AND COLD-BREW COFFEE. + BLUE HARBOUR EATERY BAR + CUISINE - AMERICAN + MEALS SERVED - BREAKFAST - LUNCH - DINNER + RESTAURANT DESCRIPTION + THE RELAXED YET REFINED BLUE HARBOUR EATERY BAR HAS BEEN + INSPIRED BY THE SEA. MADE FRESH FROM THE DAY S CATCH, + SIMPLE DISHES ARE FLAWLESSLY EXECUTED, AND A TOP-NOTCH + DRINK LIST INCLUDES PREMIUM COCKTAILS. + + + PRIMARY AIRPORT - + TPA - TAMPA INTERNATIONAL AIRPORT - 9.00 MI + OTHER AIRPORTS - + PIE - ST. PETERSBURG INTERNATIONAL AIRPORT - 25.00 MI + MCO - ORLANDO INTERNATIONAL AIRPORT - 86.00 MI + DIRECTIONS TO THE PROPERTY FROM THE NORTH - + TAKE INTERSTATE 75 TAMPA CROSSTOWN EXPRESSWAY, WESTBOUND. + TAKE THE CROSSTOWN EXPRESSWAY TO THE MORGAN STREET EXIT. AT + THE BASE OF THE RAMP, MERGE TO THE LEFT LANE. TURN LEFT ON + FRANKLIN STREET. + DIRECTIONS TO THE PROPERTY FROM THE SOUTH - + TAKE INTERSTATE 275 NORTH TO EXIT 44 ASHLEY STREET - + DOWNTOWN EAST/WEST . TAKE THE DOWNTOWN WEST EXIT. TAKE THE + TAMPA STREET SOUTH EXIT. TURN RIGHT ONTO FRANKLIN STREET + WHICH BECOMES HARBOUR ISLAND BOULEVARD. CONTINUE TO THE + HOTEL. + DIRECTIONS TO THE PROPERTY FROM THE WEST - + TAKE INTERSTATE 4 TO INTERSTATE 275 SOUTH. PROCEED TO EXIT 44 + ASHLEY STREET - DOWNTOWN EAST/WEST . TAKE TAMPA STREET + SOUTH. TURN RIGHT ONTO FRANKLIN STREET WHICH BECOMES HARBOUR + ISLAND BOULEVARD. CONTINUE TO THE HOTEL. + + + ON-SITE FACILITIES DESCRIPTION - + PARKING + ON-SITE FACILITIES - + ACCESSIBLE FACILITIES BUSINESS CENTER + CONCIERGE LOUNGE CONNECTING ROOMS + EXERCISE GYM HEALTH CLUB + MEETING ROOMS NON-SMOKING ROOMS GENERIC + ONSITE LAUNDRY OUTDOOR POOL + PARKING PARKING LOT + POOL RESTAURANT + WIRELESS INTERNET CONNECTION + MEETING AND CONVENTION FACILITIES - + TOTAL NBR OF MEETING ROOMS - 13 + MAXIMUM SEATING CAPACITY OF LARGEST ROOM - 700 + MAXIMUM SEATING CAPACITY OF SMALLEST ROOM - 10 + AREA OF LARGEST ROOM - 442 + AREA OF SMALLEST ROOM - 29 + TOTAL MEASUREMENT, ALL ROOMS - 1672 + MEETING ROOM SIZE AND SEATING FORMAT OPTIONS - + MEETING ROOM NAME - CORAL REEF + LENGTH: 76.00 WIDTH: 20.00 AREA: 1509.00 SQ FT + BANQUET - 100 THEATRE - 100 + RECEPTION - 150 + MEETING ROOM NAME - CHANNELSIDE + LENGTH: 144.00 WIDTH: 26.00 AREA: 3744.00 SQ FT + BANQUET - 200 THEATRE - 180 + RECEPTION - 400 + MEETING ROOM NAME - PALM + LENGTH: 18.00 WIDTH: 22.00 AREA: 396.00 SQ FT + CONFERENCE - 14 + MEETING ROOM NAME - REEF + LENGTH: 27.00 WIDTH: 20.00 AREA: 540.00 SQ FT + BANQUET - 40 THEATRE - 50 + RECEPTION - 60 + MEETING ROOM NAME - CORAL + LENGTH: 27.00 WIDTH: 20.00 AREA: 540.00 SQ FT + BANQUET - 40 THEATRE - 50 + RECEPTION - 60 + MEETING ROOM NAME - HIBISCUS + LENGTH: 25.00 WIDTH: 17.00 AREA: 425.00 SQ FT + BANQUET - 24 THEATRE - 50 + RECEPTION - 50 + MEETING ROOM NAME - LAGOON + LENGTH: 20.00 WIDTH: 16.00 AREA: 320.00 SQ FT + BANQUET - 12 THEATRE - 40 + RECEPTION - 30 + MEETING ROOM NAME - SUNSET + LENGTH: 35.00 WIDTH: 25.00 AREA: 875.00 SQ FT + BANQUET - 70 THEATRE - 80 + RECEPTION + + + -01JAN14 - 31DEC99 MON-SUN + CREDIT CARD GUARANTEE MAY BE REQUIRED ON RESERVATIONS. + ACCEPTED FORMS OF GUARANTEE- 01JAN14 - 31DEC99 + AGENCY IATA/ARC CREDIT CARD + DEPOSIT + + + PRIMARY PROPERTY LOCATION - CITY + DISTRICT - + AREA - + PRIMARY AIRPORT - + TPA 9.00 MILE + ADDITIONAL AIRPORTS - + PIE 25.00 MILE + MCO 86.00 MILE + PRIMARY CITY - + TPA - CITY CENTER 0.72 MILE + EXPLORE AND DISCOVER OUR SURROUNDINGS. + + + WESTIN HOTELS FOR A BETTER YOU + MEMBER OF STARWOOD HOTELS + + + EMAIL - RESERVATIONS WESTINTAMPAWATERSIDE.COM + TIME ZONE - EDT + TAXES AND SURCHARGES - + 5.00 PCT OCCUPANCY TAX 11MAY18 - 31DEC99 + 7.00 PCT CITY TAX 11MAY18 - 31DEC99 + + + EXTRA CHILD - 0 USD + CHILDREN STAY FREE + ROOM RATES INCLUDE THE ACCOMMODATION OF CHILDREN 17 YEARS + OLD OR YOUNGER WHO SLEEP IN THE EXISTING BEDDING OF A GUEST + ROOM. ROLLAWAY BEDS AND CRIBS MAY INCUR EXTRA CHARGES. + FAMILY PLAN + ROOM RATES INCLUDE THE ACCOMMODATION OF CHILDREN 17 YEARS + OLD OR YOUNGER WHO SLEEP IN THE EXISTING BEDDING OF A GUEST + ROOM. ROLLAWAY BEDS AND CRIBS MAY INCUR EXTRA CHARGES. + PETS ALLOWED + DOGS UP TO 40 POUNDS ARE ALLOWED. NO OTHER PETS ARE + PERMITTED. A 50 USD NON-REFUNDABLE CLEANING FEE WILL BE + CHARGED. PETS ARE NOT ALLOWED IN SUITES AND ARE ONLY + PERMITTED IN TRADITIONAL KING AND DOUBLE ROOM TYPES. OWNERS + MUST SIGN A WAIVER AT CHECK-IN AND ARE RESPONSIBLE FOR ANY + DAMAGE OR ADDITIONAL CLEANING REQUIRED. DOGS MUST BE + LEASHED AT ALL TIMES AND ARE NOT PERMITTED IN DINING AND + RECREATION AREAS. DOGS MAY NOT BE LEFT UNATTENDED IN THE + GUESTROOM. GUESTS MUST BE IN THEIR GUESTROOM IN ORDER TO + RECEIVE HOUSEKEEPING SERVICES. + PROPERTY OFFERS COMMISSION FOR SOME RATES + PROPERTY PARTICIPATES IN CENTRALIZED COMMISSION PROCESSING + WPS + ADDITIONAL COMMISSION INFORMATION + NOT ALL RATES COMMISSIONABLE. CHECK RATE PLAN DETAILS FOR + RATE COMMISSION INFORMATION. + + + ON-SITE RECREATION - + FITNESS CENTER ON-SITE POOL + + + GENERAL ROOM DESCRIPTION + ESCAPE TO A SUPERBLY COMFORTABLE SPACE. REFRESHING TOUCHES + WILL AWAKEN YOUR SENSES. + ROOM AMENITIES FOR ALL ROOMS + ADJOINING ROOMS CABLE TELEVISION + COFFEE/TEA MAKER CONNECTING ROOMS + CRIBS DESK + ERGONOMIC CHAIR HAIRDRYER + IRON NON-SMOKING + SAFE SMOKE DETECTORS + + + PROPERTY IS FIRE SAFETY COMPLIANT + + + ON-SITE SERVICES - + BAGGAGE HOLD PETS ALLOWED + SAFE DEPOSIT BOX + + + TRANSPORTATION FROM PRIMARY AIRPORT TPA - + SHUTTLE - USD 13.0 + FEE IS PER WAY, PER PERSON. THE HOTEL DOES NOT OFFER + COMPLIMENTARY TRANSPORTATION SERVICES. + TAXI - USD 25.0 + TRANSPORTATION FROM AIRPORTS PIE - + TAXI - USD 40.0 + LIMOUSINE - USD 75.0 + TRANSPORTATION FROM AIRPORTS MCO - + TAXI - USD 200.0 + + +
+ + + + + + + + + + + + + + + + + + + /GAGT GUARANTEE TO AGENCY TIDS/IATA NUMBER + /GDPST DEPOSIT WILL BE SENT + /GDPST... IMMEDIATE DEPOSIT TYPE OR FORM + + + + + + + 10.00 PERCENT COMMISSION + + 2 DAYS-PRIOR 1 NTS PENALTY + + + GUARANTEE REQRD- MAJOR CREDIT CARDS. + + + + + + + + + + + TAXES NOT INCLUDED IN ROOM RAT + AAA OR CAA MEMBERSHIP ID REQUIRED AT CHECK-IN. + NON SMOKING WATERVIEW: HIGH FLOOR ROOM: LED + SMART TV: FRIDGE / COMP BOTTLED WATER: + HEAVENLY + AAA OR CAA MEMBERSHIP REQUIRED AT BE SHOWN AT + CHECK-IN. + + + + + + + + + + INCLUDES TAXES AND SURCHARGES + + 19.22 + 13.73 + CITY TAX + OCCUPANCY TAX + + + + + + + +
+
+
+
\ No newline at end of file