pypoller.resource.ParksCanadaChecker

DEFAULT_BOOKING_CATEGORY_ID = '0'
PARKS_CANADA_URL = 'https://reservation.pc.gc.ca/api/availability/map'
IS_AVAILABLE = 0
@dataclass
class ParksCanadaResponse(pypoller.resource.response.Response.Response):

Response class for Parks Canada campsite availability check.

ParksCanadaResponse( available_sites: List[str] = <factory>, start_date: str = '', end_date: str = '', name_override: str = None, *, error: Exception = None)
available_sites: List[str]
start_date: str = ''
end_date: str = ''
name_override: str = None
def to_message(self) -> pypoller.messaging.Message.Message:

Convert the response to a message format.

Returns:

Message: The message containing the response body.

Resource checker for Parks Canada campsite availability.

ParksCanadaChecker( resource_id: str, booking_category_id: str = '0', equipment_category_id: str = None, sub_equipment_category_id: str = None, name_override: str = None)

Initialize the Parks Canada campsite checker.

Arguments:
  • resource_id (str): The ID of the resource.
  • booking_category_id (str): The booking category ID. Default is "0".
  • equipment_category_id (str): The equipment category ID. Default is None.
  • sub_equipment_category_id (str): The sub-equipment category ID. Default is None.
  • name_override (str): An optional name override for the campsite. Default is None.
booking_category_id
sub_equipment_category_id
equipment_category_id
resource_id
name_override
@non_null_args
@add_pre_delay(delay=1)
def check_resource( self, date_range: pypoller.resource.request.DateRangeRequest.DateRangeRequest) -> ParksCanadaResponse:

Check the availability of Parks Canada campsites within the given date range.

Arguments:
  • date_range (DateRangeRequest): The date range for which campsites are to be checked.
Returns:

ParksCanadaResponse: The response containing available campsites.

@staticmethod
def format_date(date: datetime.datetime) -> str:

Format the date in the required string format.

Arguments:
  • date (dt.datetime): The date to be formatted.
Returns:

str: The formatted date string.