# Reservation Pc — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Access real-time campground availability and reservation data from the Parks Canada booking system. Search locations, retrieve available campsites and cabins, filter by equipment type, and review operating date schedules across the national park network. Includes detailed resource metadata and map-based availability overviews.

**Category:** Travel | **Website:** [reservation.pc.gc.ca/](https://reservation.pc.gc.ca/) | **Docs:** [parse.bot/marketplace/b499acba-6aac-47bb-a077-b0ff0a2e676c/reservation-pc-gc-ca-api](https://parse.bot/marketplace/b499acba-6aac-47bb-a077-b0ff0a2e676c/reservation-pc-gc-ca-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-reservation-pc-gc-ca-api-b499acba/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_availability

Retrieve daily availability time slots for a specific resource (campsite, cabin, oTENTik). Returns day-by-day availability status for a date range, including availability codes, remaining quota, and processed availability labels. Defaults to a 90-day window from today if dates are not specified.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `booking_category_id` | string | No | Booking category ID (1=Frontcountry Camping). |
| `end_date` | string | No | End date in YYYY-MM-DD format. Defaults to start_date + 90 days. |
| `equipment_category_id` | string | No | Equipment category ID. Get from get_equipment. |
| `language` | string | No | Language code for localized content. |
| `resource_id` | string | Yes | Resource ID (campsite/cabin). Get these from get_resources endpoint (resource_id field). |
| `start_date` | string | No | Start date in YYYY-MM-DD format. Defaults to today. |
| `sub_equipment_category_id` | string | No | Sub-equipment category ID. Get from get_equipment. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-reservation-pc-gc-ca-api-b499acba/get_availability \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"booking_category_id":"<string>","end_date":"<string>","equipment_category_id":"<string>","language":"<string>","resource_id":"<string>","start_date":"<string>","sub_equipment_category_id":"<string>"}'
```

### get_date_schedule

Retrieve operating and reservable date schedules for a location, including check-in/check-out times, minimum/maximum stay durations, and booking window dates (go-live dates). Each location may have multiple schedules for different resource categories.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `language` | string | No | Language code for localized content. |
| `resource_location_id` | string | Yes | Location ID from get_locations endpoint (resource_location_id field). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-reservation-pc-gc-ca-api-b499acba/get_date_schedule \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"language":"<string>","resource_location_id":"<string>"}'
```

### get_equipment

Retrieve all equipment types and subcategories (tent sizes, RV types, backcountry gear) used for filtering campsite availability. The equipment_category_id and sub_equipment_category_id values are used as parameters in availability queries.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `language` | string | No | Language code for localized content. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-reservation-pc-gc-ca-api-b499acba/get_equipment \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"language":"<string>"}'
```

### get_locations

Retrieve all Parks Canada campground and park locations. Returns metadata including names, descriptions, GPS coordinates, timezone offsets, and root map IDs needed for map-level availability queries. No pagination — the full list (~114 locations) is returned in one call.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `language` | string | No | Language code for localized content. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-reservation-pc-gc-ca-api-b499acba/get_locations \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"language":"<string>"}'
```

### get_map_availability

Retrieve availability overview for all resources on a campground map section. Returns per-resource and per-link availability for the specified date range, useful for finding available sites across an entire campground area without checking each site individually. Defaults to a 1-day window from today if dates are not specified.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `booking_category_id` | string | No | Booking category ID. |
| `end_date` | string | No | End date in YYYY-MM-DD format. Defaults to start_date + 1 day. |
| `equipment_category_id` | string | No | Equipment category ID. |
| `language` | string | No | Language code for localized content. |
| `map_id` | string | Yes | Map ID (campground section). Get from get_locations (root_map_id field). |
| `start_date` | string | No | Start date in YYYY-MM-DD format. Defaults to today. |
| `sub_equipment_category_id` | string | No | Sub-equipment category ID. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-reservation-pc-gc-ca-api-b499acba/get_map_availability \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"booking_category_id":"<string>","end_date":"<string>","equipment_category_id":"<string>","language":"<string>","map_id":"<string>","start_date":"<string>","sub_equipment_category_id":"<string>"}'
```

### get_resources

Retrieve all individual resources (campsites, cabins, oTENTiks, etc.) for a specific park/campground location. Each resource includes capacity, allowed equipment, and custom attributes. The resource_id values are required for per-site availability queries.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `language` | string | No | Language code for localized content. |
| `resource_location_id` | string | Yes | Location ID from get_locations endpoint (resource_location_id field). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-reservation-pc-gc-ca-api-b499acba/get_resources \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"language":"<string>","resource_location_id":"<string>"}'
```
