AppyWay Zones API

The Zones API from AppyWay — 3 operation(s) for zones.

OpenAPI Specification

appyway-zones-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: AppyWay Availability RealTime ActivityTypes Zones 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: Zones
paths:
  /fetchZoneById:
    post:
      tags:
      - Zones
      summary: AppyWay Fetch a zone by ID
      description: Returns a specific zone by its ID
      operationId: post-fetchzonebyid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchZoneByIdQuery'
            example:
              id: string
          text/json:
            schema:
              $ref: '#/components/schemas/FetchZoneByIdQuery'
            example:
              id: string
          application/*+json:
            schema:
              $ref: '#/components/schemas/FetchZoneByIdQuery'
            example:
              id: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneOkResponse'
              example:
                success: true
                result:
                  entityId: string
                  name: string
                  eTag: string
                  geometry:
                    type: string
                    crs:
                      type: string
                      properties:
                        name: string
                    geometries:
                    - type: string
                      crs:
                        type: string
                        properties:
                          name: string
                  notes:
                  - message: string
                  authorityId: string
                  zoneType: 1
                  venueId: string
                  entityType: 1
        '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'
  /fetchZoneDefaultRulesById:
    post:
      tags:
      - Zones
      summary: AppyWay Fetch zone default rules by id
      description: Returns default rules for parking entities by zone ID.
      operationId: post-fetchzonedefaultrulesbyid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchZoneDefaultRulesByIdQuery'
            example:
              startTime: string
              id: string
              includeNotApplicableTimes: true
              onStreetParkingTypeIds:
              - 1
              endTime: string
          text/json:
            schema:
              $ref: '#/components/schemas/FetchZoneDefaultRulesByIdQuery'
            example:
              startTime: string
              id: string
              includeNotApplicableTimes: true
              onStreetParkingTypeIds:
              - 1
              endTime: string
          application/*+json:
            schema:
              $ref: '#/components/schemas/FetchZoneDefaultRulesByIdQuery'
            example:
              startTime: string
              id: string
              includeNotApplicableTimes: true
              onStreetParkingTypeIds:
              - 1
              endTime: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneDefaultRulesResultOkResponse'
              example:
                success: true
                result:
                  entityId: string
                  entityETag: string
                  zoneType: 1
                  defaults:
                  - onStreetParkingTypeId: 1
                    applicableTimes:
                    - startTime: string
                      endTime: string
                      maxStay: 0
                    notApplicableTimes:
                    - startTime: string
                      endTime: string
        '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'
  /findZoneDefaultRulesByViewport:
    post:
      tags:
      - Zones
      summary: AppyWay Find zone default rules by viewport
      description: Returns default rules for parking entities for zones that are at least partially within the specified GeoJson viewport.
      operationId: post-findzonedefaultrulesbyviewport
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FindZoneDefaultRulesByViewportQuery'
            example:
              startTime: string
              viewport:
                type: string
                crs:
                  type: string
                  properties:
                    name: string
                coordinates:
                - - - 0
              distanceCalculationLocation:
                lat: 0
                lng: 0
              includeNotApplicableTimes: true
              endTime: string
              onStreetParkingTypeIds:
              - 1
          text/json:
            schema:
              $ref: '#/components/schemas/FindZoneDefaultRulesByViewportQuery'
            example:
              startTime: string
              viewport:
                type: string
                crs:
                  type: string
                  properties:
                    name: string
                coordinates:
                - - - 0
              distanceCalculationLocation:
                lat: 0
                lng: 0
              includeNotApplicableTimes: true
              endTime: string
              onStreetParkingTypeIds:
              - 1
          application/*+json:
            schema:
              $ref: '#/components/schemas/FindZoneDefaultRulesByViewportQuery'
            example:
              startTime: string
              viewport:
                type: string
                crs:
                  type: string
                  properties:
                    name: string
                coordinates:
                - - - 0
              distanceCalculationLocation:
                lat: 0
                lng: 0
              includeNotApplicableTimes: true
              endTime: string
              onStreetParkingTypeIds:
              - 1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ZoneSearchResponseOkResponse'
              example:
                success: true
                result:
                  zones:
                  - entityId: string
                    entityETag: string
                    zoneType: 1
                    defaults:
                    - onStreetParkingTypeId: 1
                      applicableTimes:
                      - startTime: string
                        endTime: string
                        maxStay: 0
                      notApplicableTimes:
                      - startTime: string
                        endTime: string
                    distance: 0
                  zoneContainingLocation:
                    entityId: string
                    entityETag: string
                    zoneType: 1
                    defaults:
                    - onStreetParkingTypeId: 1
                      applicableTimes:
                      - startTime: string
                        endTime: string
                        maxStay: 0
                      notApplicableTimes:
                      - startTime: string
                        endTime: 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'
components:
  schemas:
    ZoneSearchResult:
      type: object
      properties:
        entityId:
          type: string
          description: Entity ID of the zone referred to by this result
          nullable: true
        entityETag:
          type: string
          description: 'The Etag of the current latest version of the Zone referred to by this result. This allows

            clients to determine if they have the latest version of the zone in their local cache and only

            request the entity if it is missing.'
          nullable: true
        zoneType:
          $ref: '#/components/schemas/ZoneType'
        defaults:
          type: array
          items:
            $ref: '#/components/schemas/ZoneDefault'
          description: List of defaults for this zone
          nullable: true
        distance:
          type: number
          description: 'How far away the zone is, in meters. Distances are relative to the DistanceCalculationLocation if supplied in the query, otherwise they are relative to the centre of the viewport.

            If the DistanceCalculationLocation / viewport centre is inside the zone, this value will be zero. Otherwise it will be the direct distance to the nearest point on the zone boundary.'
          format: double
          nullable: true
      additionalProperties: false
      description: Represents a single result returned from a search for zones
    ZoneSearchResponse:
      type: object
      properties:
        zones:
          type: array
          items:
            $ref: '#/components/schemas/ZoneSearchResult'
          description: List of search results returned in this response
          nullable: true
        zoneContainingLocation:
          $ref: '#/components/schemas/ZoneSearchResult'
      additionalProperties: false
      description: Response shape for zone search requests
    GeometryCollection:
      type: object
      properties:
        type:
          type: string
          nullable: true
        crs:
          $ref: '#/components/schemas/Crs'
        geometries:
          type: array
          items:
            $ref: '#/components/schemas/Geometry'
          nullable: true
      additionalProperties: false
    OnStreetParkingType:
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      - 9
      - 10
      - 11
      - 12
      - 13
      - 14
      - 15
      - 16
      - 17
      - 18
      - 19
      - 20
      - 21
      - 22
      - 23
      - 24
      - 25
      - 26
      - 27
      - 28
      - 29
      - 30
      - 31
      - 32
      - 33
      - 34
      - 35
      - 36
      - 37
      - -1
      type: integer
      description: 'Indicates the type of on an OnStreet bay.


        *StandardBay (1) - Standard bay (paid or free)

        *DisabledBay (2) - A bay requiring a disabled badge / permit during restricted hours

        *MotorcycleBay (3) - Designated motorcycle bay

        *ElectricBay (4) - A bay designated for electric vehicles only

        *CarClubBay (5) - A bay designated for Car Club members only during restricted hours

        *CoachBay (6) - A bay with space for a coach

        *LoadingBay (7) - A bay that allows Loading Only during restricted hours

        *TaxiBay (8) - Taxi bay

        *ResidentBay (9) - A bay designated for resident permit holders during restricted hours

        *SpecialBay (10) - A bay with special restrictions, e.g. RNLI, High Court or Ambulance bays

        *SingleYellowLine (11) - Single yellow line

        *DoubleYellowLine (12) - Double yellow line

        *SingleRedLine (13) - Single red line

        *DoubleRedLine (14) - Double red line

        *SingleYellowKerbMark (15) - Single yellow kerb marks

        *DoubleYellowKerbMark (16) - Double yellow kerb marks

        *KeepClearLine (17) - Keep Clear lines

        *DroppedKerbDriveway (18) - A dropped kerb driveway

        *RedRouteBay (19) - Red route bay

        *BusStop (20) - Bus stop

        *BusinessBay (21) - A business bay

        *DoctorBay (22) - A doctor''s bay

        *HospitalBay (23) - An hospital bay

        *MarketTraderBay (24) - A market trader bay

        *HotelBay (25) - A Hotel bay

        *PoliceBay (26) - A police bay

        *RnliBay (27) - An RNLI bay

        *SupremeCourtBay (28) - Supreme court bay

        *AmbulanceBay (29) - An ambulance bay

        *CycleHireBay (30) - Cycle hire bay

        *CycleHangar (31) - Cycle hangar

        *AdvisorySchoolKeepClearLine (32) - Advisory school keep clear line

        *MobileLibraryBay (33) - A mobile library bay

        *DiplomatBay (34) - A diplomat bay

        *FireBrigade (35) - Fire brigade

        *CycleRack (36) - Cycle rack

        *SchoolKeepClearLine (37) - School keep clear line

        *None (-1) - Standard bay (paid or free)

        '
      format: int32
    MapEntityType:
      enum:
      - 1
      - 2
      - 3
      - 4
      type: integer
      description: 'Enumeration for the different types of Map Entity - objects returned by the API that can be drawn on a map.


        *OnStreet (1) - An on-street parking area

        *Carpark (2) - An off-street parking facility (car park) including surface and multi-storey car parks.

        *Zone (3) - A zone is an area defined by the local authority that acts as a container for a set of On-Street and Car park entities.

        A zone may define common parking rules that are applicable generally across parts of the kerb (e.g. Single Yellow Lines) and may

        define rules parking entities that can be overridden by individual entities.

        *Authority (4) - Defines the area controlled by a particular local authority. Authorities may contain zones and may also contain parking entities directly.

        '
      format: int32
    ZoneDefaultApplicableTime:
      type: object
      properties:
        startTime:
          type: string
          description: The time and date that the window starts
          format: date-time
        endTime:
          type: string
          description: The time and date that the window ends
          format: date-time
        maxStay:
          type: integer
          description: The maximum stay policy that applies during this time window. NULL if there is no maximum stay.
          format: int32
          nullable: true
      additionalProperties: false
      description: Represents a window of time during which a zone default applies.
    BadRequestResponse:
      type: object
      properties:
        success:
          type: boolean
          readOnly: true
        message:
          type: string
          nullable: true
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
          nullable: true
      additionalProperties: false
    CrsProperties:
      type: object
      properties:
        name:
          type: string
          nullable: true
      additionalProperties: false
    ZoneDefaultNotApplicableTime:
      type: object
      properties:
        startTime:
          type: string
          description: The time and date that the window starts
          format: date-time
        endTime:
          type: string
          description: The time and date that the window ends
          format: date-time
      additionalProperties: false
      description: Represents a window of time during which a zone default do not applies.
    ZoneDefaultRulesResult:
      type: object
      properties:
        entityId:
          type: string
          description: Entity ID of the zone referred to by this result
          nullable: true
        entityETag:
          type: string
          description: 'The Etag of the current latest version of the Zone referred to by this result. This allows

            clients to determine if they have the latest version of the zone in their local cache and only

            request the entity if it is missing.'
          nullable: true
        zoneType:
          $ref: '#/components/schemas/ZoneType'
        defaults:
          type: array
          items:
            $ref: '#/components/schemas/ZoneDefault'
          description: List of defaults for this zone
          nullable: true
      additionalProperties: false
    ZoneType:
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      - 7
      - 8
      - 9
      - 10
      type: integer
      description: "Different types of Zone\n\n*ControlledParkingZone (1) - An ordinary zone in which authority-defined restrictions are in place.\n*RestrictedParkingZone (2) - A zone in which parking is never allowed.\n*FreeParking (3) - A zone in which parking is always allowed.\n*Private (4) - A region not under authority control (such as a shopping centre).\n*CongestionCharge (5) - A region in which congestion charges apply.\n*Container (7) - A zone that exists to contain On Street Parking entities that don't really belong in a zone.\n*ResidentsParkingScheme (8) - A zone in which a resident's permit parking scheme applies\n*PermitParkingArea (9) - Area of residential streets where parking is reserved for permit holders Gn++n++ a sign at the entrance to the street will show that parking is for permit holders only. \nPPAs may not have signs or bay markings within them. Sometimes there may be small plates to remind motorists of the controls in place\n*PedestrianZone (10) - Pedestrian area where no parking is allowed\n"
      format: int32
    Note:
      type: object
      properties:
        message:
          type: string
          description: The text of the note
          nullable: true
      additionalProperties: false
      description: Models a note that can be attached to an entity
    FindZoneDefaultRulesByViewportQuery:
      required:
      - startTime
      - viewport
      type: object
      properties:
        viewport:
          type: object
          properties:
            type:
              type: string
              nullable: true
            crs:
              $ref: '#/components/schemas/Crs'
            coordinates:
              type: array
              items:
                type: array
                items:
                  type: array
                  items:
                    type: number
                    format: double
              nullable: true
          additionalProperties: false
          description: Viewport for the query, expressed as a GeoJson polygon !:https://tools.ietf.org/html/rfc7946#section-3.1.6. Required. Limited to 70km2.
        startTime:
          minLength: 1
          type: string
          description: 'Start of the window for which to retrieve state. Required.

            Dates/times should be provided in ISO8601 format: YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00)'
          format: date-time
        endTime:
          type: string
          description: 'End of the window for which to retrieve state. Required.

            Dates/times should be provided in ISO8601 format: YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00)'
          format: date-time
        onStreetParkingTypeIds:
          type: array
          items:
            $ref: '#/components/schemas/OnStreetParkingType'
          description: 'On Street Parking types for which to return state. Optional. If omitted, defaults are returned for all the on-street parking types

            in the zone for which they are defined.


            *StandardBay (1) - Standard bay (paid or free)

            *DisabledBay (2) - A bay requiring a disabled badge / permit during restricted hours

            *MotorcycleBay (3) - Designated motorcycle bay

            *ElectricBay (4) - A bay designated for electric vehicles only

            *CarClubBay (5) - A bay designated for Car Club members only during restricted hours

            *CoachBay (6) - A bay with space for a coach

            *LoadingBay (7) - A bay that allows Loading Only during restricted hours

            *TaxiBay (8) - Taxi bay

            *ResidentBay (9) - A bay designated for resident permit holders during restricted hours

            *SpecialBay (10) - A bay with special restrictions, e.g. RNLI, High Court or Ambulance bays

            *SingleYellowLine (11) - Single yellow line

            *DoubleYellowLine (12) - Double yellow line

            *SingleRedLine (13) - Single red line

            *DoubleRedLine (14) - Double red line

            *SingleYellowKerbMark (15) - Single yellow kerb marks

            *DoubleYellowKerbMark (16) - Double yellow kerb marks

            *KeepClearLine (17) - Keep Clear lines

            *DroppedKerbDriveway (18) - A dropped kerb driveway

            *RedRouteBay (19) - Red route bay

            *BusStop (20) - Bus stop

            *BusinessBay (21) - A business bay

            *DoctorBay (22) - A doctor''s bay

            *HospitalBay (23) - An hospital bay

            *MarketTraderBay (24) - A market trader bay

            *HotelBay (25) - A Hotel bay

            *PoliceBay (26) - A police bay

            *RnliBay (27) - An RNLI bay

            *SupremeCourtBay (28) - Supreme court bay

            *AmbulanceBay (29) - An ambulance bay

            *CycleHireBay (30) - Cycle hire bay

            *CycleHangar (31) - Cycle hangar

            *AdvisorySchoolKeepClearLine (32) - Advisory school keep clear line

            *MobileLibraryBay (33) - A mobile library bay

            *DiplomatBay (34) - A diplomat bay

            *FireBrigade (35) - Fire brigade

            *CycleRack (36) - Cycle rack

            *SchoolKeepClearLine (37) - School keep clear line

            *None (-1) - Standard bay (paid or free)

            '
          nullable: true
        distanceCalculationLocation:
          type: object
          properties:
            lat:
              type: number
              description: Latitude
              format: double
            lng:
              type: number
              description: Longitude
              format: double
          additionalProperties: false
          description: 'Custom location within the viewport from which to calculate distances for returned results. Optional. If omitted, distances will be calculated

            from the centre of the viewport. This field is useful if you want to display or order results by distance from a given point that is not the centre of your requested viewport.'
        includeNotApplicableTimes:
          type: boolean
          description: Include all the time windows for which the zone defaults not applies and intersect with the requested period.
      additionalProperties: false
      description: A request to search for zone default information by viewport
    Crs:
      type: object
      properties:
        type:
          type: string
          nullable: true
        properties:
          $ref: '#/components/schemas/CrsProperties'
      additionalProperties: false
    ZoneDefaultRulesResultOkResponse:
      type: object
      properties:
        success:
          type: boolean
          readOnly: true
        result:
          $ref: '#/components/schemas/ZoneDefaultRulesResult'
      additionalProperties: false
    ZoneOkResponse:
      type: object
      properties:
        success:
          type: boolean
          readOnly: true
        result:
          $ref: '#/components/schemas/Zone'
      additionalProperties: false
    ZoneDefault:
      type: object
      properties:
        onStreetParkingTypeId:
          $ref: '#/components/schemas/OnStreetParkingType'
        applicableTimes:
          type: array
          items:
            $ref: '#/components/schemas/ZoneDefaultApplicableTime'
          description: "All the time windows for which this zone default applies which intersect the requested period. \nAny window that applies for at least part of the requested period will be returned."
          nullable: true
        notApplicableTimes:
          type: array
          items:
            $ref: '#/components/schemas/ZoneDefaultNotApplicableTime'
          description: All the time windows for which this zone default not applies and intersect the requested period.
          nullable: true
      additionalProperties: false
      description: A default zone-wide setting that applies to all parking entities of the given bay type unless overridden specifically at the Parking Entity level
    Zone:
      type: object
      properties:
        entityId:
          type: string
          description: Unique identifier for this entity
          nullable: true
        name:
          type: string
          description: User-readable name for this entity
          nullable: true
        eTag:
          type: string
          description: 'ETag for the entity. The ETag is specific to each version of this entity and changes whenever the entity data changes. Clients can

            send the eTags of cached entities to the server when requesting data and the server can return only entities for which the current ETag does

            not match the requested tag - i.e. just those entities that have changed.'
          nullable: true
        geometry:
          $ref: '#/components/schemas/GeometryCollection'
        notes:
          type: array
          items:
            $ref: '#/components/schemas/Note'
          description: Any special note associated with this zone
          nullable: true
        authorityId:
          type: string
          description: The authority containing this zone
          nullable: true
        zoneType:
          $ref: '#/components/schemas/ZoneType'
        venueId:
          type: string
          description: The venue id
          nullable: true
        entityType:
          $ref: '#/components/schemas/MapEntityType'
      additionalProperties: false
      description: 'A zone is an area defined by the local authority that acts as a container for a set of OnStreet and CarPark entities.

        A zone may define common parking rules that are applicable generally across parts of the kerb (e.g. Single Yellow Lines) and may

        define rules parking entities that can be overridden by individual entities.'
    FetchZoneDefaultRulesByIdQuery:
      required:
      - id
      - startTime
      type: object
      properties:
        id:
          minLength: 1
          type: string
          description: Identifier of the Zone to fetch
        startTime:
          minLength: 1
          type: string
          description: 'Start of the window for which to retrieve state. Required.

            Dates/times should be provided in ISO8601 format: YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00)'
          format: date-time
        endTime:
          type: string
          description: 'End of the window for which to retrieve state. Required.

            Dates/times should be provided in ISO8601 format: YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00)'
          format: date-time
        onStreetParkingTypeIds:
          type: array
          items:
            $ref: '#/components/schemas/OnStreetParkingType'
          description: 'On-Street Parking types for which to return state. Optional. If omitted, defaults are returned for all the on-street parking types

            in the zone for which they are defined.


            *StandardBay (1) - Standard bay (paid or free)

            *DisabledBay (2) - A bay requiring a disabled badge / permit during restricted hours

            *MotorcycleBay (3) - Designated motorcycle bay

            *ElectricBay (4) - A bay designated for electric vehicles only

            *CarClubBay (5) - A bay designated for Car Club members only during restricted hours

            *CoachBay (6) - A bay with space for a coach

            *LoadingBay (7) - A bay that allows Loading Only during restricted hours

            *TaxiBay (8) - Taxi bay

            *ResidentBay (9) - A bay designated for resident permit holders during restricted hours

            *SpecialBay (10) - A bay with special restrictions, e.g. RNLI, High Court or Ambulance bays

            *SingleYellowLine (11) - Single yellow line

            *DoubleYellowLine (12) - Double yellow line

            *SingleRedLine (13) - Single red line

            *DoubleRedLine (14) - Double red line

            *SingleYellowKerbMark (15) - Single yellow kerb marks

            *DoubleYellowKerbMark (16) - Double yellow kerb marks

            *KeepClearLine (17) - Keep Clear lines

            *DroppedKerbDriveway (18) - A dropped kerb driveway

            *RedRouteBay (19) - Red route bay

            *BusStop (20) - Bus stop

            *BusinessBay (21) - A business bay

            *DoctorBay (22) - A doctor''s bay

            *HospitalBay (23) - An hospital bay

            *MarketTraderBay (24) - A market trader bay

            *HotelBay (25) - A Hotel bay

            *PoliceBay (26) - A police bay

            *RnliBay (27) - An RNLI bay

            *SupremeCourtBay (28) - Supreme court bay

            *AmbulanceBay (29) - An ambulance bay

            *CycleHireBay (30) - Cycle hire bay

            *CycleHangar (31) - Cycle hangar

            *AdvisorySchoolKeepClearLine (32) - Advisory school keep clear line

            *MobileLibraryBay (33) - A mobile library bay

            *DiplomatBay (34) - A diplomat bay

            *FireBrigade (35) - Fire brigade

            *CycleRack (36) - Cycle rack

            *SchoolKeepClearLine (37) - School keep clear line

            *None (-1) - Standard bay (paid or free)

            '
          nullable: true
        includeNotApplicableTimes:
          type: boolean
          description: Include all the time windows for which the zone defaults not applies and intersect with the requested period.
      additionalProperties: false
    NotFoundResponse:
      type: object
      properties:
        success:
          type: boolean
          readOnly: true
        message:
          type: string
          nullable: true
      additionalProperties: false
    FetchZoneByIdQuery:
      required:
      - id
      type: object
      properties:
        id:
          minLength: 1
          type: string
          description: Identifier of the Zone to fetch
      additionalProperties: false
    ZoneSearchResponseOkResponse:
      type: object
      properties:
        success:
          type: boolean
          readOnly: true
        result:
          $ref: '#/components/schemas/ZoneSearchResponse'
      additionalProperties: false
    Geometry:
      type: object
      properties:
        type:
          type: string
          nullable: true
        crs:
          $ref: '#/components/schemas/Crs'
      additionalProperties: false
    Error:
      type: object
      properties:
        property:
          type: string
          null

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