Cheap Hours · version 1
Cheap Hours
Publish one small JSON file on your own domain and In Force reads your hours directly. The point is not convenience. What a venue states about itself is first-hand evidence, which outranks anything anyone can lift off a page. And when your hours change, ours change.
The file lives at /.well-known/cheap-hours.json on your own domain. Nothing to sign
up for, no key, no fee. In Force fetches it, reads it, and links back to it as the source.
No-code first file
Make the source you own
Nothing is submitted here. This instrument writes a file in your browser for you to place on your domain.
Complete the fields to make a file. The whole format
Copy this, change it, put it at /.well-known/cheap-hours.json. The live copy is at cheap-hours.example.json.
{
"cheap_hours": "1",
"venue": {
"name": "Scofflaw",
"neighborhood": "logan-square",
"address": "3201 W Armitage Ave, Chicago, IL 60647",
"url": "https://scofflawchicago.com"
},
"offers": [
{
"id": "happy-hour",
"title": "$8 happy hour cocktails",
"summary": "Every cocktail on the list is $8",
"constraints": "Bar and lounge only, not the patio",
"kind": "item_price",
"price": 8,
"categories": ["bar"],
"days": ["MO", "TU", "WE", "TH"],
"start": "17:00",
"end": "19:00",
"until": "2026-12-31"
},
{
"id": "anniversary",
"title": "Free punch, one afternoon only",
"kind": "free",
"price": 0,
"categories": ["bar", "free"],
"starts": "2026-09-14T14:00",
"ends": "2026-09-14T17:00"
}
]
} Every field
What gets refused
Three rules do most of the work, and each one exists because breaking it puts something on the clock that cannot be checked.
A file still goes stale. We re-read yours on the same sweep as every other source, and what we cannot confirm shows on the desk rather than quietly staying up.