☕ Buy me a coffee

🏖️ on-vacation

Let the world know when your OSS project is taking a break

~ how it works
1 Start your README.md with # 🏖️ and a reopen date -- that's it
2 Share vacation.januschka.com/:owner/:repo

Want recurring schedules or custom links? Add a VACATION.md with a ```vacajson block.

// schedule format

Zero setup -- just start your README.md with a vacation header:

# 🏖️ OSS Vacation

**Issue tracker and PRs reopen February 23, 2026.**

All PRs will be auto-closed until then.
For support, join [Discord](https://discord.gg/...).

---

(rest of your README below the separator)
That's it. We detect the 🏖️ heading, parse the date, and extract any links automatically. No special files or config needed.

One-off or multi-day breaks:

{
  "vacations": [
    {
      "start": "2026-02-10",
      "end": "2026-02-23",
      "title": "Winter Break 2026",
      "message": "PRs reopen Feb 23.",
      "links": {
        "discord": "https://discord.gg/..."
      }
    }
  ]
}

Automatically active every week (e.g. weekends off):

{
  "vacations": [
    {
      "recurring": "weekly",
      "from": "fri 18:00",
      "to": "sun 23:59",
      "timezone": "Europe/Vienna",
      "title": "Weekend Break",
      "message": "We're off for the weekend."
    }
  ]
}

Supports: mon tue wed thu fri sat sun or German: mo di mi do fr sa so

After-hours mode, active every day:

{
  "vacations": [
    {
      "recurring": "daily",
      "from": "18:00",
      "to": "09:00",
      "timezone": "America/New_York",
      "title": "After Hours",
      "message": "We respond during business hours."
    }
  ]
}

Overnight windows work naturally -- 18:00 to 09:00 means 6pm to 9am.

Combine date ranges and recurring schedules:

{
  "vacations": [
    {
      "start": "2026-12-23",
      "end": "2027-01-02",
      "title": "Holiday Break"
    },
    {
      "recurring": "weekly",
      "from": "fri 18:00",
      "to": "sun 23:59",
      "timezone": "Europe/Vienna",
      "title": "Weekend"
    }
  ]
}

First matching entry wins -- holiday breaks take precedence.

A complete VACATION.md file for your repo:

# 🏖️ OSS Vacation

We're taking a break! Issue tracker and PRs
reopen February 23, 2026.

All PRs will be auto-closed until then.
Approved contributors can submit PRs after
vacation without reapproval.

For support, join our Discord.

```vacajson
{
  "vacations": [
    {
      "start": "2026-02-10",
      "end": "2026-02-23",
      "title": "Winter Break 2026",
      "message": "PRs reopen Feb 23.",
      "links": {
        "discord": "https://discord.gg/..."
      }
    }
  ]
}
```
Use ```vacajson instead of ```json so the schedule block doesn't clash with regular JSON examples in your markdown. GitHub renders it as a plain code block.
// json api

Set Accept: application/json for machine-readable responses:

curl -H "Accept: application/json" \
  https://vacation.januschka.com/badlogic/pi-mono
// badge

Add to your README:

[![Vacation](https://vacation.januschka.com/OWNER/REPO/badge.svg)](https://vacation.januschka.com/OWNER/REPO)
VacationVacationactiveactive VacationVacationinactiveinactive