- Homekeyboard_arrow_right
- Packages
Save up to 30% or more and earn 500 Free Spirit® points when you book your trip with Spirit Vacations.
We want to make it easy and convenient for you so you can enjoy more and Go!
More destinations, more weekends with friends, more of what makes vacations and travel so rewarding!
Explore Vacation Packages with Spirit
Collapsed Enter the origin city of the trip.
Collapsed Enter the destination city of the trip.
cmp-carousel-container-explain
1/30
1Night(s) Trip
FromDetroit
Packages toLas Vegas
-
Flight+Hotel
From
$133* Price subject to changes
per person based on 2-person occupancy
Updated:2 hours ago
2/30
1Night(s) Trip
FromDetroit
Packages toLas Vegas
-
Flight+Hotel
From
$154* Price subject to changes
per person based on 2-person occupancy
Updated:2 hours ago
3/30
1Night(s) Trip
FromDetroit
Packages toLas Vegas
-
Flight+Hotel
From
$133* Price subject to changes
per person based on 2-person occupancy
Updated:2 hours ago
4/30
4Night(s) Trip
FromDetroit
Packages toLas Vegas
-
Flight+Hotel
From
$187* Price subject to changes
per person based on 2-person occupancy
Updated:8 hours ago
5/30
1Night(s) Trip
FromDetroit
Packages toLas Vegas
-
Flight+Hotel
From
$155* Price subject to changes
per person based on 2-person occupancy
Updated:2 hours ago
6/30
1Night(s) Trip
FromDetroit
Packages toLas Vegas
-
Flight+Hotel
From
$148* Price subject to changes
per person based on 2-person occupancy
Updated:2 hours ago
7/30
4Night(s) Trip
FromDetroit
Packages toLas Vegas
-
Flight+Hotel
From
$303* Price subject to changes
per person based on 2-person occupancy
Updated:day ago
8/30
4Night(s) Trip
FromMemphis
Packages toOrlando
-
Flight+Hotel
From
$210* Price subject to changes
per person based on 2-person occupancy
Updated:2 hours ago
9/30
4Night(s) Trip
FromMemphis
Packages toOrlando
-
Flight+Hotel
From
$262* Price subject to changes
per person based on 2-person occupancy
Updated:2 hours ago
10/30
4Night(s) Trip
FromMemphis
Packages toOrlando
-
Flight+Hotel
From
$262* Price subject to changes
per person based on 2-person occupancy
Updated:2 hours ago
11/30
4Night(s) Trip
FromMemphis
Packages toOrlando
-
Flight+Hotel
From
$227* Price subject to changes
per person based on 2-person occupancy
Updated:2 hours ago
12/30
4Night(s) Trip
FromMemphis
Packages toOrlando
-
Flight+Hotel
From
$323* Price subject to changes
per person based on 2-person occupancy
Updated:2 hours ago
13/30
4Night(s) Trip
FromMemphis
Packages toOrlando
-
Flight+Hotel
From
$287* Price subject to changes
per person based on 2-person occupancy
Updated:15 hours ago
14/30
4Night(s) Trip
FromMemphis
Packages toOrlando
-
Flight+Hotel
From
$315* Price subject to changes
per person based on 2-person occupancy
Updated:2 hours ago
15/30
3Night(s) Trip
FromMemphis
Packages toOrlando
-
Flight+Hotel
From
$367* Price subject to changes
per person based on 2-person occupancy
Updated:14 hours ago
16/30
4Night(s) Trip
FromMemphis
Packages toOrlando
-
Flight+Hotel
From
$319* Price subject to changes
per person based on 2-person occupancy
Updated:2 hours ago
17/30
4Night(s) Trip
FromMemphis
Packages toOrlando
-
Flight+Hotel
From
$286* Price subject to changes
per person based on 2-person occupancy
Updated:2 hours ago
18/30
4Night(s) Trip
FromMemphis
Packages toOrlando
-
Flight+Hotel
From
$278* Price subject to changes
per person based on 2-person occupancy
Updated:2 hours ago
19/30
4Night(s) Trip
FromMemphis
Packages toOrlando
-
Flight+Hotel
From
$232* Price subject to changes
per person based on 2-person occupancy
Updated:day ago
20/30
4Night(s) Trip
FromMemphis
Packages toOrlando
-
Flight+Hotel
From
$236* Price subject to changes
per person based on 2-person occupancy
Updated:day ago
21/30
3Night(s) Trip
FromDetroit
Packages toOrlando
-
Flight+Hotel
From
$380* Price subject to changes
per person based on 2-person occupancy
Updated:9 hours ago
22/30
4Night(s) Trip
FromHouston
Packages toAtlanta
-
Flight+Hotel
From
$448* Price subject to changes
per person based on 2-person occupancy
Updated:day ago
23/30
4Night(s) Trip
FromHouston
Packages toAtlanta
-
Flight+Hotel
From
$386* Price subject to changes
per person based on 2-person occupancy
Updated:day ago
24/30
3Night(s) Trip
FromBaltimore
Packages toLos Angeles
-
Flight+Hotel
From
$639* Price subject to changes
per person based on 2-person occupancy
Updated:day ago
25/30
3Night(s) Trip
FromBaltimore
Packages toLos Angeles
-
Flight+Hotel
From
$680* Price subject to changes
per person based on 2-person occupancy
Updated:day ago
26/30
3Night(s) Trip
FromBaltimore
Packages toLos Angeles
-
Flight+Hotel
From
$713* Price subject to changes
per person based on 2-person occupancy
Updated:day ago
27/30
3Night(s) Trip
FromBaltimore
Packages toLos Angeles
-
Flight+Hotel
From
$630* Price subject to changes
per person based on 2-person occupancy
Updated:day ago
28/30
3Night(s) Trip
FromBaltimore
Packages toLos Angeles
-
Flight+Hotel
From
$677* Price subject to changes
per person based on 2-person occupancy
Updated:day ago
29/30
4Night(s) Trip
FromDetroit
Packages toAtlanta
-
Flight+Hotel
From
$323* Price subject to changes
per person based on 2-person occupancy
Updated:10 hours ago
30/30
3Night(s) Trip
FromFort Lauderdale
Packages toAtlanta
-
Flight+Hotel
From
$440* Price subject to changes
per person based on 2-person occupancy
Updated:2 hours ago
*Fares displayed have been collected within the last 48hrs and may no longer be available at time of booking. Learn more about this offer. Additional baggage fees and charges for optional products and services may apply.
Choose Your Destination
United States
Find Exclusive Deals Only With Spirit Vacations
MGM Resorts Las Vegas
Vacations For Every Occasion
Exclusive Deals
Beach Getaways
City Exploration
All-Inclusive
Family Beach Vacations
Summer City Escapes
Fall Getaways
Holiday Deals
Ski Deals
Foodie Destinations
Find Vacation Deals To Top Destinations
Travel With Ease
Package deals. Bundle
your trip for the best prices
Earn Free Spirit® Points
when you book your vacation
Spirit Flights is among the leaders
in on-time performance
Dedicated Guest care –
24/7 customer support
Our Flights To Domestic And International Destinations
add remove The Americas
${renderViewMoreButton()}`; } function renderCarousel(){ return `
${renderDeals()}
`; } function renderDealCard(item, classes){ const renderImage = (item) => { return `
${item['night_stay']} ${item['night_stay'] == 1 ? labels.stay_title : labels.stays_title}
`; } const renderIinerary = (item) => { return `
${labels.prep_destination_place} ${item.destination_city_name.toLowerCase()}
${labels.prep_origin_place} ${item.origin_city_name.toLowerCase()}
`; } const renderStars = (item) => { var rating = item['hotel_rating']; if(!rating){ return ""; } return `
`; } const renderDestination = (item) => { return `
${isHotel ? item['hotel_name'].toLowerCase() : labels.prep_destination_place + ' ' + item.destination_city_name.toLowerCase()}
${!isHotel ? labels.prep_origin_place + ' ' + item.origin_city_name.toLowerCase() : ''} ${isHotel ? renderIinerary(item) : ''} ${item.departure_date_formated} - ${item.return_date_formated} ${labels['flight_title']||'Flight'} + ${labels['hotel_title']||'Hotel'}
${item['night_stay']} ${item['night_stay'] == 1 ? labels.night_title : labels.nights_title}
${isHotel ? renderStars(item) : ''}
`; } return `
${hasImages ? renderImage(item) : ''}
${renderDestination(item)}
${renderPriceCell(item)}
`; } function renderDealRow(item, classes){ const renderItinerary = () => { return `
${labels.prep_destination_place} ${item.destination_city_name.toLowerCase()}
${labels.prep_origin_place} ${item.origin_city_name.toLowerCase()}
`; } return `
${labels.departure_date} ${item.departure_date_short}
${labels.return_date} ${item.return_date_short}
`; } function renderPriceCell(item){ return`
${labels.prep_starting_price}
${item.full_price}*
${isTable ? labels['perperson_title'] : labels['perperson_long_title']}
${labels.last_seen} ${item.price_last_seen.value} ${labels['last_seen_' + item.price_last_seen.unit]}
`; } function renderViewMoreButton(){ if(!hasHiddenDeals){ return ""; } return `
`; } function renderDeals(){ var result = ''; current_widget['deals'].forEach((item, idx) => { result = result + (isTable ? renderDealRow(item, getItemClasses(idx)) : renderDealCard(item, getItemClasses(idx))); }); return result; } const getItemClasses = (item_index) => { const meta = current_widget['metadata']; var classes = isTable ? 'offer-row' : 'pw-card'; classes = classes + (isHotel ? ' pw-card-hotel' : ' pw-card-route'); hasHiddenDeals = false; if(isTable && (item_index >= 12|| (isMobile && item_index >= 2))){ classes = classes + ' pw-hidden-card'; hasHiddenDeals = true; } if(meta['visualization_type'] == 'GRID' && (item_index >= 12 || (isMobile && item_index >= 2))){ classes = classes + ' pw-hidden-card'; hasHiddenDeals = true; } if(meta['visualization_type'] == 'CAROUSEL'){ classes = classes + ' swiper-slide'; } if(!isTable && meta['include_images']){ classes = classes + ' has-image'; } return classes; } function getDealMetadata(item){ var wl_em_link = 'price-widget-packages-table'; if (current_widget['metadata']['visualization_type'] == 'GRID') { wl_em_link = 'price-widget-packages-grid'; } if (current_widget['metadata']['visualization_type'] == 'CAROUSEL') { wl_em_link = 'price-widget-packages-carousel'; } return ` trfx-booking data-oac="${item.origin_airport_code}" data-dac="${item.destination_airport_code}" data-departure-date="${item.departure_date_standard}" data-travel-class="${item.travel_class}" data-price="${item.full_price}" data-return-date="${item.return_date_standard}" data-title="${item.origin_city_name} ${labels.prep_destination_place} ${item.destination_city_name}" data-sub="${config.dates_title}: ${item.departure_date_standard} ${(item.return_date ? ' - ' + item.return_date_standard : '')}" data-promo-code="${(item.promo_code || '')}" data-site-edition="${config.site_edition}" data-currency-code="${item.currency_code}" data-hotelId="${item.hotel_id}" data-wl_em_link="${wl_em_link}"`; } //todo $('.pw-view-more').on('click', function(){ $(this).parent('.price-widget-deals').children('.pw-hide').addClass('show'); $(this).text = labels['pw-show-less']; }); function renderWidgets(data, isRemote){ ids.forEach(function(id){ //normalize data current_widget['id'] = id; current_widget['metadata'] = isRemote ? data['metadata'][id] : getRemoteMeta(id); current_widget['deals'] = isRemote ? data[id] : pricing_widgets['price_widget-' + id]['deals']; isTable = current_widget['metadata']['visualization_type'] == 'TABLE' || current_widget['metadata']['visualization_type'] == ''; if(isMobile && current_widget['metadata']['visualization_type'] == 'GRID'){ current_widget['metadata']['visualization_type'] = 'CAROUSEL'; } if(isMobile && isTable){ isTable = false; current_widget['metadata']['visualization_type'] = 'GRID'; } isHotel = current_widget['metadata']['module_type'] == 'HOTEL'; hasImages = current_widget['metadata']['include_images']; //render var html = ''; if(isHotel){ current_widget['deals'].sort(function(a, b){ return b.night_stay - a.night_stay }); } if(isTable){ html = renderTable(current_widget['metadata'], current_widget['deals'], current_widget['labels']); } if(current_widget['metadata']['visualization_type'] == 'GRID'){ html = renderGrid(current_widget['metadata'], current_widget['deals'], current_widget['labels']); } if(current_widget['metadata']['visualization_type'] == 'CAROUSEL'){ html = renderCarousel(current_widget['metadata'], current_widget['deals'], current_widget['labels']); } //attach html $('[data-price-widget="' + id + '"]').children('.price-widget-deals').html(html); $('[data-price-widget="' + id + '"]').parent().parent().attr("data-em-dpa-type", current_widget['metadata']['visualization_type']); const delay = ms => new Promise(res => setTimeout(res, ms)); (async() => { await delay(500);})(); //initialize js-comp if needed if(current_widget['metadata']['visualization_type'] == 'CAROUSEL'){ initSwiper(id); } initHandlers(); //remove placeholder var selector = '[data-price-widget="' + id + '"]'; document.querySelectorAll(selector).forEach(function (element) { element.classList.remove("async"); }); }); } function initSwiper(id){ swipers[id] = new Swiper("#swiper-" + id, { spaceBetween: 20, breakpoints: { 420: { slidesPerView: 1, slidesPerGroup: 1 }, 658: { slidesPerView: 2, slidesPerGroup: 2 }, 980: { slidesPerView: 3, slidesPerGroup: 3 }, 1200: { slidesPerView: 4, slidesPerGroup: 4 } }, pagination: { el: "#swiper-pag-" + id, clickable: true }, navigation: { nextEl: ".swiper-button-next-" + id, prevEl: ".swiper-button-prev-" + id } }); } function getRemoteMeta(id){ const pw = pricing_widgets['price_widget-' + id]; return { visualization_type: pw['fare_visualization_type'], module_type: pw['module_type'], include_images: pw['include_images'] } } function initHandlers(){ var buton_selector = `#view-more-${current_widget['id']}`; $(buton_selector).click(function(){ const $this = $(this); const steps = $this.data('step'); const $parent = $(this).parents('.price-widget-deals'); for(var i=0; i