AppyWay Parking API

The Parking API from AppyWay — 11 operation(s) for parking.

OpenAPI Specification

appyway-parking-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: AppyWay Availability RealTime ActivityTypes Parking API
  version: '1.0'
  description: AppyWay Availability RealTime API allows businesses to access real-time data on parking availability, traffic congestion, and road closure information. This API provides up-to-the-minute updates on parking spots, helping users find and reserve parking spaces quickly and easily. By providing this information in real-time, businesses can improve customer satisfaction and reduce the frustration of searching for parking. Additionally, the API helps businesses optimize their operations by providing detailed information on traffic conditions and road closures, allowing for more efficient route planning and delivery scheduling. Overall, the AppyWay Availability RealTime API is a valuable tool for businesses looking to streamline their operations and improve the customer experience.
servers:
- url: https://api.appyway.com/v1/availability-realtime
security:
- apiKey: []
- oAuth2: []
tags:
- name: Parking
paths:
  /fetchEventDatesById:
    post:
      tags:
      - Parking
      summary: AppyWay Fetch event dates by id
      description: Searches for event dates with the supplied entity ID.
      operationId: post-fetcheventdatesbyid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchEventDatesByIdQuery'
            example:
              entityId: string
              startDate: '2020-01-20'
              endDate: '2020-01-20'
          text/json:
            schema:
              $ref: '#/components/schemas/FetchEventDatesByIdQuery'
            example:
              entityId: string
              startDate: '2020-01-20'
              endDate: '2020-01-20'
          application/*+json:
            schema:
              $ref: '#/components/schemas/FetchEventDatesByIdQuery'
            example:
              entityId: string
              startDate: '2020-01-20'
              endDate: '2020-01-20'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParkingEntityEventDatesResultOkResponse'
              example:
                success: true
                result:
                  entityId: string
                  entityType: 1
                  entityETag: string
                  timeZoneId: string
                  eventDates:
                  - '2020-01-20'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
              example:
                success: true
                message: string
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /fetchOperatingHoursById:
    post:
      tags:
      - Parking
      summary: AppyWay Fetch operating hours by id
      description: Searches for operating hours with the supplied entity ID.
      operationId: post-fetchoperatinghoursbyid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchOperatingHoursByIdQuery'
            example:
              entityId: string
              includeNotApplicableOperatingHours: true
              dates:
              - '2020-01-20'
              includeClosedPeriods: true
              includeApplicableOperatingHoursDetail: true
              date: '2020-01-20'
              vehicleOperatorContext:
                vehicleTypeId: 0
                activityTypeId: 0
                fuelTypeId: 0
                permits:
                - permitTypeId: 0
              endDate: '2020-01-20'
              startDate: '2020-01-20'
          text/json:
            schema:
              $ref: '#/components/schemas/FetchOperatingHoursByIdQuery'
            example:
              entityId: string
              includeNotApplicableOperatingHours: true
              dates:
              - '2020-01-20'
              includeClosedPeriods: true
              includeApplicableOperatingHoursDetail: true
              date: '2020-01-20'
              vehicleOperatorContext:
                vehicleTypeId: 0
                activityTypeId: 0
                fuelTypeId: 0
                permits:
                - permitTypeId: 0
              endDate: '2020-01-20'
              startDate: '2020-01-20'
          application/*+json:
            schema:
              $ref: '#/components/schemas/FetchOperatingHoursByIdQuery'
            example:
              entityId: string
              includeNotApplicableOperatingHours: true
              dates:
              - '2020-01-20'
              includeClosedPeriods: true
              includeApplicableOperatingHoursDetail: true
              date: '2020-01-20'
              vehicleOperatorContext:
                vehicleTypeId: 0
                activityTypeId: 0
                fuelTypeId: 0
                permits:
                - permitTypeId: 0
              endDate: '2020-01-20'
              startDate: '2020-01-20'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParkingEntityOperatingHoursResultOkResponse'
              example:
                success: true
                result:
                  entityId: string
                  entityType: 1
                  entityETag: string
                  timeZoneId: string
                  operatingHours:
                  - paymentMethodIds:
                    - 0
                    permittedContext:
                      vehicleTypeId: 0
                      activityTypeId: 0
                      fuelTypeId: 0
                      permits:
                      - permitTypeId: 0
                    openPeriods:
                    - start: '2024-10-11'
                      end: '2024-10-11'
                      date: '2020-01-20'
                      status: 1
                  notApplicableOperatingHours:
                  - paymentMethodIds:
                    - 0
                    requirements:
                      vehicleTypeIds:
                      - 0
                      activityTypeIds:
                      - 0
                      fuelTypeIds:
                      - 0
                      permits:
                      - permitTypeId: 0
                    openPeriods:
                    - start: '2024-10-11'
                      end: '2024-10-11'
                      date: '2020-01-20'
                      status: 1
                  applicableOperatingHoursDetail:
                  - paymentMethodIds:
                    - 0
                    requirements:
                      vehicleTypeIds:
                      - 0
                      activityTypeIds:
                      - 0
                      fuelTypeIds:
                      - 0
                      permits:
                      - permitTypeId: 0
                    openPeriods:
                    - start: '2024-10-11'
                      end: '2024-10-11'
                      date: '2020-01-20'
                      status: 1
                  closedPeriods:
                  - start: '2020-01-20T00:00:00.0000000+00:00'
                    end: '2020-01-20T00:00:00.0000000+00:00'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
              example:
                success: true
                message: string
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /fetchOperatingHoursByIds:
    post:
      tags:
      - Parking
      summary: AppyWay Fetch operating hours by ids
      description: Searches for operating hours with the supplied entities IDs.
      operationId: post-fetchoperatinghoursbyids
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchOperatingHoursByIdsQuery'
            example:
              ids:
              - string
              vehicleOperatorContext:
                vehicleTypeId: 0
                activityTypeId: 0
                fuelTypeId: 0
                permits:
                - permitTypeId: 0
              date: '2020-01-20'
              startDate: '2020-01-20'
              endDate: '2020-01-20'
              dates:
              - '2020-01-20'
              includeNotApplicableOperatingHours: true
              includeApplicableOperatingHoursDetail: true
              includeClosedPeriods: true
          text/json:
            schema:
              $ref: '#/components/schemas/FetchOperatingHoursByIdsQuery'
            example:
              ids:
              - string
              vehicleOperatorContext:
                vehicleTypeId: 0
                activityTypeId: 0
                fuelTypeId: 0
                permits:
                - permitTypeId: 0
              date: '2020-01-20'
              startDate: '2020-01-20'
              endDate: '2020-01-20'
              dates:
              - '2020-01-20'
              includeNotApplicableOperatingHours: true
              includeApplicableOperatingHoursDetail: true
              includeClosedPeriods: true
          application/*+json:
            schema:
              $ref: '#/components/schemas/FetchOperatingHoursByIdsQuery'
            example:
              ids:
              - string
              vehicleOperatorContext:
                vehicleTypeId: 0
                activityTypeId: 0
                fuelTypeId: 0
                permits:
                - permitTypeId: 0
              date: '2020-01-20'
              startDate: '2020-01-20'
              endDate: '2020-01-20'
              dates:
              - '2020-01-20'
              includeNotApplicableOperatingHours: true
              includeApplicableOperatingHoursDetail: true
              includeClosedPeriods: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParkingEntityOperatingHoursResultIReadOnlyCollectionOkResponse'
              example:
                success: true
                result:
                - entityId: string
                  entityType: 1
                  entityETag: string
                  timeZoneId: string
                  operatingHours:
                  - paymentMethodIds:
                    - 0
                    permittedContext:
                      vehicleTypeId: 0
                      activityTypeId: 0
                      fuelTypeId: 0
                      permits:
                      - permitTypeId: 0
                    openPeriods:
                    - start: '2024-10-11'
                      end: '2024-10-11'
                      date: '2020-01-20'
                      status: 1
                  notApplicableOperatingHours:
                  - paymentMethodIds:
                    - 0
                    requirements:
                      vehicleTypeIds:
                      - 0
                      activityTypeIds:
                      - 0
                      fuelTypeIds:
                      - 0
                      permits:
                      - permitTypeId: 0
                    openPeriods:
                    - start: '2024-10-11'
                      end: '2024-10-11'
                      date: '2020-01-20'
                      status: 1
                  applicableOperatingHoursDetail:
                  - paymentMethodIds:
                    - 0
                    requirements:
                      vehicleTypeIds:
                      - 0
                      activityTypeIds:
                      - 0
                      fuelTypeIds:
                      - 0
                      permits:
                      - permitTypeId: 0
                    openPeriods:
                    - start: '2024-10-11'
                      end: '2024-10-11'
                      date: '2020-01-20'
                      status: 1
                  closedPeriods:
                  - start: '2020-01-20T00:00:00.0000000+00:00'
                    end: '2020-01-20T00:00:00.0000000+00:00'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /fetchParkingEntityById:
    post:
      tags:
      - Parking
      summary: AppyWay Fetch a parking Entity by ID
      description: Retrieves a parking entity by its ID
      operationId: post-fetchparkingentitybyid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchParkingEntityByIdQuery'
            example:
              id: string
          text/json:
            schema:
              $ref: '#/components/schemas/FetchParkingEntityByIdQuery'
            example:
              id: string
          application/*+json:
            schema:
              $ref: '#/components/schemas/FetchParkingEntityByIdQuery'
            example:
              id: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParkingEntityOkResponse'
              example:
                success: true
                result:
                  entityId: string
                  entityType: 1
                  name: string
                  eTag: string
                  address:
                    street: string
                    city: string
                    country: string
                    postcode: string
                  locationCode: string
                  totalCapacity: 0
                  zoneId: string
                  authorityId: string
                  features:
                    type: string
                    features:
                    - type: string
                      id: string
                      geometry:
                        type: string
                        crs:
                          type: string
                          properties:
                            name: string
                        geometries:
                        - type: string
                          crs:
                            type: string
                            properties:
                              name: string
                      properties:
                        basemap: 1
                    properties: {}
                  paymentMethodIds:
                  - 0
                  operator:
                    id: string
                    name: string
                    cardPaymentsExternalUrl: string
                    paymentsTelephone: string
                    paymentsAppDeepLinks: {}
                    telephone: string
                    website: string
                  onStreetParkingTypeIds:
                  - 1
                  facilityTypeIds:
                  - 0
                  venueId: string
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
              example:
                success: true
                message: string
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /fetchParkingQuoteById:
    post:
      tags:
      - Parking
      summary: AppyWay Fetch a parking quote by id
      description: 'Searches for a parking result with the supplied ID. Result indicates whether parking is allowed at the location.

        If parking is allowed for all or part of the requested window,

        the result contains a list of quotes containing information such as price, payment methods, maximum stay and no return policy.'
      operationId: post-fetchparkingquotebyid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchParkingQuoteByIdQuery'
            example:
              startTime: string
              entityId: string
              vehicleOperatorContext:
                vehicleTypeId: 0
                activityTypeId: 0
                fuelTypeId: 0
                permits:
                - permitTypeId: 0
              duration: 3.17:25:30.5000000
              endTime: string
          text/json:
            schema:
              $ref: '#/components/schemas/FetchParkingQuoteByIdQuery'
            example:
              startTime: string
              entityId: string
              vehicleOperatorContext:
                vehicleTypeId: 0
                activityTypeId: 0
                fuelTypeId: 0
                permits:
                - permitTypeId: 0
              duration: 3.17:25:30.5000000
              endTime: string
          application/*+json:
            schema:
              $ref: '#/components/schemas/FetchParkingQuoteByIdQuery'
            example:
              startTime: string
              entityId: string
              vehicleOperatorContext:
                vehicleTypeId: 0
                activityTypeId: 0
                fuelTypeId: 0
                permits:
                - permitTypeId: 0
              duration: 3.17:25:30.5000000
              endTime: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParkingEntitySearchResultOkResponse'
              example:
                success: true
                result:
                  entityId: string
                  entityType: 1
                  quotes:
                  - cost: 0
                    currency: string
                    minCost: 0
                    minStayUntil: string
                    canExtendUntil: string
                    pricedUntil: string
                    noReturnUntil: string
                    freeUntil: string
                    becomesFreeAt: string
                    isFreeParking: true
                    paymentMethodIds:
                    - 0
                    permittedContext:
                      vehicleTypeId: 0
                      activityTypeId: 0
                      fuelTypeId: 0
                      permits:
                      - permitTypeId: 0
                    rulesApplyUntil: string
                    surcharge:
                      value: 0
                      valueType: 1
                      criteria:
                        vehicleOperatorContext:
                          vehicleTypeId: 0
                          activityTypeId: 0
                          fuelTypeId: 0
                          permits:
                          - permitTypeId: 0
                        maxVehicleManufactureYear: 0
                  distance: 0
                  parkingAllowed: 1
                  entityETag: string
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
              example:
                success: true
                message: string
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /fetchParkingQuotesByIds:
    post:
      tags:
      - Parking
      summary: AppyWay Fetch parking quotes by ids
      description: 'Searches for a parking result with the supplied IDs. Result indicates whether parking is allowed at the location.

        If parking is allowed for all or part of the requested window,

        the result contains a list of quotes containing information such as price, payment methods, maximum stay and no return policy.'
      operationId: post-fetchparkingquotesbyids
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchParkingQuotesByIdsQuery'
            example:
              startTime: string
              duration: 3.17:25:30.5000000
              vehicleOperatorContext:
                vehicleTypeId: 0
                activityTypeId: 0
                fuelTypeId: 0
                permits:
                - permitTypeId: 0
              ids:
              - string
              endTime: string
          text/json:
            schema:
              $ref: '#/components/schemas/FetchParkingQuotesByIdsQuery'
            example:
              startTime: string
              duration: 3.17:25:30.5000000
              vehicleOperatorContext:
                vehicleTypeId: 0
                activityTypeId: 0
                fuelTypeId: 0
                permits:
                - permitTypeId: 0
              ids:
              - string
              endTime: string
          application/*+json:
            schema:
              $ref: '#/components/schemas/FetchParkingQuotesByIdsQuery'
            example:
              startTime: string
              duration: 3.17:25:30.5000000
              vehicleOperatorContext:
                vehicleTypeId: 0
                activityTypeId: 0
                fuelTypeId: 0
                permits:
                - permitTypeId: 0
              ids:
              - string
              endTime: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParkingQuotesResponseOkResponse'
              example:
                success: true
                result:
                  requestedStartTime: string
                  requestedDuration: 3.17:25:30.5000000
                  parking:
                  - entityId: string
                    entityType: 1
                    quotes:
                    - cost: 0
                      currency: string
                      minCost: 0
                      minStayUntil: string
                      canExtendUntil: string
                      pricedUntil: string
                      noReturnUntil: string
                      freeUntil: string
                      becomesFreeAt: string
                      isFreeParking: true
                      paymentMethodIds:
                      - 0
                      permittedContext:
                        vehicleTypeId: 0
                        activityTypeId: 0
                        fuelTypeId: 0
                        permits:
                        - permitTypeId: 0
                      rulesApplyUntil: string
                      surcharge:
                        value: 0
                        valueType: 1
                        criteria:
                          vehicleOperatorContext:
                            vehicleTypeId: 0
                            activityTypeId: 0
                            fuelTypeId: 0
                            permits:
                            - permitTypeId: 0
                          maxVehicleManufactureYear: 0
                    distance: 0
                    parkingAllowed: 1
                    entityETag: string
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /fetchPaymentProvidersByParkingEntityId:
    post:
      tags:
      - Parking
      summary: AppyWay Fetch payment providers by parking entity ID
      description: Returns payment providers for the given parking entity ID
      operationId: post-fetchpaymentprovidersbyparkingentityid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchPaymentProvidersByParkingEntityIdQuery'
            example:
              entityId: string
          text/json:
            schema:
              $ref: '#/components/schemas/FetchPaymentProvidersByParkingEntityIdQuery'
            example:
              entityId: string
          application/*+json:
            schema:
              $ref: '#/components/schemas/FetchPaymentProvidersByParkingEntityIdQuery'
            example:
              entityId: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentProvidersResponseOkResponse'
              example:
                success: true
                result:
                  paymentProviders:
                  - id: string
                    name: string
                    cardPaymentsExternalUrl: string
                    paymentsTelephone: string
                    paymentsAppDeepLinks: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundResponse'
              example:
                success: true
                message: string
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /findParkingEntitiesByCentreAndViewportSize:
    post:
      tags:
      - Parking
      summary: AppyWay Find parking entities by centre and viewport size
      description: 'This query creates a square viewport with the centre at ViewportCentre and side length of ViewportSize.

        It then returns a list of all the parking entities within the bounds of that polygon, along with their distance from the DistanceCalculationLocation if supplied,

        or the viewport centre if not. Entities are ordered by this distance.'
      operationId: post-findparkingentitiesbycentreandviewportsize
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FindParkingEntitiesByCentreAndViewportSizeQuery'
            example:
              viewportCenter:
                lat: 0
                lng: 0
              viewportSize: 0
              filters:
                excludeEntityTypes:
                - 1
              onStreetParkingTypes:
              - 1
              distanceCalculationLocation:
                lat: 0
                lng: 0
              geometryPreference:
                basemap: 1
                geometryTypes:
                - 1
          text/json:
            schema:
              $ref: '#/components/schemas/FindParkingEntitiesByCentreAndViewportSizeQuery'
            example:
              viewportCenter:
                lat: 0
                lng: 0
              viewportSize: 0
              filters:
                excludeEntityTypes:
                - 1
              onStreetParkingTypes:
              - 1
              distanceCalculationLocation:
                lat: 0
                lng: 0
              geometryPreference:
                basemap: 1
                geometryTypes:
                - 1
          application/*+json:
            schema:
              $ref: '#/components/schemas/FindParkingEntitiesByCentreAndViewportSizeQuery'
            example:
              viewportCenter:
                lat: 0
                lng: 0
              viewportSize: 0
              filters:
                excludeEntityTypes:
                - 1
              onStreetParkingTypes:
              - 1
              distanceCalculationLocation:
                lat: 0
                lng: 0
              geometryPreference:
                basemap: 1
                geometryTypes:
                - 1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FindParkingEntitiesByViewportResponseOkResponse'
              example:
                success: true
                result:
                  entities:
                  - entity:
                      entityId: string
                      entityType: 1
                      name: string
                      eTag: string
                      address:
                        street: string
                        city: string
                        country: string
                        postcode: string
                      locationCode: string
                      totalCapacity: 0
                      zoneId: string
                      authorityId: string
                      features:
                        type: string
                        features:
                        - type: string
                          id: string
                          geometry:
                            type: string
                            crs:
                              type: string
                              properties:
                                name: string
                            geometries:
                            - type: string
                              crs:
                                type: string
                                properties:
                                  name: string
                          properties:
                            basemap: 1
                        properties: {}
                      paymentMethodIds:
                      - 0
                      operator:
                        id: string
                        name: string
                        cardPaymentsExternalUrl: string
                        paymentsTelephone: string
                        paymentsAppDeepLinks: {}
                        telephone: string
                        website: string
                      onStreetParkingTypeIds:
                      - 1
                      facilityTypeIds:
                      - 0
                      venueId: string
                    distance: 0
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestResponse'
              example:
                success: true
                message: string
                errors:
                - property: string
                  code: string
                  message: string
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /findParkingEntitiesByViewport:
    post:
      tags:
      - Parking
      summary: AppyWay Find parking entities by viewport
      description: 'This query creates a custom viewport from the supplied GeoJson polygon.

        It then returns a list of all the parking entities within the bounds of that polygon, along with their distance from the DistanceCalculationLocation if supplied,

        or the viewport centre if not. Entities are ordered by this distance.'
      operationId: post-findparkingentitiesbyviewport
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FindParkingEntitiesByViewportQuery'
            example:
              viewport:
                type: string
                crs:
                  type: string
                  properties:
                    name: string
                coordinates:
                - - - 0
              onStreetParkingTypes:
              - 1
              filters:
                excludeEntityTypes:
                - 1
              distanceCalculationLocation:
                lat: 0
                lng: 0
              geometryPreference:
                basemap: 1
                geometryTypes:
                - 1
          text/json:
            schema:
              $ref: '#/components/schemas/FindParkingEntitiesByViewportQuery'
            example:
              vi

# --- truncated at 32 KB (111 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/appyway/refs/heads/main/openapi/appyway-parking-api-openapi.yml