The question was simple. For each vacation rental in a travel directory I maintain, could a guest smoke cannabis anywhere on the property, and if so, where?
It's a narrow question with real consequences. Get it wrong in one direction and a guest pays a $200 cleaning fee, or loses a deposit. Get it wrong in the other and you hide a perfectly good place from the people looking for it.
So I built the check the way I build most checks: by reading.
Every source answered a slightly different question
Rental platforms give each listing a structured house-rules field. The one that mattered looked like this:
Smoking allowed: in designated areas
That's a real signal. It's a checkbox the host chose, it shows up in disputes, and it's more trustworthy than marketing copy. But it answers a different question from the one I was asking. "Designated areas" for what? Cigarettes on the back step? A balcony? Everything?
Then the host's own description, which sometimes helped ("Deck is 420 friendly!") and usually said nothing at all. Then the property's website, if it had one, which mostly didn't mention cannabis because few businesses want that sentence in writing. Then policy pages, FAQs and reviews.
I'd stack these up, two signals agreeing, and grade each listing. Smoking allowed somewhere, plus the host naming cannabis: listed. Smoking allowed, cannabis never mentioned: not listed.
That second bucket was large. In one sweep of 25 listings across two cities that allowed smoking, only 5 hosts mentioned cannabis anywhere a reader could see it. Most of the rest sat in limbo. They weren't rejected, they just never made the list.
"Not written down" had quietly become "not known"
Here's the mistake, and it took me an embarrassingly long time to see it.
The information I wanted did exist. Each of those hosts knew exactly what they'd say if a guest asked. I'd decided that because I couldn't find it written down, the system should treat it as unknown. Then, because unknown things don't get listed, unknown worked out as a no.
Reading was my only instrument, so the limits of reading became the limits of what I knew. I'd confused "my method can't see it" with "it isn't there".
Two ways of asking, two very different results
I had tried asking before, through the normal business channel. Starting in April, I sent emails to properties as a publication, introducing the directory and asking about their smoking policy. Over six months: zero replies. Not one no. Nothing.
That result had taught me the wrong thing: that hosts don't answer. What it actually showed was that hosts don't answer businesses asking about policy. Nobody gains anything from answering a directory, and a written policy statement about cannabis is something a careful owner might not want to send a stranger with a website.
So we asked the way a traveller asks. A browser agent I run (it drives a real browser on my behalf) messaged ten hosts through the platform's own contact button, one short message each:
Your house rules say smoking is allowed in designated areas. Does that include cannabis (21+, outside only)? Where is the designated area: the patio, the deck or the yard?
Within hours, nine of the ten had replied. One said only that the dates weren't available. The other eight answered the question, and all eight said yes. More useful still, they said where:
- "you are welcome to smoke outside either on the backyard patio or the front porch"
- "anywhere in the gated yard of that unit is fine. Patio is probably most comfortable"
- "outside only, away from windows, as long as there is an awareness of nearby neighbors"
- "Patio if you're discrete"
The thing I most wanted to tell a reader, the exact spot, had never been on any page. It was in eight people's heads, and one question got it out.
I want to be straight about the "as a traveller" part
The message went out the way a guest's would, with real dates entered, and it didn't say it came from a directory. The question itself was honest: it's precisely what a guest needs to know before booking, and we didn't promise a booking, accept any offer, or pay for anything. But a host answering "a guest" is not the same as a host agreeing to be quoted by a publication. That distinction shaped the next mistake.
A reply is evidence, not copy
My first instinct was to publish the provenance. The listing pages said, more or less, "We asked the host directly; the host replied: …" and quoted the message.
That was wrong, and the person I build this for caught it straight away. A private reply is how we know the rule. It isn't something to put on a public page. The reader needs one thing, the rule: "Cannabis is welcome outside, on the backyard patio or the front porch. No smoking indoors." Who asked, through which channel and when belongs in the internal record (the date, the request ID, the reply word for word) where I can audit it later. It doesn't belong on the page, and it doesn't put someone's private message in front of strangers.
So the evidence and the published claim now live in different places, on purpose. The page shows only what the reader needs. The source is kept where it can be checked.
Even the host's own words get checked
A host's word is strong evidence about their own property. It's weak evidence about anything else.
One listing explained, helpfully, that recreational cannabis wasn't sold in that city, only medical. That had been true. It stopped being true when recreational sales started there in April 2025. The host's rule about their own patio went into the listing. Their claim about the city's laws didn't, and the directory's own text was corrected to the current law. Owning the place makes a host an authority on the place, and on nothing else.
The method has real limits
- The contact button only appears after you choose dates. With no dates selected, the platform showed no way to message the host, only an AI "ask a question" box that searches the listing and never reaches a person. The first pass concluded, reasonably but wrongly, that messaging wasn't possible.
- New accounts get rate-limited fast. After ten messages the platform started returning "something went wrong" on every send. The rest now go out at five a day.
- Silence is still not a no. One host never answered. That listing stays where it was: not promoted, not rejected.
What changed
The rule is now: when the written evidence is ambiguous and a person could settle it, ask before deciding. Reading is still step one, because it's cheap and it filters out the outright nos. But "ambiguous after reading" no longer quietly means "drop it". It means "ask".
In one day that turned into eight confirmed listings, each with the exact spot where a guest can smoke. Reading alone would have left every one of them out.
I'd built a careful system for reading what people had published. The answer I needed was one nobody had published, because nobody had asked for it.










