Article · October 23, 2026

I checked 73 Portland trade websites. Two showed an open time.

I looked at 73 HVAC, plumbing, electrical, garage door and roofing websites in the Portland area the way a customer or an AI assistant would. Two showed an open time before asking who you are. Nine posted a price for a routine job.

In October I asked ChatGPT, Claude and Gemini to book a furnace tune-up with a fictional Portland heating company. When the site showed open times and prices, two of the three assistants could hold a time on their own. When a booking page asked for a phone number, email and street address first, ChatGPT stopped there.

That test used a company I made up. So between October 16 and 23 I looked at real ones: 73 websites of local trade businesses in the Portland area and Vancouver, WA, across five trades. I was also looking for businesses I might work with, and I have contacted some of them. This page names none of them.

At a glance

Of 73 websitesCount
Showed an open time before asking who you are2
Booking tool that asks for your address or contact details before any time6
"Book" or "Schedule" button that leads to a request form24
No way to book online39
Posted their own price for a routine job9
Opening hours missing from the pages I read17
Tell an AI assistant to stay away in robots.txt1
Have an llms.txt file31

Two sites use a booking tool I couldn't walk to the end, so the booking rows add up to 71.

Open times

Only two of 73 showed a real open time before asking for any personal details. Both use ServiceTitan's online scheduler. After a ZIP code and a few questions about the job, it listed windows like "Mon, Oct 26, 2 PM - 5 PM", and only then asked for a name and phone number.

Six sites use Housecall Pro. On the four I walked through by hand, picking a service led straight to a screen asking for first and last name, phone, email and street address, before any time appeared. That is the page where ChatGPT stopped in my test. On the other two, the first screen asked for an address before showing anything.

Twenty-four sites have a "Book" or "Schedule" button that opens a request form. A few of these let you pick a preferred day or time, but someone still has to call back to confirm it. Thirty-nine have no online booking at all, and on one of those the "Schedule Service" link was broken.

For a customer at 9 pm, most of these sites offer a phone number and a form. For an AI assistant asked to book something, they offer nothing it can act on.

Prices

Nine of 73 posted their own price for a routine job: a furnace tune-up, a garage door tune-up, a diagnostic fee, a first hour of troubleshooting, a roof inspection. None of the 14 plumbers did.

An automatic search found dollar amounts on twelve more sites, but none of them was a price a customer could use: insurance limits, amp ratings, financing per month, discount thresholds, prices quoted inside customer reviews, and a roofer whose page still shows a template's sample prices.

On two sites a price did exist, just not where people look. Their Housecall Pro booking pages listed prices, a $170 heating tune-up on one of them, that their own websites don't show.

An assistant asked "what does a tune-up cost with this company" can only repeat a number it can find. For 64 of these businesses, there isn't one.

Hours and "24/7"

Seventeen sites had no opening hours on the pages I read. Twenty-seven say they offer 24/7 or round-the-clock service. I didn't call any of them at night, so I can't say how many answer.

What assistants are allowed to read

Blocking isn't the problem. Only one of the 73 tells AI assistants to stay away in its robots.txt. Twenty sites sit behind Cloudflare, though, and Cloudflare has its own setting for AI crawlers that can't be seen from outside. If your site is on Cloudflare, it is worth looking at that setting once.

Thirty-one of the 73 have an llms.txt file, a newer convention meant to give AI tools a summary of a site. In my booking test, none of the three assistants ever requested it. The things they did use, open times and prices on ordinary pages, are what most of these sites are missing.

By trade

TradeSitesTimes before detailsBooking tool, details firstRequest formNo online bookingOwn routine price
HVAC1312633
Plumbing1410580
Electrical1402481
Garage doors1802694
Roofing14003111

One HVAC site and one garage door site use a booking tool I couldn't walk to the end. With 13 to 18 sites per trade, these numbers describe these businesses, not each trade as a whole.

What I'd fix first

  1. Show times before asking who someone is. If your booking tool can't do that, say on the page how fast you call back, and keep to it.
  2. Post one price: your most common job, or your service call or diagnostic fee.
  3. Put your opening hours on the site, in plain text.
  4. If your site is on Cloudflare, check its AI crawler setting.
  5. Keep the llms.txt if you have one. It does no harm, but it doesn't replace the first three.

None of these needs new software. Most are settings and one paragraph of text.

How I checked

I picked local businesses from Google Maps in five trades across the Portland metro and Vancouver, WA. A script read each homepage and up to seven linked pages the way any visitor's browser would, and recorded booking links, prices, hours, robots.txt and structured data. It never typed into a form or picked a time.

I then checked by hand what the script couldn't settle: every dollar amount it found, and the booking tools. For those I chose a service and, on the ServiceTitan scheduler, entered a public ZIP code. I stopped at the first screen that showed times or asked for personal details, and I never submitted anything. The Housecall Pro walks were on October 18 and the ServiceTitan walks on October 23.

I checked 85 websites and dropped 12. Nine were parked domains, where my list had the wrong web address for the business, two showed a bot check the script couldn't pass, and one had a certificate error.

This is not a random sample. It is the businesses I was looking at, and a site can change the day after I read it. I didn't call any phone numbers for this page.

If you want to see what an assistant runs into when it tries to book with your business, the details are in what AI assistants actually do when you ask them to book a furnace tune-up. The fixes I build for owners are on more customers.

If your team is wiring models into real systems, MCP servers, an ERP, SAP, I take on that integration work, remote or on site. How I work with engineering teams, or write to peter@portlandaiworks.com.

New articles go out on LinkedIn and in the feed.