[{"data":1,"prerenderedAt":487},["ShallowReactive",2],{"content-query-rrDuI6WtkM":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":7,"summary":9,"order":10,"body":11,"_type":481,"_id":482,"_source":483,"_file":484,"_stem":485,"_extension":486},"\u002Fguides\u002Fmulti-location-hvac-on-fastyoke","guides",false,"","Multi-location HVAC on FastYoke — FastYoke","Field-service operations for an HVAC contractor running across multiple locations. Dispatch, on-site state, invoicing, and the marketplace apps that wire it together.",9,{"type":12,"children":13,"toc":464},"root",[14,22,449],{"type":15,"tag":16,"props":17,"children":21},"element","hero",{"eyebrow":18,"tagline":19,"title":20},"Vertical playbook","What the day-to-day stack looks like for an HVAC contractor running real field operations — dispatch boards, on-site state tracking, invoicing the moment the work is done, and the audit trail when a customer disputes a charge.","Multi-location HVAC on FastYoke",[],{"type":15,"tag":23,"props":24,"children":27},"marketing-section",{"band":25,"max-width":26},"white","3xl",[28,36,42,47,53,58,124,129,134,140,145,152,164,170,175,181,193,199,204,210,215,221,226,268,280,286,291,344,350,355,388,401,407],{"type":15,"tag":29,"props":30,"children":32},"h2",{"id":31},"who-this-is-for",[33],{"type":34,"value":35},"text","Who this is for",{"type":15,"tag":37,"props":38,"children":39},"p",{},[40],{"type":34,"value":41},"You run an HVAC contracting business with 5–50 field\ntechnicians across one or more locations. You have a\ndispatcher, an office team, and a customer base that's a\nmix of residential maintenance contracts, commercial\nservice calls, and the occasional install. Your current\nstack is some combination of ServiceTitan, Housecall Pro,\na homegrown spreadsheet, a separate accounting package,\nand a lot of Slack messages.",{"type":15,"tag":37,"props":43,"children":44},{},[45],{"type":34,"value":46},"This guide is for the moment you're either evaluating a\nreplacement for that stack or looking for the back-of-\nhouse operations layer underneath it.",{"type":15,"tag":29,"props":48,"children":50},{"id":49},"the-shape-of-the-work",[51],{"type":34,"value":52},"The shape of the work",{"type":15,"tag":37,"props":54,"children":55},{},[56],{"type":34,"value":57},"HVAC operations have a fairly stable rhythm:",{"type":15,"tag":59,"props":60,"children":61},"ul",{},[62,74,84,94,104,114],{"type":15,"tag":63,"props":64,"children":65},"li",{},[66,72],{"type":15,"tag":67,"props":68,"children":69},"strong",{},[70],{"type":34,"value":71},"Intake.",{"type":34,"value":73}," A customer calls or submits a form.",{"type":15,"tag":63,"props":75,"children":76},{},[77,82],{"type":15,"tag":67,"props":78,"children":79},{},[80],{"type":34,"value":81},"Triage.",{"type":34,"value":83}," The dispatcher decides which tech, which\ntruck, which day.",{"type":15,"tag":63,"props":85,"children":86},{},[87,92],{"type":15,"tag":67,"props":88,"children":89},{},[90],{"type":34,"value":91},"Dispatch.",{"type":34,"value":93}," The tech gets a job on their phone with\nthe customer's address, the equipment history, and the\nparts list.",{"type":15,"tag":63,"props":95,"children":96},{},[97,102],{"type":15,"tag":67,"props":98,"children":99},{},[100],{"type":34,"value":101},"On-site.",{"type":34,"value":103}," Diagnose, quote, get approval, do the\nwork.",{"type":15,"tag":63,"props":105,"children":106},{},[107,112],{"type":15,"tag":67,"props":108,"children":109},{},[110],{"type":34,"value":111},"Invoice.",{"type":34,"value":113}," Capture payment on-site or email the\ncustomer an invoice they can pay.",{"type":15,"tag":63,"props":115,"children":116},{},[117,122],{"type":15,"tag":67,"props":118,"children":119},{},[120],{"type":34,"value":121},"Followup.",{"type":34,"value":123}," Schedule the next maintenance visit.\nClose the loop on the work order.",{"type":15,"tag":37,"props":125,"children":126},{},[127],{"type":34,"value":128},"Every step has state. Every state change matters. Most\n\"why didn't we get paid?\" \u002F \"why did the tech show up at\nthe wrong address?\" \u002F \"why is this maintenance contract\n30 days overdue?\" fail-modes trace back to a state\ntransition that didn't happen or got mis-recorded.",{"type":15,"tag":37,"props":130,"children":131},{},[132],{"type":34,"value":133},"FastYoke models that rhythm directly.",{"type":15,"tag":29,"props":135,"children":137},{"id":136},"the-apps-you-install",[138],{"type":34,"value":139},"The apps you install",{"type":15,"tag":37,"props":141,"children":142},{},[143],{"type":34,"value":144},"The HVAC stack on FastYoke is a combination of marketplace\napps plus the free Logistics core:",{"type":15,"tag":146,"props":147,"children":149},"h3",{"id":148},"field-service-yoke",[150],{"type":34,"value":151},"Field Service Yoke",{"type":15,"tag":37,"props":153,"children":154},{},[155,157,162],{"type":34,"value":156},"The flagship for this vertical. Schedule jobs, dispatch\nyour crew, track each job through ",{"type":15,"tag":67,"props":158,"children":159},{},[160],{"type":34,"value":161},"New → Dispatched →\nOn-site → Invoiced",{"type":34,"value":163},". The dispatcher sees the queue; the\ntech sees their day on their phone. Every transition\nfires guards (was the tech qualified for this work? did\nthe customer approve the estimate?) and writes an\nappend-only audit row.",{"type":15,"tag":146,"props":165,"children":167},{"id":166},"crm-suite",[168],{"type":34,"value":169},"CRM Suite",{"type":15,"tag":37,"props":171,"children":172},{},[173],{"type":34,"value":174},"Customers, equipment-on-site, contract status, service\nhistory. Linked to the job entities so a dispatcher\nopening a job sees the full equipment history without a\ncontext switch.",{"type":15,"tag":146,"props":176,"children":178},{"id":177},"yoke-ledger-gl-pack",[179],{"type":34,"value":180},"Yoke Ledger + GL Pack",{"type":15,"tag":37,"props":182,"children":183},{},[184,186,191],{"type":34,"value":185},"AR \u002F AP, invoicing, payment capture, GL posting. When a\njob moves to ",{"type":15,"tag":67,"props":187,"children":188},{},[189],{"type":34,"value":190},"Invoiced",{"type":34,"value":192},", the invoice posts to the\nledger automatically. When the customer pays (in-app or\nvia the payment connector), the payment posts to AR.\nMonth-end close runs against the same ledger.",{"type":15,"tag":146,"props":194,"children":196},{"id":195},"inventory",[197],{"type":34,"value":198},"Inventory",{"type":15,"tag":37,"props":200,"children":201},{},[202],{"type":34,"value":203},"Truck stock, parts on hand, reorder points. When a tech\nuses a part on a job, the inventory deducts; when a\ntruck restocks, inventory increments. The GL Pack posts\nCOGS on issue if you flip the toggle.",{"type":15,"tag":146,"props":205,"children":207},{"id":206},"forms-free",[208],{"type":34,"value":209},"Forms — free",{"type":15,"tag":37,"props":211,"children":212},{},[213],{"type":34,"value":214},"Public maintenance-request forms, contact forms, online\nquote requests. Cloudflare Turnstile + PDF copy on\nsubmit. Free forever; you don't pay extra for the intake\nfunnel.",{"type":15,"tag":29,"props":216,"children":218},{"id":217},"multi-location-specifics",[219],{"type":34,"value":220},"Multi-location specifics",{"type":15,"tag":37,"props":222,"children":223},{},[224],{"type":34,"value":225},"Running across multiple physical locations is the\nquestion that throws most field-service software. FastYoke\nhandles it three ways depending on shape:",{"type":15,"tag":59,"props":227,"children":228},{},[229,248,258],{"type":15,"tag":63,"props":230,"children":231},{},[232,237,239,246],{"type":15,"tag":67,"props":233,"children":234},{},[235],{"type":34,"value":236},"Single tenant, multiple \"facilities.\"",{"type":34,"value":238}," Each location\nis a ",{"type":15,"tag":240,"props":241,"children":243},"code",{"className":242},[],[244],{"type":34,"value":245},"Facility",{"type":34,"value":247}," entity in the free Logistics core. Techs\nare scoped by facility. Dispatching is per-facility but\nthe customer database is shared.",{"type":15,"tag":63,"props":249,"children":250},{},[251,256],{"type":15,"tag":67,"props":252,"children":253},{},[254],{"type":34,"value":255},"One tenant per location.",{"type":34,"value":257}," Each location runs as its\nown FastYoke tenant. Useful if locations are\nseparately-managed franchises with their own books.\nThe fleet-of-files architecture means each location's\ndata lives in its own database file.",{"type":15,"tag":63,"props":259,"children":260},{},[261,266],{"type":15,"tag":67,"props":262,"children":263},{},[264],{"type":34,"value":265},"Hub-and-spoke.",{"type":34,"value":267}," Headquarters runs a master tenant;\neach location is a sub-tenant under it. Channel Partner\nshape, technically possible, usually overkill for\nHVAC.",{"type":15,"tag":37,"props":269,"children":270},{},[271,273,278],{"type":34,"value":272},"For most multi-location HVAC operators, ",{"type":15,"tag":67,"props":274,"children":275},{},[276],{"type":34,"value":277},"single tenant\nwith multiple facilities",{"type":34,"value":279}," is the right shape. The audit\ntrail spans the whole operation, the customer DB is\nshared (you don't lose history when a customer moves to a\njob-site at a different location), and the dispatcher's\nview can be scoped per-facility.",{"type":15,"tag":29,"props":281,"children":283},{"id":282},"what-an-honest-deployment-looks-like",[284],{"type":34,"value":285},"What an honest deployment looks like",{"type":15,"tag":37,"props":287,"children":288},{},[289],{"type":34,"value":290},"The realistic path for an operator evaluating FastYoke\nfor HVAC:",{"type":15,"tag":292,"props":293,"children":294},"ol",{},[295,305,324,334],{"type":15,"tag":63,"props":296,"children":297},{},[298,303],{"type":15,"tag":67,"props":299,"children":300},{},[301],{"type":34,"value":302},"Pilot one location.",{"type":34,"value":304}," Install Field Service +\nCRM + Yoke Ledger. Migrate one location's customer\ndatabase and run the office for 30 days alongside\nyour current stack. Both systems get the data.",{"type":15,"tag":63,"props":306,"children":307},{},[308,313,315,322],{"type":15,"tag":67,"props":309,"children":310},{},[311],{"type":34,"value":312},"Bring in a Strategic Partner.",{"type":34,"value":314}," ",{"type":15,"tag":316,"props":317,"children":319},"a",{"href":318},"\u002Fpartners\u002Finetko",[320],{"type":34,"value":321},"iNetko",{"type":34,"value":323},"\nhandles the schema authoring, the FSM design for\nyour specific service-call flow, and the integration\nwiring (payment processor, the parts-distributor\nimport, the equipment-warranty API). One iNetko SE\nfor the first three weeks is enough for most\nsingle-location pilots.",{"type":15,"tag":63,"props":325,"children":326},{},[327,332],{"type":15,"tag":67,"props":328,"children":329},{},[330],{"type":34,"value":331},"Expand to all locations.",{"type":34,"value":333}," Once one location runs\ngreen for a month, the playbook repeats per\nlocation. You don't roll out everything at once;\nyou roll out the locations in priority order.",{"type":15,"tag":63,"props":335,"children":336},{},[337,342],{"type":15,"tag":67,"props":338,"children":339},{},[340],{"type":34,"value":341},"Retire the old stack.",{"type":34,"value":343}," When all locations are on\nFastYoke and the office team trusts the new system\nmore than the old one, the old stack goes. Typically\n60–90 days from pilot start.",{"type":15,"tag":29,"props":345,"children":347},{"id":346},"honest-tradeoffs",[348],{"type":34,"value":349},"Honest tradeoffs",{"type":15,"tag":37,"props":351,"children":352},{},[353],{"type":34,"value":354},"FastYoke is a workflow platform, not a vertical SaaS\npurpose-built for HVAC:",{"type":15,"tag":59,"props":356,"children":357},{},[358,368,378],{"type":15,"tag":63,"props":359,"children":360},{},[361,366],{"type":15,"tag":67,"props":362,"children":363},{},[364],{"type":34,"value":365},"No built-in pricing-book module.",{"type":34,"value":367}," Field Service\nYoke ships a generic line-item flow that handles\nmost pricing-book cases via the entity-schema layer,\nbut if you're used to ServiceTitan's built-in pricing-\nbook authoring you'll need to either author one in\nthe schema or live with a slightly heavier\nworkflow.",{"type":15,"tag":63,"props":369,"children":370},{},[371,376],{"type":15,"tag":67,"props":372,"children":373},{},[374],{"type":34,"value":375},"No native dispatch optimization.",{"type":34,"value":377}," You see the queue\nand you assign manually (or via a simple rules-based\nworkflow). Native vehicle-routing optimization isn't in\nscope for v1. (We have it for the Bus Routing and\nConvention Rideshare apps; it's not yet generalized\nto field service.)",{"type":15,"tag":63,"props":379,"children":380},{},[381,386],{"type":15,"tag":67,"props":382,"children":383},{},[384],{"type":34,"value":385},"No mobile app for techs (yet).",{"type":34,"value":387}," Techs use the web\nconsole on their phone. It works, it's responsive, but\nit's not a native iOS \u002F Android app. Native\nfield-tech mobile is on the roadmap.",{"type":15,"tag":37,"props":389,"children":390},{},[391,393,399],{"type":34,"value":392},"If those tradeoffs are deal-breakers — ",{"type":15,"tag":394,"props":395,"children":396},"em",{},[397],{"type":34,"value":398},"stay on\nServiceTitan",{"type":34,"value":400},". The vertical SaaS has those features\nbecause the vertical SaaS is built only for HVAC. FastYoke\ngives you the operational substrate, the workflow engine,\nand the multi-app integration story for the cases where\nthe vertical SaaS is overkill or doesn't fit your\nspecific shape.",{"type":15,"tag":29,"props":402,"children":404},{"id":403},"how-to-start",[405],{"type":34,"value":406},"How to start",{"type":15,"tag":292,"props":408,"children":409},{},[410,423,436],{"type":15,"tag":63,"props":411,"children":412},{},[413,415,421],{"type":34,"value":414},"Request ",{"type":15,"tag":316,"props":416,"children":418},{"href":417},"\u002Fgetting-started",[419],{"type":34,"value":420},"early access",{"type":34,"value":422}," and mention\nHVAC in the form. We'll route you to iNetko for the\nscoping conversation.",{"type":15,"tag":63,"props":424,"children":425},{},[426,428,434],{"type":34,"value":427},"Read the ",{"type":15,"tag":316,"props":429,"children":431},{"href":430},"\u002Fpartners\u002Fpay-n-go-systems",[432],{"type":34,"value":433},"Channel Partner",{"type":34,"value":435},"\npage if your operation also sells equipment (POS\nside-by-side with field service is a common shape).",{"type":15,"tag":63,"props":437,"children":438},{},[439,441,447],{"type":34,"value":440},"Compare against the ",{"type":15,"tag":316,"props":442,"children":444},{"href":443},"\u002Fdocs\u002Fmarketplace",[445],{"type":34,"value":446},"Field Service",{"type":34,"value":448},"\napp's capability list to make sure the v1 feature\nsurface covers your bottom-three workflows.",{"type":15,"tag":23,"props":450,"children":452},{"band":451,"max-width":26},"gray",[453],{"type":15,"tag":37,"props":454,"children":455},{},[456,458,462],{"type":34,"value":457},"For a 20-minute scoping conversation with a Strategic\nPartner SE who's onboarded HVAC operators before, request\n",{"type":15,"tag":316,"props":459,"children":460},{"href":417},[461],{"type":34,"value":420},{"type":34,"value":463}," and reference HVAC in\nthe form.",{"title":7,"searchDepth":465,"depth":465,"links":466},2,[467,468,469,477,478,479,480],{"id":31,"depth":465,"text":35},{"id":49,"depth":465,"text":52},{"id":136,"depth":465,"text":139,"children":470},[471,473,474,475,476],{"id":148,"depth":472,"text":151},3,{"id":166,"depth":472,"text":169},{"id":177,"depth":472,"text":180},{"id":195,"depth":472,"text":198},{"id":206,"depth":472,"text":209},{"id":217,"depth":465,"text":220},{"id":282,"depth":465,"text":285},{"id":346,"depth":465,"text":349},{"id":403,"depth":465,"text":406},"markdown","content:guides:multi-location-hvac-on-fastyoke.md","content","guides\u002Fmulti-location-hvac-on-fastyoke.md","guides\u002Fmulti-location-hvac-on-fastyoke","md",1783575469971]