PageSourceSearch

https://oriamarketing.com/assets/online-booking-BbXw4HCe.js

js oriamarketing.com collected 2026-09-25 23:15:16 UTC 14,381 bytes, 1 lines download raw bytes

1import{a as r,j as e}from"./react-vendor-Cj4cBEvf.js";import{u as l}from"./router-BMgApeuJ.js";import{M as d,a as c}from"./marketing-footer-B01jLJhQ.js";/* empty css                            */import"./fullcalendar-DxFl_for.js";import"./oria-logo-BbWMmXwG.js";function i({children:n,color:s="var(--teal)",style:a={}}){return e.jsx("span",{className:"tag",style:{color:s,background:`${s}18`,border:`1px solid ${s}33`,...a},children:n})}function x(){const[,n]=l();r.useEffect(()=>{document.title="Online Booking Calendar for Contractors | Oria Marketing — 24/7 Consultation Scheduling";const t=document.querySelector('meta[name="description"]');t&&t.setAttribute("content","Let homeowners book consultations directly from your website. Real-time Google Calendar sync, SMS + email confirmations, and zero scheduling back-and-forth. Built for contractors.");const o=document.querySelector('link[rel="canonical"]');return o&&o.setAttribute("href","https://oriamarketing.com/features/online-booking"),window.scrollTo(0,0),()=>{document.title="Oria Marketing | AI Growth Platform for Contractors",t&&t.setAttribute("content","The #1 AI platform for contractors — manage Google Ads, Meta Ads, Yelp, CRM, SEO, and reviews from one dashboard. Replace 8 tools with Oria. Start at $197/mo."),o&&o.setAttribute("href","https://oriamarketing.com")}},[]);const s=[{num:"01",title:"Connect Your Calendar",desc:"OAuth into Google Calendar in 30 seconds. Oria pulls your real availability — your meetings, your blocks, your time off — without you maintaining anything.",icon:"🔗"},{num:"02",title:"Set Your Rules",desc:"Pick consultation length, buffer times, working hours, and how far in advance clients can book. Different rules for in-home vs phone consults.",icon:"⚙️"},{num:"03",title:"Embed on Your Website",desc:"One line of code drops the booking widget on your site, your landing pages, your GMB, your email signature. Or send a direct booking link in any conversation.",icon:"📌"},{num:"04",title:"Wake Up to Booked Jobs",desc:"Homeowners book at 11pm Sunday. You see it in your CRM Monday morning. Confirmations, reminders, and prep notes go out automatically.",icon:"📅"}],a=[{icon:"📲",title:"Real-Time Availability",desc:"Live two-way sync with Google Calendar. No double-bookings ever — if you block a slot in y
1our phone, it disappears from the website instantly."},{icon:"💬",title:"SMS + Email Confirmations",desc:"Client gets a text and an email the second they book. 24-hour reminder fires automatically. Reduce no-shows by 60%."},{icon:"📍",title:"Service-Area Routing",desc:"Different consultation types for different areas. Local jobs get same-week slots. Out-of-area jobs land 2-week-out windows. Optimized for drive time."},{icon:"🎯",title:"Lead Capture Form",desc:"Booking form captures name, phone, project type, budget range, and address. The lead is in your CRM before they hang up."},{icon:"🤖",title:"AI Pre-Qual Questions",desc:`Optional pre-qualifying questions filter out tire-kickers. "What's your timeline?" "Do you have plans?" Gates the bookings to qualified prospects.`},{icon:"🔄",title:"Auto-Reschedule Links",desc:"Client emails included a one-click reschedule link. They move themselves — you don't get pulled into back-and-forth."},{icon:"📊",title:"Conversion Reporting",desc:"Track booking → consult attended → quote sent → job won. See which marketing channels actually produce booked consultations."},{icon:"🎨",title:"Branded Booking Page",desc:"Your colors, your logo, your photos. Looks like part of your website, not a generic widget."}];return e.jsxs("div",{className:"om-page",children:[e.jsx(d,{}),e.jsxs("section",{style:{minHeight:"100vh",display:"flex",flexDirection:"column",justifyContent:"center",padding:"120px 24px 80px",position:"relative",overflow:"hidden"},children:[e.jsx("div",{className:"grid-bg",style:{position:"absolute",inset:0,opacity:.18,animation:"om-gridFade 8s ease infinite"}}),e.jsx("div",{style:{position:"absolute",top:"10%",right:"5%",width:500,height:500,borderRadius:"50%",background:"radial-gradient(circle,rgba(34,197,94,0.15) 0%,transparent 70%)",pointerEvents:"none"}}),e.jsxs("div",{className:"wrap",style:{position:"relative",zIndex:1},children:[e.jsx("div",{className:"fu d1",style:{marginBottom:24},children:e.jsx(i,{color:"var(--green)",children:"ONLINE BOOKING"})}),e.jsxs("h1",{className:"ox fu d2 hero-h",style:{fontSize:72,fontWeight:800,lineHeight:.95,letterSpacing:"-.025em",marginBottom:26,maxWidth:900},"data-testid":"text-hero-title",children:["HOMEOWNERS BOOK AT 11PM.",e.jsx("br",{}),e.jsx("span",{className:"gt-green",children:"YOU SEE IT IN THE MORNING."})]}),e.jsx("p",{className:"fu d3",style:{fontSize:18,color:"var(--t2)",maxWidth:620,lineHeight:1.7,marginBottom:36},children:"Stop losing leads to scheduling back-and-forth. Drop a calendar widget on your site and let qualified homeowners book consultations on their own time — not yours. Auto-confirmations, SMS reminders, and CRM sync built in."}),e.jsxs("div",{className:"fu d4",style:{display:"flex",gap:12,flexWrap:"wrap",marginBottom:48},children:[e.jsx("button",{className:"btn btn-lg","data-testid":"button-hero-start",style:{background:"var(--green)",color:"#06080B",padding:"16px 34px",fontSize:16,fontWeight:800,borderRadius:7,border:"none",cursor:"pointer"},onClick:()=>n("/signup"),children:"Start Free Trial →"}),e.jsx("button",{className:"btn btn-outline btn-lg","data-testid":"button-hero-demo",onClick:()=>{const t=document.getElementById("how-it-works");t&&t.scrollIntoView({behavior:"smooth"})},children:"See How It Works"})]}),e.jsx("div",{className:"fu d5",style:{display:"flex",gap:28,flexWrap:"wrap"},children:[{icon:"📲",text:"Real-time calendar sync"},{icon:"🤖",text:"Auto SMS + email"},{icon:"📍",text:"Service-area routing"}].map((t,o)=>e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[e.jsx("span",{style:{fontSize:16},children:t.icon}),e.jsx("span",{style:{fontSize:13,color:"var(--t2)"},"data-testid":`text-hero-stat-${o}`,children:t.text})]},o))})]})]}),e.jsx("section",{style:{padding:"96px 24px",background:"var(--bg2)"},children:e.jsxs("div",{className:"wrap",style:{maxWidth:800,margin:"0 auto",textAlign:"center"},children:[e.jsx(i,{color:"var(--rose)",style:{marginBottom:16},children:"THE PROBLEM"}),e.jsx("h2",{className:"ox",style:{fontSize:40,fontWeight:800,lineHeight:1.05,letterSpacing:"-.025em",marginBottom:24},children:e.jsx("span",{className:"gt-rose",children:"PHONE TAG IS WHERE LEADS DIE"})}),e.jsx("p",{style:{color:"var(--t2)",fontSize:16,lineHeight:1.7},children:"A homeowner finds your site at 9pm after a full day. They want a consultation. Your number's on the page. They don't call — nobody calls anymore. They send a contact form. Your office is closed. By the time you respond Tuesday afternoon, they've already booked with the contractor whose website let them lock in a Wednesday slot at midnight. Online booking isn't a convenience anymore — it's the difference between leads that close and leads that ghost."})]})}),e.jsx("section",{id:"how-it-works",style:{padding:"96px 24px",background:"var(--bg)"},children:e.jsxs("div",{className:"wrap",children:[e.jsxs("div",{style:{textAlign:"center",marginBottom:56},children:[e.jsx(i,{color:"var(--teal)",style:{marginBottom:16},children:"HOW IT WORKS"}),e.jsxs("h2",{className:"ox",style:{fontSize:48,fontWeight:800,lineHeight:1,letterSpacing:"-.025em"},children:["FROM ",e.jsx("span",{className:"gt-teal",children:"CLICK TO BOOKED CONSULT"})]})]}),e.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(4,1fr)",gap:20},className:"four-col",children:s.map((t,o)=>e.jsxs("div",{className:"card card-hover",style:{padding:"28px 22px",position:"relative"},"data-testid":`card-step-${o}
1`,children:[e.jsx("div",{className:"fc",style:{fontSize:10,color:"var(--teal)",letterSpacing:".1em",marginBottom:14},children:t.num}),e.jsx("div",{style:{fontSize:28,marginBottom:12},children:t.icon}),e.jsx("div",{className:"ox",style:{fontSize:16,fontWeight:700,marginBottom:8},children:t.title}),e.jsx("div",{style:{fontSize:13,color:"var(--t2)",lineHeight:1.6},children:t.desc})]},o))})]})}),e.jsx("section",{style:{padding:"96px 24px",background:"var(--bg2)"},children:e.jsxs("div",{className:"wrap",children:[e.jsxs("div",{style:{textAlign:"center",marginBottom:56},children:[e.jsx(i,{color:"var(--green)",style:{marginBottom:16},children:"FEATURES"}),e.jsxs("h2",{className:"ox",style:{fontSize:48,fontWeight:800,lineHeight:1,letterSpacing:"-.025em"},children:["EVERY SCHEDULING DETAIL ",e.jsx("span",{className:"gt-green",children:"HANDLED"})]})]}),e.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(4,1fr)",gap:16},className:"four-col",children:a.map((t,o)=>e.jsxs("div",{className:"card card-hover",style:{padding:"28px 22px"},"data-testid":`card-benefit-${o}`,children:[e.jsx("div",{style:{fontSize:28,marginBottom:12},children:t.icon}),e.jsx("div",{className:"ox",style:{fontSize:15,fontWeight:700,marginBottom:8},children:t.title}),e.jsx("div",{style:{fontSize:12,color:"var(--t2)",lineHeight:1.6},children:t.desc})]},o))})]})}),e.jsx("section",{style:{padding:"96px 24px",background:"var(--bg)"},children:e.jsxs("div",{className:"wrap",children:[e.jsxs("div",{style:{textAlign:"center",marginBottom:48},children:[e.jsx(i,{color:"var(--teal)",style:{marginBottom:16},children:"BUILT FOR YOUR TRADE"}),e.jsx("h2",{className:"ox",style:{fontSize:40,fontWeight:800,lineHeight:1,letterSpacing:"-.025em"},children:"REMODELERS · ROOFERS · LANDSCAPERS · SOLAR"})]}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(2,1fr)",gap:20,maxWidth:900,margin:"0 auto"},className:"two-col",children:[e.jsxs("div",{className:"card",style:{padding:"24px 22px"},children:[e.jsx("div",{className:"ox",style:{fontSize:16,fontWeight:700,marginBottom:10},children:"In-Home vs Virtual Consults"}),e.jsx("p",{style:{fontSize:13,color:"var(--t2)",lineHeight:1.6},children:"Different consultation types for different needs. A roofer's free estimate is 30 min in-home. A remodeler's design consult is 90 min on Zoom. Each gets its own booking flow with the right buffer time and travel allowance."})]}),e.jsxs("div",{className:"card",style:{padding:"24px 22px"},children:[e.jsx("div",{className:"ox",style:{fontSize:16,fontWeight:700,marginBottom:10},children:"Drive-Time Aware"}),e.jsx("p",{style:{fontSize:13,color:"var(--t2)",lineHeight:1.6},children:"Booking knows your service area. Slots fill in clusters that minimize windshield time. Two consults in the same neighborhood get back-to-back. A consult 40 miles away gets a buffer hour."})]}),e.jsxs("div",{className:"card",style:{padding:"24px 22px"},children:[e.jsx("div",{className:"ox",style:{fontSize:16,fontWeight:700,marginBottom:10},children:"Pre-Qual Questions"}),e.jsx("p",{style:{fontSize:13,color:"var(--t2)",lineHeight:1.6},children:`Don't waste evenings on tire-kickers. Optional pre-qual questions ("Project budget range?" "Do you have plans?" "Are you the homeowner?") filter the bookings to qualified prospects before they hit your calendar.`})]}),e.jsxs("div",{className:"card",style:{padding:"24px 22px"},children:[e.jsx("div",{className:"ox",style:{fontSize:16,fontWeight:700,marginBottom:10},children:"Project Brief Auto-Generated"}),e.jsx("p",{style:{fontSize:13,color:"var(--t2)",lineHeight:1.6},children:"Every booked consult gets an auto-generated brief — homeowner info, project type, address, photos they uploaded, and any pre-qual answers. You walk in prepared, not blind."})]})]})]})}),e.jsx("section",{style:{padding:"96px 24px",background:"var(--bg2)"},children:e.jsxs("div",{className:"wrap",children:[e.jsxs("div",{style:{textAlign:"center",marginBottom:48},children:[e.jsx(i,{color:"var(--teal)",style:{marginBottom:16},children:"WORKS WITH"}),e.jsxs("h2",{className:"ox",style:{fontSize:36,fontWeight:800,lineHeight:1,letterSpacing:"-.025em"},children:["BOOKING IS PART OF A ",e.jsx("span",{className:"gt-teal",children:"FULL CONTRACTOR OS"})]})]}),e.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(3,1fr)",gap:16,maxWidth:900,margin:"0 auto"},className:"three-col",children:[{icon:"🤖",title:"AI Contractor Agent",desc:"When a homeowner asks about availability over WhatsApp, AI books the slot directly into your calendar.",link:"/features/ai-agent"},{icon:"📝",title:"Quote Builder",desc:"After every booked consult, the AI quote builder is ready to generate a quote on the spot.",link:"/features/contracts"},{icon:"🎯",title:"CRM & Pipeline",desc:"Every booking lands as a lead in your CRM with full attribution and a project brief attached.",link:"/features/crm"}].map((t,o)=>e.jsxs("a",{href:t.link,className:"card card-hover",style:{padding:"20px 18px",textDecoration:"none",display:"block"},"data-testid":`crosslink-${o}`,children:[e.jsx("div",{style:{fontSize:24,marginBottom:10},children:t.icon}),e.jsx("div",{className:"ox",style:{fontSize:14,fontWeight:700,marginBottom:6,color:"var(--t1)"},children:t.title}),e.jsx("div",{style:{fontSize:12,color:"var(--t2)",lineHeight:1.5},children:t.desc})]},o))})]})}),e.jsx("section",{style:{padding:"96px 24px",background:"var(--bg)"},children:e.jsxs("div",{className:"wrap",style:{textAlign:"center",maxWidth:700},children:[e.jsxs("h2",{className:"ox",style:{fontSize:48,fontWeight:800,lineHeight:1,letterSpacing:"-.025em",marginBottom:20},children:["STOP LOSING ",e.jsx("span",{className:"gt-green",children:"AFTER-HOURS LEADS"})]}),e.jsx("p",{style:{color:"var(--t2)",fontSize:16,lineHeight:1.7,marginBottom:36},children:"Most of your best leads find your website outside of business hours. Give them a way to lock in their slot the moment they're ready, and 
1you'll close them before competitors even pick up the phone."}),e.jsxs("div",{style:{display:"flex",gap:12,justifyContent:"center",flexWrap:"wrap"},children:[e.jsx("button",{className:"btn btn-lg","data-testid":"button-cta-start",style:{background:"var(--green)",color:"#06080B",padding:"16px 34px",fontSize:16,fontWeight:800,borderRadius:7,border:"none",cursor:"pointer"},onClick:()=>n("/signup"),children:"Start Free Trial →"}),e.jsx("button",{className:"btn btn-outline btn-lg","data-testid":"button-cta-pricing",onClick:()=>n("/#pricing"),children:"See All Plans"})]})]})}),e.jsx(c,{})]})}export{x as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.