@import url(‘https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap’);
.qb-page * { box-sizing: border-box; margin: 0; padding: 0; }
.qb-page { font-family: ‘Roboto’, sans-serif; color: #273E4B; line-height: 1.7; }
.qb-page h1, .qb-page h2, .qb-page h3 { font-family: ‘Editorial Today’, Georgia, serif; font-weight: 400; line-height: 1.2; }
.qb-hero { background: linear-gradient(135deg, #273E4B 0%, #354F5E 100%); color: #FFF7EB; padding: 80px 20px; text-align: center; position: relative; overflow: hidden; }
.qb-hero::before { content: ”; position: absolute; top: -50%; right: -20%; width: 500px; height: 500px; background: radial-gradient(circle, rgba(223,199,144,0.08) 0%, transparent 70%); border-radius: 50%; }
.qb-hero h1 { font-size: 42px; margin-bottom: 16px; position: relative; z-index: 1; }
.qb-hero h1 span { color: #DFC790; }
.qb-hero p { font-size: 18px; max-width: 650px; margin: 0 auto; opacity: 0.9; position: relative; z-index: 1; font-weight: 300; }
.qb-btn { display: inline-block; background: #DFC790; color: #273E4B; padding: 16px 40px; border-radius: 78px; text-decoration: none; font-weight: 700; font-size: 16px; letter-spacing: 0.5px; transition: all 0.3s ease; }
.qb-btn:hover { background: #d4b96e; transform: translateY(-2px); box-shadow: 0 8px 25px rgba(223,199,144,0.3); }
.qb-btn-dark { background: #273E4B; color: #FFF7EB; }
.qb-btn-dark:hover { background: #354F5E; }
.qb-section { padding: 70px 20px; }
.qb-container { max-width: 1100px; margin: 0 auto; }
.qb-cream { background: #FFF7EB; }
.qb-white { background: #FFFFFF; }
.qb-dark { background: #273E4B; color: #FFF7EB; }
.qb-gold-line-center { width: 60px; height: 3px; background: #DFC790; margin: 0 auto 28px; }
.qb-badge { display: inline-block; background: rgba(223,199,144,0.15); color: #DFC790; padding: 6px 16px; border-radius: 20px; font-size: 13px; font-weight: 500; letter-spacing: 1px; text-transform: uppercase; margin-bottom: 16px; }

/* Pricing Table */
.qb-pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 40px; }
.qb-price-card { background: #FFFFFF; border-radius: 16px; padding: 40px 32px; box-shadow: 0 4px 20px rgba(39,62,75,0.08); border: 1px solid rgba(223,199,144,0.2); text-align: center; transition: all 0.3s ease; position: relative; }
.qb-price-card:hover { transform: translateY(-6px); box-shadow: 0 16px 40px rgba(39,62,75,0.15); }
.qb-price-card.featured { border: 2px solid #DFC790; transform: scale(1.04); z-index: 2; }
.qb-price-card.featured:hover { transform: scale(1.04) translateY(-6px); }
.qb-popular-tag { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: #DFC790; color: #273E4B; padding: 6px 20px; border-radius: 20px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; white-space: nowrap; }
.qb-price-card h3 { font-size: 24px; margin-bottom: 8px; color: #273E4B; }
.qb-price-card .price { font-family: ‘Editorial Today’, Georgia, serif; font-size: 48px; color: #273E4B; margin: 16px 0 4px; }
.qb-price-card .price-sub { font-size: 13px; opacity: 0.6; margin-bottom: 24px; }
.qb-price-card .price span { font-size: 18px; font-family: ‘Roboto’, sans-serif; opacity: 0.6; }
.qb-feat-list { list-style: none; padding: 0; text-align: left; margin-bottom: 32px; }
.qb-feat-list li { padding: 10px 0 10px 28px; position: relative; font-size: 15px; border-bottom: 1px solid rgba(223,199,144,0.12); }
.qb-feat-list li::before { content: ‘\2713’; position: absolute; left: 0; color: #DFC790; font-weight: 700; }

/* Size pricing table */
.qb-table-wrap { overflow-x: auto; margin-top: 40px; }
.qb-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.qb-table thead th { background: #273E4B; color: #FFF7EB; padding: 16px 20px; text-align: left; font-weight: 500; font-size: 14px; text-transform: uppercase; letter-spacing: 1px; }
.qb-table thead th:first-child { border-radius: 12px 0 0 0; }
.qb-table thead th:last-child { border-radius: 0 12px 0 0; }
.qb-table tbody td { padding: 16px 20px; border-bottom: 1px solid rgba(223,199,144,0.15); }
.qb-table tbody tr:hover { background: rgba(223,199,144,0.06); }
.qb-table tbody tr:last-child td:first-child { border-radius: 0 0 0 12px; }
.qb-table tbody tr:last-child td:last-child { border-radius: 0 0 12px 0; }
.qb-table .highlight { background: rgba(223,199,144,0.08); font-weight: 500; }

.qb-addon-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 40px; }
.qb-addon { background: #354F5E; border-radius: 12px; padding: 28px; border: 1px solid rgba(223,199,144,0.15); }
.qb-addon h3 { color: #DFC790; font-size: 20px; margin-bottom: 8px; }
.qb-addon p { font-size: 14px; opacity: 0.85; line-height: 1.7; }
.qb-addon .addon-price { font-family: ‘Editorial Today’, Georgia, serif; font-size: 24px; color: #DFC790; margin-top: 12px; }

.qb-cta-section { background: linear-gradient(135deg, #273E4B 0%, #354F5E 100%); color: #FFF7EB; padding: 80px 20px; text-align: center; }
.qb-cta-section h2 { font-size: 36px; margin-bottom: 16px; font-family: ‘Editorial Today’, Georgia, serif; }
.qb-cta-section p { font-size: 18px; max-width: 600px; margin: 0 auto 32px; opacity: 0.9; font-weight: 300; }
.qb-btn-outline { background: transparent; border: 2px solid #DFC790; color: #DFC790; margin-left: 12px; }
.qb-btn-outline:hover { background: #DFC790; color: #273E4B; }
.qb-trust-bar { display: flex; justify-content: center; gap: 40px; margin-top: 40px; flex-wrap: wrap; }
.qb-trust-item { text-align: center; font-size: 14px; opacity: 0.8; }

.qb-faq { max-width: 800px; margin: 40px auto 0; }
.qb-faq-item { border-bottom: 1px solid rgba(223,199,144,0.3); padding: 24px 0; }
.qb-faq-q { font-family: ‘Editorial Today’, Georgia, serif; font-size: 20px; margin-bottom: 10px; color: #273E4B; }
.qb-faq-a { font-size: 15px; line-height: 1.8; opacity: 0.85; }

@media (max-width: 768px) {
.qb-hero h1 { font-size: 30px; }
.qb-pricing-grid { grid-template-columns: 1fr; }
.qb-price-card.featured { transform: none; }
.qb-addon-grid { grid-template-columns: 1fr; }
.qb-section { padding: 50px 20px; }
}

Transparent Pricing

Airbnb Cleaning Pricing

Simple, transparent pricing for professional turnover cleaning across Melbourne. No hidden fees, no lock-in contracts.

Choose Your Package

Three Packages, One Standard of Excellence

Clean-Only

Professional turnover cleaning

$130 +GST
Per turnover · 1 bed / 1 bath
  • Full surface cleaning & sanitisation
  • Kitchen & bathroom deep clean
  • Vacuuming & mopping all floors
  • Furniture arrangement & tidying
  • Post-clean photo verification
  • Supply restocking on request

Get Started

All-Inclusive

The complete turnover solution

$180 +GST
Per turnover · 1 bed / 1 bath
  • Everything in Clean + Linens
  • Premium guest consumables
  • Toiletries & welcome amenities
  • Tea, coffee & essentials
  • Inventory management
  • Priority scheduling

Get Started

Pricing by Property Size

Full Pricing Breakdown

All prices are per turnover and exclude GST. Pricing may vary for properties with special requirements.

Property Size Clean-Only Clean + Linens All-Inclusive
1 Bed / 1 Bath $130 $158 $180
2 Bed / 1 Bath $163 $198 $228
2 Bed / 2 Bath $178 $218 $250
3 Bed / 2 Bath $228 $278 $318
3 Bed / 3 Bath $258 $318 $360
4+ Bed Contact us for custom pricing

Extras

Add-On Services

Deep Clean

Comprehensive deep clean including inside appliances, window tracks, skirting boards, and detailed grout cleaning. Recommended quarterly.

From $250 +GST

Carpet Steam Clean

Professional carpet steam cleaning to remove deep stains, odours, and allergens. Available as a standalone service or add-on.

From $120 +GST

Window Cleaning

Interior window cleaning for all accessible windows. Exterior cleaning available for ground-floor properties.

From $80 +GST

Property Management

Full Airbnb property management including guest communication, listing optimisation, pricing strategy, and maintenance coordination.

Common Questions

Pricing FAQ

Are there any lock-in contracts?
No. Qbees operates on a pay-per-clean basis with no lock-in contracts. You can pause or cancel at any time with no penalties.
Do you offer discounts for multiple properties?
Yes. Property managers with 5 or more properties receive volume-based pricing, dedicated account management, and consolidated monthly invoicing. Contact us for a portfolio consultation.
Is GST included in the prices?
All prices listed are exclusive of GST. GST is added at checkout. Tax invoices are provided for every clean.
What happens if I need to cancel a scheduled clean?
We understand plans change. Cancellations made 12+ hours before the scheduled clean are free. Late cancellations (under 12 hours) may incur a 50% fee to cover our team’s allocated time.
Do prices vary by suburb?
No. Our pricing is consistent across all suburbs we service within 10km of South Melbourne, including Melbourne CBD, Southbank, Docklands, St Kilda, South Yarra, and all surrounding suburbs.

Ready to Get Started?

No lock-in contracts. No hidden fees. Just consistently spotless turnovers for your Airbnb property.

Get a Free Quote
Call 0403 701 350

★ 5 Star Average
📷 Photo Verified Cleans
⏲ Same-Day Turnovers
💰 No Lock-In Contracts