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

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