HireBooking — Websites Built for Plant Hire :root { –black: #0d0c0b; –soil: #1a1410; –amber: #e8a020; –amber-dim: #b87d18; –concrete: #8a8680; –dust: #c8c0b4; –offwhite: #f0ece4; –steel: #2e2c28; –rust: #c45820; } *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; } body { background: var(–black); color: var(–offwhite); font-family: ‘Barlow’, sans-serif; font-weight: 300; overflow-x: hidden; cursor: none; } /* Custom cursor */ .cursor { position: fixed; width: 10px; height: 10px; background: var(–amber); border-radius: 50%; pointer-events: none; z-index: 9999; transform: translate(-50%, -50%); transition: transform 0.1s, width 0.2s, height 0.2s; mix-blend-mode: normal; } .cursor-ring { position: fixed; width: 36px; height: 36px; border: 1.5px solid var(–amber); border-radius: 50%; pointer-events: none; z-index: 9998; transform: translate(-50%, -50%); transition: all 0.15s ease; opacity: 0.6; } body:hover .cursor { opacity: 1; } /* Grain overlay */ body::before { content: ”; position: fixed; inset: 0; background-image: url(“data:image/svg+xml,%3Csvg viewBox=’0 0 256 256′ xmlns=’http://www.w3.org/2000/svg’%3E%3Cfilter id=’noise’%3E%3CfeTurbulence type=’fractalNoise’ baseFrequency=’0.9′ numOctaves=’4′ stitchTiles=’stitch’/%3E%3C/filter%3E%3Crect width=’100%25′ height=’100%25′ filter=’url(%23noise)’ opacity=’0.04’/%3E%3C/svg%3E”); pointer-events: none; z-index: 9000; opacity: 0.5; } /* NAV */ nav { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; padding: 1.4rem 3rem; background: linear-gradient(to bottom, rgba(13,12,11,0.95), transparent); backdrop-filter: blur(2px); } .nav-logo { font-family: ‘Barlow Condensed’, sans-serif; font-weight: 900; font-size: 1.3rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(–offwhite); text-decoration: none; } .nav-logo span { color: var(–amber); } .nav-cta { font-family: ‘Space Mono’, monospace; font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(–black); background: var(–amber); padding: 0.6rem 1.4rem; text-decoration: none; transition: background 0.2s, transform 0.2s; clip-path: polygon(6px 0%, 100% 0%, calc(100% – 6px) 100%, 0% 100%); } .nav-cta:hover { background: var(–amber-dim); transform: translateY(-1px); } /* HERO */ .hero { min-height: 100vh; display: grid; grid-template-rows: 1fr auto; position: relative; overflow: hidden; padding: 0 3rem; } .hero-bg { position: absolute; inset: 0; background: radial-gradient(ellipse 60% 50% at 70% 50%, rgba(232,160,32,0.07) 0%, transparent 70%), linear-gradient(160deg, var(–soil) 0%, var(–black) 60%); } /* Diagonal stripe accent */ .hero-stripe { position: absolute; top: 0; right: 0; width: 40%; height: 100%; background: repeating-linear-gradient( -55deg, transparent, transparent 30px, rgba(232,160,32,0.025) 30px, rgba(232,160,32,0.025) 31px ); pointer-events: none; } .hero-content { display: flex; flex-direction: column; justify-content: center; padding-top: 8rem; position: relative; z-index: 2; max-width: 900px; } .hero-eyebrow { font-family: ‘Space Mono’, monospace; font-size: 0.72rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(–amber); margin-bottom: 1.8rem; display: flex; align-items: center; gap: 1rem; opacity: 0; animation: fadeUp 0.8s ease 0.2s forwards; } .hero-eyebrow::before { content: ”; display: block; width: 40px; height: 1px; background: var(–amber); } .hero-headline { font-family: ‘Barlow Condensed’, sans-serif; font-weight: 900; font-size: clamp(4rem, 9vw, 9rem); line-height: 0.9; text-transform: uppercase; letter-spacing: -0.01em; opacity: 0; animation: fadeUp 0.9s ease 0.35s forwards; } .hero-headline em { font-style: normal; color: var(–amber); display: block; } .hero-sub { font-size: 1.1rem; font-weight: 300; color: var(–dust); max-width: 520px; line-height: 1.7; margin-top: 2rem; opacity: 0; animation: fadeUp 0.9s ease 0.5s forwards; } .hero-actions { display: flex; align-items: center; gap: 2rem; margin-top: 3rem; opacity: 0; animation: fadeUp 0.9s ease 0.65s forwards; } .btn-primary { font-family: ‘Barlow Condensed’, sans-serif; font-weight: 700; font-size: 1.05rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(–black); background: var(–amber); padding: 1rem 2.4rem; text-decoration: none; display: inline-flex; align-items: center; gap: 0.6rem; transition: all 0.2s; clip-path: polygon(10px 0%, 100% 0%, calc(100% – 10px) 100%, 0% 100%); position: relative; } .btn-primary::after { content: ‘→’; transition: transform 0.2s; } .btn-primary:hover { background: var(–rust); color: #fff; } .btn-primary:hover::after { transform: translateX(4px); } .btn-ghost { font-family: ‘Space Mono’, monospace; font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(–concrete); text-decoration: none; border-bottom: 1px solid var(–concrete); padding-bottom: 2px; transition: color 0.2s, border-color 0.2s; } .btn-ghost:hover { color: var(–offwhite); border-color: var(–offwhite); } /* Hero bottom ticker */ .hero-ticker { position: relative; z-index: 2; border-top: 1px solid rgba(255,255,255,0.08); padding: 1.2rem 0; overflow: hidden; opacity: 0; animation: fadeIn 1s ease 1s forwards; } .ticker-track { display: flex; gap: 3rem; white-space: nowrap; animation: ticker 25s linear infinite; } .ticker-item { font-family: ‘Space Mono’, monospace; font-size: 0.68rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(–concrete); display: flex; align-items: center; gap: 1.5rem; flex-shrink: 0; } .ticker-item span { color: var(–amber); } /* SECTION STRUCTURE */ section { position: relative; } .section-label { font-family: ‘Space Mono’, monospace; font-size: 0.65rem; letter-spacing: 0.25em; text-transform: uppercase; color: var(–amber); display: flex; align-items: center; gap: 0.8rem; margin-bottom: 1.5rem; } .section-label::before { content: ”; display: block; width: 20px; height: 1px; background: var(–amber); } .section-heading { font-family: ‘Barlow Condensed’, sans-serif; font-weight: 800; font-size: clamp(2.5rem, 5vw, 4.5rem); text-transform: uppercase; line-height: 0.95; letter-spacing: -0.01em; } /* PROBLEM SECTION */ .problem { padding: 8rem 3rem; background: var(–soil); border-top: 1px solid rgba(255,255,255,0.06); } .problem-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: start; } .problem-left { } .problem-desc { color: var(–dust); line-height: 1.8; font-size: 1.05rem; margin-top: 2rem; } .problem-desc strong { color: var(–offwhite); font-weight: 500; } .pain-list { list-style: none; margin-top: 3rem; display: flex; flex-direction: column; gap: 1rem; } .pain-item { display: flex; align-items: flex-start; gap: 1rem; padding: 1.2rem 1.4rem; background: rgba(255,255,255,0.03); border-left: 2px solid var(–rust); font-size: 0.95rem; color: var(–dust); line-height: 1.5; } .pain-item::before { content: ‘✕’; color: var(–rust); font-family: ‘Space Mono’, monospace; font-size: 0.8rem; flex-shrink: 0; margin-top: 1px; } /* FEATURES / WHAT YOU GET */ .features { padding: 8rem 3rem; background: var(–black); } .features-inner { max-width: 1200px; margin: 0 auto; } .features-header { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: end; margin-bottom: 5rem; padding-bottom: 3rem; border-bottom: 1px solid rgba(255,255,255,0.07); } .features-intro { color: var(–dust); font-size: 1.05rem; line-height: 1.8; } .feat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,0.07); } .feat-card { background: var(–black); padding: 2.4rem; transition: background 0.3s; position: relative; overflow: hidden; } .feat-card::before { content: ”; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: var(–amber); transform: scaleX(0); transform-origin: left; transition: transform 0.4s ease; } .feat-card:hover { background: var(–soil); } .feat-card:hover::before { transform: scaleX(1); } .feat-num { font-family: ‘Barlow Condensed’, sans-serif; font-size: 4rem; font-weight: 900; color: rgba(232,160,32,0.15); line-height: 1; margin-bottom: 1rem; transition: color 0.3s; } .feat-card:hover .feat-num { color: rgba(232,160,32,0.3); } .feat-title { font-family: ‘Barlow Condensed’, sans-serif; font-weight: 700; font-size: 1.3rem; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.8rem; color: var(–offwhite); } .feat-desc { color: var(–concrete); font-size: 0.9rem; line-height: 1.7; } .feat-tag { display: inline-block; margin-top: 1.2rem; font-family: ‘Space Mono’, monospace; font-size: 0.6rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(–amber); background: rgba(232,160,32,0.1); padding: 0.3rem 0.6rem; } /* HOW IT WORKS */ .how { padding: 8rem 3rem; background: var(–soil); border-top: 1px solid rgba(255,255,255,0.06); } .how-inner { max-width: 1200px; margin: 0 auto; } .how-header { margin-bottom: 5rem; max-width: 600px; } .how-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; position: relative; } .how-steps::before { content: ”; position: absolute; top: 2rem; left: 2rem; right: 2rem; height: 1px; background: linear-gradient(to right, var(–amber), var(–amber-dim), rgba(232,160,32,0.2)); z-index: 0; } .how-step { position: relative; z-index: 1; padding: 0 2rem; padding-top: 5rem; } .how-step:first-child { padding-left: 0; } .how-step:last-child { padding-right: 0; } .step-num { position: absolute; top: 0; left: 2rem; width: 4rem; height: 4rem; background: var(–amber); color: var(–black); font-family: ‘Barlow Condensed’, sans-serif; font-weight: 900; font-size: 1.4rem; display: flex; align-items: center; justify-content: center; clip-path: polygon(5px 0%, 100% 0%, calc(100% – 5px) 100%, 0% 100%); } .how-step:first-child .step-num { left: 0; } .step-title { font-family: ‘Barlow Condensed’, sans-serif; font-weight: 700; font-size: 1.2rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(–offwhite); margin-bottom: 0.8rem; } .step-desc { color: var(–concrete); font-size: 0.88rem; line-height: 1.7; } /* SOCIAL PROOF / TRUST */ .trust { padding: 6rem 3rem; background: var(–black); border-top: 1px solid rgba(255,255,255,0.06); } .trust-inner { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 2fr; gap: 6rem; align-items: center; } .trust-stat-block { display: flex; flex-direction: column; gap: 2.5rem; } .trust-stat .num { font-family: ‘Barlow Condensed’, sans-serif; font-weight: 900; font-size: 4rem; line-height: 1; color: var(–amber); } .trust-stat .label { font-size: 0.85rem; color: var(–concrete); margin-top: 0.3rem; text-transform: uppercase; letter-spacing: 0.1em; font-family: ‘Space Mono’, monospace; font-size: 0.65rem; } .testimonials { display: flex; flex-direction: column; gap: 1.5rem; } .testimonial { background: var(–soil); padding: 2rem; border-left: 3px solid var(–amber); position: relative; } .testimonial-text { font-size: 1rem; line-height: 1.75; color: var(–dust); font-style: italic; } .testimonial-author { margin-top: 1.2rem; display: flex; align-items: center; gap: 0.8rem; } .author-avatar { width: 36px; height: 36px; background: var(–amber); clip-path: polygon(5px 0%, 100% 0%, calc(100% – 5px) 100%, 0% 100%); display: flex; align-items: center; justify-content: center; font-family: ‘Barlow Condensed’, sans-serif; font-weight: 900; font-size: 1rem; color: var(–black); } .author-name { font-family: ‘Barlow Condensed’, sans-serif; font-weight: 700; font-size: 0.95rem; text-transform: uppercase; letter-spacing: 0.05em; } .author-biz { font-family: ‘Space Mono’, monospace; font-size: 0.6rem; color: var(–concrete); letter-spacing: 0.1em; } /* CTA SECTION */ .cta-section { padding: 10rem 3rem; background: var(–soil); border-top: 1px solid rgba(255,255,255,0.06); position: relative; overflow: hidden; } .cta-bg-text { position: absolute; bottom: -1rem; left: -0.5rem; font-family: ‘Barlow Condensed’, sans-serif; font-weight: 900; font-size: clamp(8rem, 20vw, 22rem); text-transform: uppercase; color: rgba(255,255,255,0.02); white-space: nowrap; pointer-events: none; line-height: 1; letter-spacing: -0.02em; } .cta-inner { max-width: 1200px; margin: 0 auto; position: relative; z-index: 2; display: grid; grid-template-columns: 1fr auto; gap: 4rem; align-items: start; } .cta-heading { font-family: ‘Barlow Condensed’, sans-serif; font-weight: 900; font-size: clamp(3rem, 6vw, 6rem); text-transform: uppercase; line-height: 0.95; letter-spacing: -0.01em; } .cta-heading em { font-style: normal; color: var(–amber); } .cta-sub { color: var(–dust); font-size: 1rem; line-height: 1.7; margin-top: 1.5rem; max-width: 440px; } .cta-form-title { font-family: ‘Barlow Condensed’, sans-serif; font-weight: 700; font-size: 1.3rem; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 1.8rem; border-bottom: 1px solid rgba(255,255,255,0.1); padding-bottom: 1rem; } .cta-form-title span { color: var(–amber); } .form-note { font-family: ‘Space Mono’, monospace; font-size: 0.58rem; letter-spacing: 0.08em; color: var(–concrete); text-align: center; margin-top: 1rem; } /* Calendly wrapper */ .calendly-wrapper { min-width: 320px; max-width: 480px; background: var(–black); border: 1px solid rgba(255,255,255,0.08); overflow: hidden; } .calendly-header { padding: 1.8rem 2rem 1rem; border-bottom: 1px solid rgba(255,255,255,0.08); } .calendly-inline-widget { border: none; overflow: hidden; } /* FOOTER */ footer { background: var(–black); padding: 3rem; border-top: 1px solid rgba(255,255,255,0.06); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1.5rem; } .footer-logo { font-family: ‘Barlow Condensed’, sans-serif; font-weight: 900; font-size: 1.1rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(–offwhite); } .footer-logo span { color: var(–amber); } .footer-copy { font-family: ‘Space Mono’, monospace; font-size: 0.6rem; letter-spacing: 0.1em; color: var(–concrete); text-align: center; } .footer-links { display: flex; gap: 2rem; } .footer-links a { font-family: ‘Space Mono’, monospace; font-size: 0.62rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(–concrete); text-decoration: none; transition: color 0.2s; } .footer-links a:hover { color: var(–amber); } /* ANIMATIONS */ @keyframes fadeUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } } /* Scroll reveal */ .reveal { opacity: 0; transform: translateY(32px); transition: opacity 0.7s ease, transform 0.7s ease; } .reveal.visible { opacity: 1; transform: translateY(0); } /* RESPONSIVE */ @media (max-width: 900px) { nav { padding: 1.2rem 1.5rem; } .hero { padding: 0 1.5rem; } .problem, .features, .how, .trust, .cta-section { padding: 5rem 1.5rem; } footer { padding: 2rem 1.5rem; } .problem-inner { grid-template-columns: 1fr; gap: 3rem; } .feat-grid { grid-template-columns: 1fr 1fr; } .how-steps { grid-template-columns: 1fr 1fr; gap: 3rem; } .how-steps::before { display: none; } .how-step { padding: 5rem 0 0 0; } .how-step .step-num { left: 0; } .trust-inner { grid-template-columns: 1fr; gap: 3rem; } .trust-stat-block { flex-direction: row; flex-wrap: wrap; gap: 2rem; } .cta-inner { grid-template-columns: 1fr; } .features-header { grid-template-columns: 1fr; gap: 2rem; } } @media (max-width: 600px) { .hero-headline { font-size: 3.5rem; } .feat-grid { grid-template-columns: 1fr; } .how-steps { grid-template-columns: 1fr; } .hero-actions { flex-direction: column; align-items: flex-start; gap: 1.2rem; } .footer-links { flex-direction: column; gap: 1rem; } .footer-copy { display: none; } .cta-form { min-width: unset; width: 100%; } }

Built for Plant Hire Businesses

Your machines
work hard. Your website
should too.

We build professional booking websites specifically for excavator, dingo digger, and plant hire businesses — with fully online bookings, payments, and security bond handling built in from day one.

Online Bookings — No more back-and-forth calls
Secure Payments — Upfront deposits & bonds
24/7 Availability — Take bookings while you sleep
Built for Tradies — No tech knowledge needed
Australian Made — Designed for Aussie conditions
Online Bookings — No more back-and-forth calls
Secure Payments — Upfront deposits & bonds
24/7 Availability — Take bookings while you sleep
Built for Tradies — No tech knowledge needed
Australian Made — Designed for Aussie conditions

Running plant hire on a phone and handshakes?

Most plant hire operators are losing bookings every week without even knowing it. Customers google you, find nothing — or worse, find a competitor — and move on. The days of running a hire business purely on word-of-mouth and callbacks are fading fast.

  • Missed calls turning into missed bookings — especially after hours and on weekends
  • Chasing bond payments and deposits manually via bank transfer with zero paper trail
  • No way for customers to check machine availability online before calling
  • Competitors with slick websites are winning jobs that should be yours
  • Time wasted quoting people who were never serious about hiring
  • Generic website builders that don’t understand hire-specific workflows at all

Everything a modern hire business needs

We don’t just build websites — we build hire business systems. Every site comes loaded with the tools that actually drive bookings and reduce admin headaches.

01
Online Booking System

Customers select machine, hire dates, and location — all in a slick, mobile-friendly flow. Live availability calendar updates in real time so you never double-book.

Core Feature
02
Secure Payment Processing

Collect full payments or deposits upfront via Stripe. Funds hit your account automatically, with invoices sent to customers instantly. No chasing, no bank transfers.

Core Feature
03
Security Bond Handling

Automated bond holds placed on the customer’s card at booking — released when the machine comes back clean. Industry-first workflow built specifically for plant hire.

Unique to HireBooking
04
Machine Fleet Showcase

Beautiful pages for every machine in your fleet — photos, specs, hire rates, and availability. Customers can self-serve the info they need before ever calling you.

Drives Conversions
05
Booking Management Dashboard

A simple, clean admin panel shows your upcoming bookings, payments received, and bonds held. Run your hire schedule from your phone or tablet on the go.

Built for Operators
06
SEO + Local Search Ready

Every site is optimised to show up when locals search “excavator hire near me” or “dingo digger hire [your suburb].” We build in the SEO foundations from day one.

Get Found First

Up and running in under 4 weeks

1
Demo Call

We walk through exactly what your new website will look like and how the booking system works. No jargon, no pressure. Just 30 minutes to see if we’re the right fit.

2
We Build It

You send us your machine photos, pricing, and a few details about your business. We handle everything else — design, development, and booking system setup.

3
You Review

We send you a live preview. You request any changes you want — we refine until you love it. Most clients are satisfied after one round of revisions.

4
Go Live

Your site launches on your domain. We handle the technical go-live and test every booking flow. You start taking online bookings — usually within 4 weeks of kickoff.

100%
Plant hire
specialists
<4wk
Average
delivery time
AU
Built for
Aussie operators

“We went from taking maybe 2–3 bookings a week over the phone to having 8 or 9 come through the website automatically. The bond system alone has saved me hours of chasing payments.”

D
Darren M.
DM Plant Hire — QLD

“I was sceptical a website could actually pay for itself but it did in the first month. Customers find me on Google now, check the machine, book and pay — all without me lifting a finger.”

T
Troy H.
Hillside Hire — VIC
BOOK NOW

Ready to fill
your fleet?

Book a free 30-minute demo call and we’ll show you exactly what your website will look like, how the booking system works, and what it costs. No obligation, no hard sell.

Pick a time that works for you

30 minutes · Free · No obligation