# Army MWR > DFMWR integrates and delivers Family and Morale, Welfare and Recreation programs and services enabling readiness and resilience for a globally-responsive Army. This file directs automated crawlers to the most efficient endpoints for event data. Following it avoids duplicate fetches, redundant content, and rate limiting. Each installation runs its own site (e.g. `bragg.armymwr.com`, `jblm.armymwr.com`); the patterns below apply to every installation host. ## Calendar Event discovery is best done through a single JSON endpoint, then followed by direct fetches of event detail pages. - [Month events JSON](/calendar/get_month_events?start=YYYY-MM-DD&end=YYYY-MM-DD): Returns a flat JSON array of events whose date range overlaps the window. `start` and `end` are required dates in `YYYY-MM-DD` format. The server caps responses at roughly 60 days regardless of the requested range, so request one calendar month at a time and iterate. Each event object includes `id`, `title`, `start` and `end` timestamps (as `YYYY-MM-DD HH:MM:SS`), and an absolute `url` pointing to its detail page. Multi-day events appear in every overlapping month — use `id` to deduplicate across requests. - [Event detail pages](/calendar/event/): The canonical source of event content and full metadata. Fetch these directly using the `url` values returned by `get_month_events`. The URL path contains internal identifiers (slug, event id, occurrence id) that are not exposed elsewhere, so do not attempt to construct these URLs. ## Endpoints to avoid The paths below render HTML indexes that link to the same `/calendar/event/` detail pages already discoverable via `get_month_events`. They contain no unique content, and crawling them at scale triggers rate limiting. They are also disallowed in `robots.txt`. - `/calendar?category=…` - `/calendar?categoryFilter=…` - `/calendar?mode=…` The unfiltered `/calendar` landing page is likewise a link index — prefer `get_month_events` for programmatic discovery.