www.expedia.com
Open in
urlscan Pro
23.55.200.190
Public Scan
Submitted URL: https://www.googleadservices.com/pagead/aclk?sa=L&ai=DChcSEwjlrcSSlZ-HAxWNNdQBHXQFDKQYABACGgJvYQ&ase=2&gclid=Cj0KCQjwhb60BhClARIs...
Effective URL: https://www.expedia.com/Puerto-Rico.d148.Destination-Travel-Guides?semcid=US.UB.GOOGLE.DL-c-EN.PACKAGE&semdtl=a117728704...
Submission: On July 17 via manual from US — Scanned from US
Effective URL: https://www.expedia.com/Puerto-Rico.d148.Destination-Travel-Guides?semcid=US.UB.GOOGLE.DL-c-EN.PACKAGE&semdtl=a117728704...
Submission: On July 17 via manual from US — Scanned from US
Form analysis
1 forms found in the DOM/flexibleshopping
<form novalidate="" action="/flexibleshopping" autocomplete="off" class="WizardPackagePWA" data-testid="wizard" id="wizard-package-pwa-1" data-fm="3150457">
<div class="uitk-layout-flex uitk-layout-flex-align-items-flex-end uitk-layout-flex-justify-content-space-between uitk-spacing uitk-spacing-margin-small-blockend-three uitk-spacing-margin-large-blockend-six">
<div class="uitk-layout-flex-item">
<div class="uitk-text uitk-type-300 uitk-text-default-theme uitk-spacing uitk-spacing-margin-blockstart-four uitk-spacing-margin-blockend-three">Choose one or more items to build your trip:</div>
<div role="group" aria-label="Choose one or more items to build your trip:" data-testid="pills-group" class="uitk-layout-flex-item uitk-spacing">
<div class="uitk-layout-flex" data-test-id="type-menu-pills">
<div class="uitk-pill uitk-layout-flex-item"><input id="package-pills-hotels" aria-checked="true" type="checkbox" class="uitk-pill-standard is-visually-hidden" value="true" checked=""><label class="uitk-pill-content uitk-pill-active"
for="package-pills-hotels"><span class="uitk-pill-text">Stay added</span></label></div>
<div class="uitk-pill uitk-layout-flex-item"><input id="package-pills-flights" aria-checked="true" type="checkbox" class="uitk-pill-standard is-visually-hidden" value="true" checked=""><label class="uitk-pill-content uitk-pill-active"
for="package-pills-flights"><span class="uitk-pill-text">Flight added</span></label></div>
<div class="uitk-pill uitk-layout-flex-item"><input id="package-pills-cars" aria-checked="false" type="checkbox" class="uitk-pill-standard is-visually-hidden" value="false"><label class="uitk-pill-content" for="package-pills-cars"><span
class="uitk-pill-text">Add a car</span></label></div>
</div>
</div>
</div>
<div class="uitk-layout-flex-item">
<div class="uitk-layout-flex uitk-layout-flex-align-items-center uitk-layout-flex-gap-six uitk-layout-flex-flex-wrap-wrap packageSelectors">
<div class="uitk-layout-grid-item TravelersField uitk-layout-grid-item-has-column-start uitk-layout-grid-item-has-column-start-by-medium" style="--uitk-layoutgrid-column-start:span 2;--uitk-layoutgrid-column-start-medium:span 12">
<div>
<div class="uitk-menu uitk-menu-mounted" id="adaptive-menu"><button type="button" data-testid="travelers-field" aria-label="1 room, 2 travelers"
class="uitk-link uitk-menu-trigger uitk-link-align-left uitk-link-no-wrap uitk-link-layout-default uitk-link-medium" aria-expanded="false">1 room, 2 travelers<svg class="uitk-icon uitk-link-icon-medium" aria-hidden="true"
viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6-1.41-1.41z"></path>
</svg></button>
<div class="uitk-menu-container animation-disabled uitk-menu-pos-left uitk-menu-container-autoposition" aria-hidden="true" style="width: 376px;">
<div class="uitk-spacing uitk-spacing-padding-three">
<div>
<div class="uitk-spacing uitk-spacing-padding-inline-one uitk-spacing-padding-blockstart-two">
<h3 class="uitk-heading uitk-heading-5">Travelers</h3>
</div>
<div tabindex="0" role="group" class="uitk-spacing uitk-spacing-padding-inline-one uitk-spacing-padding-blockstart-half uitk-spacing-padding-blockend-twelve uitk-scrollable uitk-scrollable-vertical">
<section>
<div class="uitk-spacing roomPickerRoom uitk-spacing-margin-blockstart-unset uitk-spacing-padding-blockstart-unset" data-testid="room-1">
<div data-testid="room-header" class="uitk-spacing uitk-spacing-padding-blockstart-two">
<h3 class="uitk-heading uitk-heading-7" data-testid="room-header-0" aria-label="Room 1 of 1" tabindex="0">Room 1</h3>
</div>
<div class="uitk-layout-flex uitk-layout-flex-align-items-center uitk-layout-flex-justify-content-space-between uitk-step-input adultStepInput uitk-step-input-mounted"><label for="adult-input-0"
class="uitk-layout-flex-item uitk-layout-flex-item-flex-grow-1 uitk-step-input-label-section"><span class="uitk-step-input-label">Adults</span></label>
<div class="uitk-layout-flex uitk-layout-flex-item uitk-step-input-controls"><button type="button" class="uitk-layout-flex-item uitk-step-input-touch-target"><span class="uitk-step-input-button"><svg
class="uitk-icon uitk-step-input-icon" aria-label="Decrease adults in room 1" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title id="uitk-step-decrement-adults-612-title">Decrease adults in room 1</title>
<path d="M19 13H5v-2h14v2z"></path>
</svg></span></button><input type="text" id="adult-input-0" min="1" max="6" tabindex="-1" aria-label="Adults" class="uitk-layout-flex-item uitk-step-input-value" value="2" readonly=""><button type="button"
class="uitk-layout-flex-item uitk-step-input-touch-target"><span class="uitk-step-input-button"><svg class="uitk-icon uitk-step-input-icon" aria-label="Increase adults in room 1" role="img" viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title id="uitk-step-increment-adults-849-title">Increase adults in room 1</title>
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg></span></button></div>
</div>
<div class="uitk-layout-flex uitk-layout-flex-align-items-center uitk-layout-flex-justify-content-space-between uitk-step-input childStepInput uitk-step-input-mounted"><label for="child-input-0"
class="uitk-layout-flex-item uitk-layout-flex-item-flex-grow-1 uitk-step-input-label-section"><span class="uitk-step-input-label">Children</span><span class="uitk-step-input-description">Ages 2 to 17</span></label>
<div class="uitk-layout-flex uitk-layout-flex-item uitk-step-input-controls"><button type="button" disabled="" class="uitk-layout-flex-item uitk-step-input-touch-target"><span class="uitk-step-input-button"><svg
class="uitk-icon uitk-step-input-icon" aria-label="Decrease children in room 1" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title id="uitk-step-decrement-children-296-title">Decrease children in room 1</title>
<path d="M19 13H5v-2h14v2z"></path>
</svg></span></button><input type="text" id="child-input-0" min="0" max="6" tabindex="-1" aria-label="Children,Ages 2 to 17" class="uitk-layout-flex-item uitk-step-input-value" value="0" readonly=""><button
type="button" class="uitk-layout-flex-item uitk-step-input-touch-target"><span class="uitk-step-input-button"><svg class="uitk-icon uitk-step-input-icon" aria-label="Increase children in room 1" role="img"
viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title id="uitk-step-increment-children-593-title">Increase children in room 1</title>
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg></span></button></div>
</div>
<div class="uitk-layout-flex uitk-layout-flex-align-items-center uitk-layout-flex-justify-content-space-between uitk-step-input childStepInput uitk-step-input-mounted"><label for="infant-input-0"
class="uitk-layout-flex-item uitk-layout-flex-item-flex-grow-1 uitk-step-input-label-section"><span class="uitk-step-input-label">Infants</span><span class="uitk-step-input-description">Younger than 2</span></label>
<div class="uitk-layout-flex uitk-layout-flex-item uitk-step-input-controls"><button type="button" disabled="" class="uitk-layout-flex-item uitk-step-input-touch-target"><span class="uitk-step-input-button"><svg
class="uitk-icon uitk-step-input-icon" aria-label="Decrease infants in room 1" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title id="uitk-step-decrement-infants-404-title">Decrease infants in room 1</title>
<path d="M19 13H5v-2h14v2z"></path>
</svg></span></button><input type="text" id="infant-input-0" min="0" max="6" tabindex="-1" aria-label="Infants,Younger than 2" class="uitk-layout-flex-item uitk-step-input-value" value="0" readonly=""><button
type="button" class="uitk-layout-flex-item uitk-step-input-touch-target"><span class="uitk-step-input-button"><svg class="uitk-icon uitk-step-input-icon" aria-label="Increase infants in room 1" role="img"
viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title id="uitk-step-increment-infants-865-title">Increase infants in room 1</title>
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg></span></button></div>
</div>
<div>
<div class="uitk-layout-grid uitk-layout-grid-has-auto-columns uitk-layout-grid-has-columns uitk-layout-grid-has-space uitk-layout-grid-display-grid uitk-spacing uitk-spacing-padding-blockstart-one"
data-testid="infant-ages"
style="--uitk-layoutgrid-auto-columns: minmax(var(--uitk-layoutgrid-egds-size__0x), 1fr); --uitk-layoutgrid-columns: repeat(2, minmax(0, 1fr)); --uitk-layoutgrid-column-gap: var(--uitk-layoutgrid-space-two); --uitk-layoutgrid-row-gap: var(--uitk-layoutgrid-space-two);">
</div>
</div>
</div>
<div class="uitk-layout-flex uitk-layout-flex-justify-content-flex-end"><button data-testid="add-room-button" type="button"
class="uitk-button uitk-button-medium uitk-button-has-text uitk-button-tertiary uitk-layout-flex-item addRoomButton">Add another room</button></div>
<div class="uitk-spacing uitk-spacing-padding-blockstart-two uitk-spacing-padding-blockend-six"></div>
</section>
</div>
<div class="uitk-layout-position uitk-layout-position-bottom-zero uitk-layout-position-sticky">
<div class="uitk-scrim guestsDoneBtn fade-button"><button data-testid="guests-done-button" type="button"
class="uitk-button uitk-button-large uitk-button-fullWidth uitk-button-has-text uitk-button-primary uitk-button-floating-full-width">Done</button></div>
</div>
</div>
</div>
</div>
</div>
</div><input type="hidden" name="numberOfRooms" data-testid="numberOfRooms-input" value="1"><input type="hidden" name="infantsInSeats" data-testid="infantsInSeats-input" value="0"><input type="hidden" name="adultsPerRoom[1]"
data-testid="adultsPerRoom[1]-input" value="2"><input type="hidden" name="childrenPerRoom[1]" data-testid="childrenPerRoom[1]-input" value="0">
</div>
<div class="uitk-layout-grid-item uitk-layout-grid-item-has-column-start uitk-layout-grid-item-has-column-start-by-medium" style="--uitk-layoutgrid-column-start:span 2;--uitk-layoutgrid-column-start-medium:span 12">
<div class="uitk-menu uitk-menu-mounted" id="preferred-class-input"><button type="button" aria-label="Preferred flight class Economy" class="uitk-link uitk-menu-trigger uitk-link-align-left uitk-link-layout-default uitk-link-medium"
id="preferred-class-input-trigger" data-testid="preferred-class-input-trigger" aria-expanded="false">Economy<svg class="uitk-icon uitk-link-icon-medium" aria-hidden="true" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6-1.41-1.41z"></path>
</svg></button>
<div class="uitk-menu-container animation-disabled uitk-menu-pos-left uitk-menu-container-text-nowrap" aria-hidden="true">
<div role="menu" class="uitk-list uitk-type-400">
<a class="uitk-list-item" role="menuitem" tabindex="0" href="#"><span class="uitk-menu-list-item-label">Economy</span></a><a class="uitk-list-item" role="menuitem" tabindex="0" href="#"><span class="uitk-menu-list-item-label">Premium economy</span></a><a class="uitk-list-item" role="menuitem" tabindex="0" href="#"><span class="uitk-menu-list-item-label">Business class</span></a><a class="uitk-list-item" role="menuitem" tabindex="0" href="#"><span class="uitk-menu-list-item-label">First class</span></a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class="uitk-layout-grid uitk-layout-grid-has-auto-columns uitk-layout-grid-has-columns uitk-layout-grid-has-columns-by-medium uitk-layout-grid-has-columns-by-large uitk-layout-grid-has-space uitk-layout-grid-display-grid uitk-spacing uitk-spacing-margin-small-blockstart-three"
style="--uitk-layoutgrid-auto-columns:minmax(var(--uitk-layoutgrid-egds-size__0x), 1fr);--uitk-layoutgrid-columns:repeat(2, minmax(0, 1fr));--uitk-layoutgrid-columns-medium:repeat(12, minmax(0, 1fr));--uitk-layoutgrid-columns-large:repeat(12, minmax(0, 1fr));--uitk-layoutgrid-column-gap:var(--uitk-layoutgrid-space-three);--uitk-layoutgrid-row-gap:var(--uitk-layoutgrid-space-three)">
<div class="uitk-layout-grid-item uitk-layout-grid-item-has-column-start uitk-layout-grid-item-has-column-start-by-medium uitk-layout-grid-item-has-column-start-by-large"
style="--uitk-layoutgrid-column-start:span 2;--uitk-layoutgrid-column-start-medium:span 12;--uitk-layoutgrid-column-start-large:span 8">
<div class="uitk-layout-grid uitk-layout-grid-has-auto-columns uitk-layout-grid-has-columns uitk-layout-grid-has-columns-by-medium uitk-layout-grid-has-space uitk-layout-grid-display-grid Location locationWithSwap"
style="--uitk-layoutgrid-auto-columns:minmax(var(--uitk-layoutgrid-egds-size__0x), 1fr);--uitk-layoutgrid-columns:repeat(1, minmax(0, 1fr));--uitk-layoutgrid-columns-medium:repeat(2, minmax(0, 1fr));--uitk-layoutgrid-column-gap:var(--uitk-layoutgrid-space-three);--uitk-layoutgrid-row-gap:var(--uitk-layoutgrid-space-three)">
<div class="uitk-layout-grid-item uitk-layout-grid-item-has-column-start uitk-layout-grid-item-has-column-start-by-medium" style="--uitk-layoutgrid-column-start:span 1;--uitk-layoutgrid-column-start-medium:span 1">
<div data-testid="location-field-origin-container">
<div class="uitk-typeahead" data-stid="location-field-origin">
<div class="uitk-typeahead-menu-layer is-hidden">
<div class="uitk-menu-typeahead-wrapper">
<div class="uitk-typeahead-menu" id="location-field-origin-menu">
<div class="uitk-menu-trigger"></div>
</div>
</div>
</div>
<div>
<div class="uitk-field has-floatedLabel-label has-icon"><label class="uitk-field-label is-visually-hidden">Leaving from</label><input type="text" class="uitk-field-input is-hidden empty-placeholder" placeholder=""
aria-required="false" aria-invalid="false" value=""><button aria-label="Leaving from" aria-expanded="false" data-stid="location-field-origin-menu-trigger" class="uitk-fake-input uitk-form-field-trigger" type="button"></button>
<div class="uitk-field-label" aria-hidden="true">Leaving from</div><svg class="uitk-icon uitk-field-icon" aria-hidden="true" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path fill-rule="evenodd" d="M5 9a7 7 0 1 1 14 0c0 5.25-7 13-7 13S5 14.25 5 9zm4.5 0a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0z" clip-rule="evenodd"></path>
</svg>
</div>
<div class="uitk-field has-floatedLabel-label has-icon"><label for="location-field-origin-input" class="uitk-field-label is-visually-hidden">Leaving from</label><input data-stid="location-field-origin-input" name="origin"
id="location-field-origin-input" type="text" class="uitk-field-input is-hidden empty-placeholder" aria-required="false" aria-invalid="false" value="">
<div class="uitk-field-label" aria-hidden="true">Leaving from</div><svg class="uitk-icon uitk-field-icon" aria-hidden="true" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path fill-rule="evenodd" d="M5 9a7 7 0 1 1 14 0c0 5.25-7 13-7 13S5 14.25 5 9zm4.5 0a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0z" clip-rule="evenodd"></path>
</svg>
</div>
</div>
</div>
</div>
</div><button class="SwapLocationsDesktop" type="button" aria-label="Swap origin and destination"><svg class="uitk-icon" aria-hidden="true" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path d="M16 17.01V10h-2v7.01h-3L15 21l4-3.99h-3zM9 3 5 6.99h3V14h2V6.99h3L9 3z"></path>
</svg></button>
<div class="uitk-layout-grid-item uitk-layout-grid-item-has-column-start uitk-layout-grid-item-has-column-start-by-medium" style="--uitk-layoutgrid-column-start:span 1;--uitk-layoutgrid-column-start-medium:span 1">
<div data-testid="location-field-destination-container">
<div class="uitk-typeahead" data-stid="location-field-destination">
<div class="uitk-typeahead-menu-layer is-hidden">
<div class="uitk-menu-typeahead-wrapper">
<div class="uitk-typeahead-menu" id="location-field-destination-menu">
<div class="uitk-menu-trigger"></div>
</div>
</div>
</div>
<div>
<div class="uitk-field has-floatedLabel-label has-icon"><label class="uitk-field-label is-visually-hidden">Going to</label><input type="text" class="uitk-field-input is-hidden empty-placeholder" placeholder="" aria-required="false"
aria-invalid="false" value=""><button aria-label="Going to" aria-expanded="false" data-stid="location-field-destination-menu-trigger" class="uitk-fake-input uitk-form-field-trigger" type="button"></button>
<div class="uitk-field-label" aria-hidden="true">Going to</div><svg class="uitk-icon uitk-field-icon" aria-hidden="true" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path fill-rule="evenodd" d="M5 9a7 7 0 1 1 14 0c0 5.25-7 13-7 13S5 14.25 5 9zm4.5 0a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0z" clip-rule="evenodd"></path>
</svg>
</div>
<div class="uitk-field has-floatedLabel-label has-icon"><label for="location-field-destination-input" class="uitk-field-label is-visually-hidden">Going to</label><input data-stid="location-field-destination-input" name="destination"
id="location-field-destination-input" type="text" class="uitk-field-input is-hidden empty-placeholder" aria-required="false" aria-invalid="false" value="">
<div class="uitk-field-label" aria-hidden="true">Going to</div><svg class="uitk-icon uitk-field-icon" aria-hidden="true" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path fill-rule="evenodd" d="M5 9a7 7 0 1 1 14 0c0 5.25-7 13-7 13S5 14.25 5 9zm4.5 0a2.5 2.5 0 1 0 5 0 2.5 2.5 0 0 0-5 0z" clip-rule="evenodd"></path>
</svg>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="uitk-layout-grid-item uitk-layout-grid-item-has-column-start uitk-layout-grid-item-has-column-start-by-medium uitk-layout-grid-item-has-column-start-by-large"
style="--uitk-layoutgrid-column-start:span 2;--uitk-layoutgrid-column-start-medium:span 12;--uitk-layoutgrid-column-start-large:span 4">
<div class="Dates"><input type="hidden" name="fromDate" value="2024-08-02"><input type="hidden" name="toDate" value="2024-08-05">
<div class="uitk-layout-flex uitk-layout-flex-flex-direction-row uitk-layout-flex-gap-three uitk-layout-flex-item uitk-date-fields uitk-layout-flex-item-flex-grow-1 uitk-date-fields-wrapper">
<div class="uitk-layout-flex-item uitk-layout-flex-item-max-width-half_width uitk-layout-flex-item-flex-basis-zero uitk-layout-flex-item-flex-grow-1 uitk-date-field-wrapper">
<div class="uitk-date-picker-menu uitk-menu uitk-menu-mounted" id="">
<div class="uitk-field has-floatedLabel-label has-icon has-placeholder"><label for="d1" class="uitk-field-label"><span aria-hidden="true">Departing</span></label><input id="d1" name="d1" data-stid="input-date" aria-expanded="false"
type="text" class="uitk-field-input uitk-menu-trigger is-hidden" placeholder="Departing" aria-required="false" aria-invalid="false" value="2024-08-02"><button aria-label="Departing Aug 2" data-name="d1" id="d1-btn"
data-stid="open-date-picker" type="button" class="uitk-faux-input uitk-form-field-trigger">Aug 2</button><button class="is-visually-hidden" type="button" aria-hidden="true" tabindex="-1"></button><svg
class="uitk-icon uitk-field-icon" aria-hidden="true" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path fill-rule="evenodd" d="M19 3h-1V1h-2v2H8V1H6v2H5a2 2 0 0 0-1.99 2L3 19a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm0 5v11H5V8h14zm-7 2H7v5h5v-5z" clip-rule="evenodd"></path>
</svg></div>
</div>
</div>
<div class="uitk-layout-flex-item uitk-layout-flex-item-max-width-half_width uitk-layout-flex-item-flex-basis-zero uitk-layout-flex-item-flex-grow-1 uitk-date-field-wrapper">
<div class="uitk-date-picker-menu uitk-menu uitk-menu-mounted" id="">
<div class="uitk-field has-floatedLabel-label has-icon has-placeholder"><label for="d2" class="uitk-field-label"><span aria-hidden="true">Returning</span></label><input id="d2" name="d2" data-stid="input-date" aria-expanded="false"
type="text" class="uitk-field-input uitk-menu-trigger is-hidden" placeholder="Returning" aria-required="false" aria-invalid="false" value="2024-08-05"><button aria-label="Returning Aug 5" data-name="d2" id="d2-btn"
data-stid="open-date-picker" type="button" class="uitk-faux-input uitk-form-field-trigger">Aug 5</button><button class="is-visually-hidden" type="button" aria-hidden="true" tabindex="-1"></button><svg
class="uitk-icon uitk-field-icon" aria-hidden="true" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path fill-rule="evenodd" d="M19 3h-1V1h-2v2H8V1H6v2H5a2 2 0 0 0-1.99 2L3 19a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm0 5v11H5V8h14zm-7 2H7v5h5v-5z" clip-rule="evenodd"></path>
</svg></div>
</div>
</div>
</div>
</div>
</div>
<div class="uitk-layout-grid-item uitk-layout-grid-item-has-column-start uitk-layout-grid-item-has-column-end" style="--uitk-layoutgrid-column-start:1;--uitk-layoutgrid-column-end:-1">
<div class="uitk-layout-flex uitk-layout-flex-flex-wrap-nowrap uitk-checkbox"><input type="checkbox" name="package-partial-stay" id="package-partial-stay" class="uitk-layout-flex-item uitk-layout-flex-item-flex-shrink-0"
aria-label="I only need accommodations for part of my trip" value=""><span aria-hidden="true" class="uitk-layout-flex-item uitk-layout-flex-item-flex-shrink-0 uitk-checkbox-control"></span>
<div class="uitk-layout-flex-item uitk-layout-flex-item-flex-grow-1 uitk-checkbox-content"><label class="uitk-checkbox-label" for="package-partial-stay">
<p class="uitk-checkbox-label-content">I only need accommodations for part of my trip</p>
</label></div>
</div>
</div>
<div><input type="hidden" name="packageType" value="fh"><input type="hidden" name="cabinClass" value="e" data-testid="cabinClass-input"><input type="hidden" name="flightCarrier" data-testid="flightAirline-input" value=""><input type="hidden"
name="originId" value="" data-testid="originId-input" disabled=""><input type="hidden" name="ftla" value="" data-testid="originTLA-input" disabled=""><input type="hidden" name="destinationId" value="" data-testid="destinationId-input"
disabled=""><input type="hidden" name="ttla" value="" data-testid="destinationTLA-input" disabled=""><input type="hidden" name="hotelId" value="" data-testid="hotelId-input" disabled=""><input type="hidden" name="hotelDestinationId" value=""
data-testid="hotelDestinationId-input" disabled=""><input type="hidden" name="tripType" data-testid="flight-type-input" value="ROUND_TRIP"><input type="hidden" name="toDate" value="" disabled=""><input type="hidden" name="isPartialStay"
value="0" data-testid="partial-stay-input"></div>
</div>
<div
class="uitk-layout-grid uitk-layout-grid-has-auto-columns uitk-layout-grid-has-columns uitk-layout-grid-has-columns-by-medium uitk-layout-grid-has-columns-by-large uitk-layout-grid-has-space uitk-layout-grid-display-grid uitk-spacing uitk-spacing-padding-small-blockstart-three uitk-spacing-padding-small-blockend-six uitk-spacing-padding-medium-blockstart-three"
style="--uitk-layoutgrid-auto-columns:minmax(var(--uitk-layoutgrid-egds-size__0x), 1fr);--uitk-layoutgrid-columns:repeat(1, minmax(0, 1fr));--uitk-layoutgrid-columns-medium:repeat(8, minmax(0, 1fr));--uitk-layoutgrid-columns-large:repeat(12, minmax(0, 1fr));--uitk-layoutgrid-column-gap:var(--uitk-layoutgrid-space-three);--uitk-layoutgrid-row-gap:var(--uitk-layoutgrid-space-three)">
<div class="uitk-layout-grid-item uitk-layout-grid-item-has-column-start uitk-layout-grid-item-has-column-start-by-medium uitk-layout-grid-item-has-column-start-by-large"
style="--uitk-layoutgrid-column-start:span 1;--uitk-layoutgrid-column-start-medium:span 2;--uitk-layoutgrid-column-start-large:span 2"><button data-testid="submit-button" type="submit"
class="uitk-button uitk-button-large uitk-button-fullWidth uitk-button-has-text uitk-button-primary">Search</button></div>
</div>
</form>
Text Content
Skip to Main Content. Shop travel Shop travel StaysStays FlightsFlights CarsCars PackagesPackages Things to doThings to do CruisesCruises -------------------------------------------------------------------------------- Deals Groups & meetings Expedia Magazine Download the app buttonDownload button with download icon Get the app USD List your propertySupportTrips Communication Center icon Sign in EXPEDIA REWARDS IS NOW ONE KEY™ Earn rewards across our family of brands with One Key Sign in, it's free Learn about One Key -------------------------------------------------------------------------------- Feedback 1. Expedia.com 2. Packages 3. Caribbean 4. Puerto Rico Plan your trip Puerto Rico Travel GuidePuerto Rico HotelsVacation Rentals in Puerto RicoPuerto Rico FlightsCar Rentals in Puerto Rico PUERTO RICO VACATIONS & TRIPS FROM $389 BOOK A HOTEL + FLIGHT OR CAR TOGETHER TO UNLOCK SAVINGS * Packages * Stays * Flights * Cars * Things to do * Choose one or more items to build your trip: Stay added Flight added Add a car 1 room, 2 travelers TRAVELERS ROOM 1 Adults Decrease adults in room 1Increase adults in room 1 ChildrenAges 2 to 17 Decrease children in room 1Increase children in room 1 InfantsYounger than 2 Decrease infants in room 1Increase infants in room 1 Add another room Done Economy EconomyPremium economyBusiness classFirst class Leaving from Leaving from Leaving from Leaving from Going to Going to Going to Going to DepartingAug 2 ReturningAug 5 I only need accommodations for part of my trip Search YOUR PUERTO RICO VACATION Embark on your next epic adventure with a Puerto Rico vacation package, and leave relaxed knowing all the details are organized. And with the ability to customize your getaway, you know it'll be one to remember! A carefully planned itinerary is a must-have to get the most out of your trip to Puerto Rico. Río Grande, Dorado and Caguas are a few of the most popular cities here. Whether you're traveling for a week or a month, Expedia are here to help you customize your next dream Puerto Rico vacation. TOP DESTINATIONS IN PUERTO RICO FlightsFlightsHotelsHotels SAN JUAN San Juan FlightsFlightsHotelsHotels CABO ROJO Cabo Rojo FlightsFlightsHotelsHotels PONCE Ponce FlightsFlightsHotelsHotels CULEBRA Culebra FlightsFlightsHotelsHotels AGUADILLA Aguadilla FlightsFlightsHotelsHotels VIEQUES Vieques FlightsFlightsHotelsHotels RINCON Rincon FlightsFlightsHotelsHotels MAYAGÜEZ Mayagüez FlightsFlightsHotelsHotels ARECIBO Arecibo Next THE LATEST PUERTO RICO VACATION PACKAGES Price found within the past 48 hours. Click for updated prices. Trip length 3 nights 4 nights 5 nights 6-7 nights Star rating 5 star 4 star & up 3 star & up 2 star & up Flight class Economy Premium economy Business First class Remove all filters CIQALA LUXURY SUITES 4 out of 5 Santurce Save 100% on your flight Price was $654, price is now $389 per person $654 $389 per person Sep 8 - Sep 12 found 1 day ago Roundtrip flight included Boston (BOS) to San Juan (SJU) 7/10 Good! (1,009 reviews) The staff here is incredible and made all the difference in how we enjoyed San Juan. I also was not expecting to have a balcony which had a nice view. Lastly, the rooftop restaurant Éter and their breakfast was also good! Reviewed on Jul 16, 2024 BALI POSHTEL PR 3 out of 5 Isla Verde Save 100% on your flight Price was $941, price is now $513 per person $941 $513 per person Sep 18 - Sep 24 found 1 day ago Roundtrip non-stop flight included Boston (BOS) to San Juan (SJU) No reviews FORTALEZA SUITES 3.5 out of 5 Old San Juan Save 100% on your flight Price was $740, price is now $419 per person $740 $419 per person Sep 18 - Sep 24 found 1 day ago Roundtrip non-stop flight included Boston (BOS) to San Juan (SJU) 9/10 Wonderful! (1,003 reviews) Mediocre place to stay Reviewed on Jul 9, 2024 SAN JUAN WATER AND BEACH CLUB 4 out of 5 Isla Verde Save 100% on your flight Price was $1,524, price is now $906 per person $1,524 $906 per person Sep 18 - Sep 24 found 1 day ago Roundtrip non-stop flight included Boston (BOS) to San Juan (SJU) 7.2/10 Good! (1,007 reviews) We have a wonderful vacation, lot of activities planned ahead, hotel staff were cordial and respectful and friendly we enjoy this time thanks Reviewed on Jul 14, 2024 EL COLONIAL - ADULTS ONLY 3.5 out of 5 Old San Juan Save 100% on your flight Price was $1,268, price is now $760 per person $1,268 $760 per person Oct 9 - Oct 13 found 1 day ago Roundtrip non-stop flight included Boston (BOS) to San Juan (SJU) 9.6/10 Exceptional! (965 reviews) Hospitality was second to none. Great hotel Reviewed on Jul 16, 2024 Choose your dates PUERTO RICO HOTEL + FLIGHTS Be a savvy traveler. Bundle your hotel, flights and car rental into a Puerto Rico Vacation Package and save some serious cash. Take your pick of 6,399 terrific hotels starting at $349 a night. The more you book with Expedia, the bigger your rewards. So why not enlist the help of local experts and add some tours to your itinerary too? You’ll never forget kayaking at night through a bioluminescent bay! YOUR PUERTO RICO VACATION ITINERARY * Day 1: Explore exquisite Spanish colonial architecture in San Juan’s colorful Old Town and visit important landmarks such as Castillo San Cristóbal and San Juan Bautista Cathedral. Find a bar in the foodie neighborhood of Santurce and order a piña colada in the birthplace city of this famous cocktail. * Day 2: Board a glass-bottomed catamaran for a morning of sailing and snorkeling, then make some new friends on a combined food and history tour in the late afternoon. * Day 3-5: Lace up your boots and hike past stunning waterfalls in El Yunque Rainforest. Afterwards, cap off the day with a sunset cruise from San Juan Bay. Take a short scenic flight to nearby Culebra Island and laze on gorgeous Flamenco Beach. Next stop, Vieques Island. Night kayak through the brightest bioluminescent bay in the world, where microorganisms create a dazzling glow in the water. PUERTO RICO INFORMATION * Puerto Ricans know how to party and the Ponce Carnival is no exception. Held during the week leading up to Ash Wednesday, this raucous version of Mardi Gras features loud music, huge crowds and hordes of demon-masked revelers. * Really immerse yourself into the Caribbean lifestyle in the buzzing capital with one of our San Juan Vacation Packages. * Check out our All Inclusive Hotels in Puerto Rico and experience a taste of the good life. PUERTO RICO ESSENTIAL INFORMATION PREPARE FOR YOUR PUERTO RICO VACATION WITH OUR ESSENTIAL TRAVEL INFO Language Spanish Local Currency United States dollar Local Welcome Hola Local Goodbye Adiós Population 3,654,978 Natural Landscapes El Yunque National Forest, Playa Sucia, Domes Beach, Shacks Beach, Caracas Beach (Playa Caracas) PUERTO RICO HOTEL DEALS Hyatt Regency Grand Reserve Puerto Rico 4 out of 5 200 Coco Beach Blvd. Highway 955-I, Río Grande Fully refundableReserve now, pay when you stay The price is $399 per night from Jul 18 to Jul 19 $399 $513 total includes taxes & fees Jul 18 - Jul 19 8.6/10 Excellent! (1,620 reviews) "Awesome !" Reviewed on Jul 16, 2024 Hyatt Regency Grand Reserve Puerto Rico Fairmont El San Juan Hotel 5 out of 5 6063 Isla Verde Avenue, Carolina Fully refundableReserve now, pay when you stay The price is $349 per night from Jul 28 to Jul 29 $349 $469 total includes taxes & fees Jul 28 - Jul 29 8.2/10 Very Good! (1,376 reviews) "A lot of things to do within the resort" Reviewed on Jul 15, 2024 Fairmont El San Juan Hotel Condado Vanderbilt Hotel 5 out of 5 1055 Ashford Avenue, San Juan Fully refundableReserve now, pay when you stay The price is $350 per night from Jul 28 to Jul 29 $350 $467 total includes taxes & fees Jul 28 - Jul 29 9/10 Wonderful! (1,440 reviews) "Overall excellent" Reviewed on Jul 15, 2024 Condado Vanderbilt Hotel See all 6,399 properties in Puerto Rico Lowest nightly price found within the past 24 hours based on a 1 night stay for 2 adults. Prices and availability subject to change. Additional terms may apply. ALL INCLUSIVE VACATIONS All Inclusive Vacations BEACH VACATIONS Beach Vacations KID FRIENDLY VACATIONS Kid Friendly Vacations GOLF VACATIONS Golf Vacations LUXURY VACATIONS Luxury Vacations ROMANTIC VACATIONS Romantic Vacations SKI VACATIONS Ski Vacations LGBTQ FRIENDLY VACATIONS LGBTQ Friendly Vacations ADVENTURE VACATIONS Adventure Vacations WHERE TO GO WHEN Where to go when HONEYMOON VACATIONS Honeymoon Vacations MOUNTAIN VACATIONS Mountain Vacations FISHING VACATIONS Fishing Vacations ADULTS ONLY VACATIONS Adults Only Vacations WATERPARK VACATIONS Waterpark Vacations SCUBA DIVING VACATIONS Scuba Diving Vacations YOGA VACATIONS Yoga Vacations CHEAP VACATIONS Cheap Vacations SOLO VACATIONS Solo Vacations Next FREQUENTLY ASKED QUESTIONS How much does a Puerto Rico vacation package cost? Starting from as low as $389, you can build your own Puerto Rico package the way you want. Simply combine hotels, flights and rental cars and we’ll reward you with discounts. How do I get a cheap travel package to Puerto Rico? One of the easiest ways to save money (and time) is to combine your bookings with Expedia. Hotels, rental cars, flights and activities — we’ve got them all. Select a combination that best fits you and see your savings grow. We know a package deal is never a one-size-fits-all. That’s why we offer over 550 partner airlines and 1,000,000 hotel options from all over the world, which lets you customize your Puerto Rico adventure. What are the top hotels in Puerto Rico? Have a look at San Juan Airport Hotel and Condado Palm Inn San Juan, Tapestry Collection by Hilton. They’re the first choice for many travelers to San Juan. If Río Grande is on your itinerary, Costa Bahia Hotel Paseo Caribe and La Concha Renaissance San Juan Resort are both welcoming options. How far in advance should I book my Puerto Rico vacation? Reserving your seat early with Expedia means one less thing to have to worry about. A number of air carriers advertise tickets up to a year in advance. This is typically the cheapest time to book. If circumstances have left you booking late, last-minute deals to Puerto Rico will sometimes occur just weeks before departure. What does an Expedia Puerto Rico travel package include? You can select from any combination of flights, hotels and rental cars. Once you’ve made your booking, you can add the fun stuff like activities and experiences. Want to pick your airfare class? That’s possible too. The choice is all yours when it comes to crafting your ideal Puerto Rico escape. What should I know before booking a Puerto Rico travel package? Locking in all the parts of your escape together is a great way to save. Combine your car rentals, airfares and hotels into a convenient little package. But it’s not just hotels. Expedia features all sorts of properties, including vacation rentals such as beachside villas and city residences. The list is almost endless! Can I choose my airline with a Puerto Rico Expedia vacation package? Expedia has access to more than 550 airline partners worldwide, so you definitely can. Simply choose your preferred carrier and create the perfect Puerto Rico trip. If I'm not able to travel, can I cancel my Puerto Rico vacation package? Don’t worry if you’re rethinking your Puerto Rico vacation package — it’s possible to cancel or amend your booking. And if you’ve booked it within the last 24 hours, you may be able to do it for free. However, bookings made more than 24 hours ago may incur a fee from your airline, hotel or car rental company. We totally get that your circumstances can suddenly change, so look up our Customer Service Portal if that occurs. When you’re ready to make changes, we’ll be here to help. DISCOVER THE MOST POPULAR PLACES TO VISIT IN PUERTO RICO PORT OF SAN JUAN 4.5/5(2,281 reviews) Explore the waterfront in San Juan with a trip to Port of San Juan. Discover the area's top-notch restaurants and its acclaimed art scene. Port of San Juan LUQUILLO BEACH 4.5/5(1,031 reviews) Sample local street food or doze under a palm tree on this picturesque stretch of coast. Luquillo Beach EL YUNQUE NATIONAL FOREST 4.5/5(1,177 reviews) This tropical rainforest offers many great hiking options, including stunning mountain views and beautiful waterfalls. El Yunque National Forest OTHER VACATIONS YOU MIGHT LIKE * Top cities in Puerto Rico * Puerto Rico Vacation Packages for any type of traveler * Vacations and getaways similar to Puerto Rico * Best vacation destinations by month * Expedia's Latest Trends * * Fajardo Vacations * Rincon Vacations * Cabo Rojo Vacations * Ponce Vacations * Aguadilla Vacations * Culebra Vacations * Isabela Vacations * Mayagüez Vacations * Vieques Vacations * Humacao Vacations * Añasco Vacations * Guanica Vacations * Puerto Rico Cheap Vacations * Puerto Rico Adults Only Vacations * Puerto Rico Honeymoon Vacations * Bahamas Vacations * Jamaica Vacations * Dominican Republic Vacations * U.S. Virgin Islands Vacations * Cayman Islands Vacations * Haiti Vacations * Trinidad and Tobago Vacations * Turks and Caicos Vacations * St. Kitts and Nevis Vacations * Bermuda Vacations * January Vacations and Deals * February Vacations and Deals * March Vacations and Deals * April Vacations and Deals * May Vacations and Deals * June Vacations and Deals * July Vacations and Deals * August Vacations and Deals * September Vacations and Deals * October Vacations and Deals * November Vacations and Deals * December Vacations and Deals Hotels All-inclusive Resorts in St. LuciaAll-inclusive Resorts in Dominican RepublicAll-inclusive Resorts in JamaicaAll-inclusive Resorts in U.S. Virgin IslandsAll-inclusive Resorts in ArubaAll-inclusive Resorts in BarbadosAll-inclusive Resorts in Cayman IslandsAll-inclusive Resorts in BahamasAll-inclusive Resorts in Turks and Caicos Flights Cheap Flights to ArubaCheap Flights to U.S. Virgin IslandsCheap Flights to BarbadosCheap Flights to St. LuciaCheap Flights to BahamasCheap Flights to Dominican RepublicCheap Flights to JamaicaCheap Flights to Turks and Caicos Cruises Cruises to Bahamas Packages ArubaDominican RepublicJamaicaBahamas VacationJamaica VacationDominican Republic VacationAruba VacationTurks and Caicos VacationSt. Lucia VacationU.S. Virgin Islands VacationUS Virgin IslandsBahamas * Savings based on package bookings compared to the price of the same components booked separately. Savings not available on all packages. * * COMPANY * About * Jobs * List your property * Partnerships * Newsroom * Investor Relations * Advertising * Affiliate Marketing * Feedback * EXPLORE * United States of America travel guide * Hotels in United States of America * Vacation rentals in United States of America * Vacation packages in United States of America * Domestic flights * Car rentals in United States of America * All accommodation types * POLICIES * Privacy * Cookies * Terms of use * One Key™ terms and conditions * Vrbo terms and conditions * Accessibility * Your privacy choices * Content guidelines and reporting content * HELP * Support * Cancel your hotel or vacation rental booking * Cancel your flight * Refund timelines, policies & processes * Use an Expedia coupon * International travel documents -------------------------------------------------------------------------------- * © 2024 Expedia, Inc., an Expedia Group company. All rights reserved. Expedia and the Expedia Logo are trademarks or registered trademarks of Expedia, Inc. CST# 2029030-50. 2d6a0081-c0fb-4a5e-82bc-bfd5caa53f606351910d-0ecd-4b8e-a7f1-9fa3b78a3dea Now showing All Inclusive Vacations, Beach Vacations, Kid Friendly Vacations, Golf Vacations, Luxury Vacations, Romantic Vacations