ci/woodpecker/pr/calendar Pipeline was successful
ci/woodpecker/pr/cli Pipeline was successful
ci/woodpecker/pr/config Pipeline was successful
ci/woodpecker/pr/db Pipeline was successful
ci/woodpecker/pr/jobs Pipeline was successful
ci/woodpecker/pr/video-chat Pipeline was successful
ci/woodpecker/pr/web Pipeline was successful
ci/woodpecker/pr/worker Pipeline was successful
ci/woodpecker/push/calendar Pipeline was successful
ci/woodpecker/push/cli Pipeline was successful
ci/woodpecker/push/config Pipeline was successful
ci/woodpecker/push/db Pipeline was successful
ci/woodpecker/push/jobs Pipeline was successful
ci/woodpecker/push/video-chat Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
ci/woodpecker/push/worker Pipeline was successful
820 B
820 B
Philosophy
Schedule appointments for one person. Do it well. Stop there.
When is for the self-hoster who want a simple booking page that works well for them and aren't going to get surprised one day with enterprise features they are locked out of or source code that isn't open anymore (cough cough, i'm looking at you every-other-appointment-service-ive-used)
keep it simple
- Simple: No teams, tenants, round-robin routing or plugin system.
- Fastish: fast enough page loads, slow work done in the worker.
- Low Maintenance: point one, but disguised as point three.
just a text file ...
all your configuration lives in when.yaml. Edit it, back it up, put it in
Git.
... and two sqlite files
Appointments live in one SQLite. Background jobs live in another. They didn't look as good in yaml.