AppyWay Bulk API

The Bulk API from AppyWay — 1 operation(s) for bulk.

OpenAPI Specification

appyway-bulk-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: AppyWay Availability RealTime ActivityTypes Bulk 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: Bulk
paths:
  /fetchEntitiesByIds:
    post:
      tags:
      - Bulk
      summary: AppyWay Fetches entities by their IDs
      description: Retrieve a bulk list of entities of different types by their IDs
      operationId: post-fetchentitiesbyids
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchEntitiesByIdsQuery'
            example:
              ids:
              - string
              geometryPreference:
                basemap: 1
                geometryTypes:
                - 1
          text/json:
            schema:
              $ref: '#/components/schemas/FetchEntitiesByIdsQuery'
            example:
              ids:
              - string
              geometryPreference:
                basemap: 1
                geometryTypes:
                - 1
          application/*+json:
            schema:
              $ref: '#/components/schemas/FetchEntitiesByIdsQuery'
            example:
              ids:
              - string
              geometryPreference:
                basemap: 1
                geometryTypes:
                - 1
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MapEntitiesResponseOkResponse'
              example:
                success: true
                result:
                  parkingEntities:
                  - 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
                  zones:
                  - 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
                  authorities:
                  - entityId: string
                    name: string
                    eTag: string
                    notes:
                    - message: string
                    paymentProviders:
                    - id: string
                      name: string
                      cardPaymentsExternalUrl: string
                      paymentsTelephone: string
                      paymentsAppDeepLinks: {}
                    entityType: 1
                    countryId: string
                    geometry:
                      type: string
                      crs:
                        type: string
                        properties:
                          name: string
                      geometries:
                      - type: string
                        crs:
                          type: string
                          properties:
                            name: string
                    hasFreeParkingOutsideZone: true
        '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:
    MapEntitiesResponse:
      type: object
      properties:
        parkingEntities:
          type: array
          items:
            $ref: '#/components/schemas/ParkingEntity'
          description: Parking entities returned from the query
          nullable: true
        zones:
          type: array
          items:
            $ref: '#/components/schemas/Zone'
          description: Zones returned from the query
          nullable: true
        authorities:
          type: array
          items:
            $ref: '#/components/schemas/Authority'
          description: Authorities returned from the query
          nullable: true
      additionalProperties: false
      description: Response shape for a request for multiple Map Entities
    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
    GeometryPreference:
      type: object
      properties:
        basemap:
          $ref: '#/components/schemas/BasemapTranslation'
        geometryTypes:
          type: array
          items:
            $ref: '#/components/schemas/GeometryType'
          description: 'List of the types of geometries you want to receive for this basemap


            *POI (1) - Point of interest: A single point, will be of type "Point"

            *Kerb (2) - Single line along the kerbedge, will be of type "LineString"

            *Outline (3) - A complete representation of the parking area, will be of type "Polygon". Only available for Ordnance Survey base maps

            '
          nullable: true
      additionalProperties: false
      description: Indicates the type of geometries you want to retrieve
    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
    GeometryType:
      enum:
      - 1
      - 2
      - 3
      type: integer
      description: 'Different types of geometries that can be returned


        *POI (1) - Point of interest: A single point, will be of type "Point"

        *Kerb (2) - Single line along the kerbedge, will be of type "LineString"

        *Outline (3) - A complete representation of the parking area, will be of type "Polygon". Only available for Ordnance Survey base maps

        '
      format: int32
    BasemapTranslation:
      enum:
      - 1
      - 2
      type: integer
      description: 'Enumeration for the different types of base maps


        *OrdnanceSurvey (1) - Ordnance Survey: Realistic mapping

        *OpenStreetMaps (2) - Open street map.

        '
      format: int32
    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
    MapEntitiesResponseOkResponse:
      type: object
      properties:
        success:
          type: boolean
          readOnly: true
        result:
          $ref: '#/components/schemas/MapEntitiesResponse'
      additionalProperties: false
    CrsProperties:
      type: object
      properties:
        name:
          type: string
          nullable: true
      additionalProperties: false
    ParkingEntity:
      type: object
      properties:
        entityId:
          type: string
          description: Unique identifier for this entity
          nullable: true
        entityType:
          $ref: '#/components/schemas/MapEntityType'
        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
        address:
          $ref: '#/components/schemas/Address'
        locationCode:
          type: string
          description: A unique code for each parking entity assigned by a payment provider and is their identifier for payment purposes
          nullable: true
        totalCapacity:
          type: integer
          description: How many vehicles can be parked at the parking entity. May be approximate (in the case of unmarked bays)
          format: int32
          nullable: true
        zoneId:
          type: string
          description: ID of the zone in which the parking entity resides
          nullable: true
        authorityId:
          type: string
          description: ID of the authority in which the parking entity resides
          nullable: true
        features:
          $ref: '#/components/schemas/GeometryCollectionFeatureInfoFeatureCollection'
        paymentMethodIds:
          type: array
          items:
            type: integer
            format: int32
          description: Payment methods supported at this on-street location.
          nullable: true
        operator:
          $ref: '#/components/schemas/CarParkOperator'
        onStreetParkingTypeIds:
          type: array
          items:
            $ref: '#/components/schemas/OnStreetParkingType'
          description: 'The types of road markings represented by this entity. This property is only present for On Street Parking entities.


            *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
        facilityTypeIds:
          type: array
          items:
            type: integer
            format: int32
          description: Any special facilities available at this on-street location, e.g. charging points for EVs. This property is only present for On Street Parking entities.
          nullable: true
        venueId:
          type: string
          description: The venue id
          nullable: true
      additionalProperties: false
      description: Base class for Map Entities that support parking, either on-street or car parks
    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
    FetchEntitiesByIdsQuery:
      type: object
      properties:
        ids:
          type: array
          items:
            type: string
          description: List of Ids of entities to fetch
          nullable: true
        geometryPreference:
          $ref: '#/components/schemas/GeometryPreference'
      additionalProperties: false
      description: Request allowing a client to fetch a list of entities
    PaymentDeepLinks:
      type: object
      properties:
        schemas:
          type: array
          items:
            type: string
          description: 'Deep link schemas (eg: ringgo://, etc)'
          nullable: true
        packageName:
          type: string
          description: 'Deep link package name (only applies to android, eg: co.uk.ringgo.android)'
          nullable: true
      additionalProperties: false
    Crs:
      type: object
      properties:
        type:
          type: string
          nullable: true
        properties:
          $ref: '#/components/schemas/CrsProperties'
      additionalProperties: false
    FeatureInfo:
      type: object
      properties:
        basemap:
          $ref: '#/components/schemas/BasemapTranslation'
      additionalProperties: false
      description: Provides information about the geometry contained in the feature
    GeometryCollectionFeatureInfoFeature:
      type: object
      properties:
        type:
          type: string
          nullable: true
        id:
          type: string
          nullable: true
        geometry:
          $ref: '#/components/schemas/GeometryCollection'
        properties:
          $ref: '#/components/schemas/FeatureInfo'
      additionalProperties: false
    Authority:
      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
        notes:
          type: array
          items:
            $ref: '#/components/schemas/Note'
          description: Any special notes associated with this authority
          nullable: true
        paymentProviders:
          type: array
          items:
            $ref: '#/components/schemas/PaymentProvider'
          nullable: true
        entityType:
          $ref: '#/components/schemas/MapEntityType'
        countryId:
          type: string
          description: ID of the country in which the authority resides
          nullable: true
        geometry:
          $ref: '#/components/schemas/GeometryCollection'
        hasFreeParkingOutsideZone:
          type: boolean
          description: "This flag gives an indication of whether parking is likely to be available outside of designated\r\ncontrolled parking zones. The flag indicates the availability of parking for sections of the kerb where\r\nthis API does NOT return a specific OnStreetParking result. If TRUE, parking is likely to be free and\r\nunrestricted where the Parking Search results do not indicate otherwise. if FALSE, it is likely to be no parking.\r\n            \r\nThis is an indication only, and clients should inform their end users that they should always check local\r\nsignage when parking.\r\n            \r\nIf NULL, it is not known whether parking is available for this authority outside of designated zones.\r\n            \r\nNOTE that inside controlled parking zones, it is likely that parking is not available in areas where no\r\nOnStreetParking result is returned."
          nullable: true
      additionalProperties: false
      description: Defines the area controlled by a particular local authority. Authorities may contain zones and may also contain parking entities directly.
    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.'
    Address:
      type: object
      properties:
        street:
          type: string
          description: Street address
          nullable: true
        city:
          type: string
          description: Town or city
          nullable: true
        country:
          type: string
          description: Country
          nullable: true
        postcode:
          type: string
          description: Postal code
          nullable: true
      additionalProperties: false
      description: A standard address for an Onstreet bay or Car park
    CarParkOperator:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier (if the payment provider is present on Reference API)
          nullable: true
        name:
          type: string
          description: Provider name
          nullable: true
        cardPaymentsExternalUrl:
          type: string
          description: URL for taking payments (if online payments are supported)
          nullable: true
        paymentsTelephone:
          type: string
          description: Phone number for taking payments (if pay-by-phone is supported)
          nullable: true
        paymentsAppDeepLinks:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/PaymentDeepLinks'
          description: Payment Mobile apps deep links by platform
          nullable: true
        telephone:
          type: string
          description: Operator phone number
          nullable: true
        website:
          type: string
          description: Operator website
          nullable: true
      additionalProperties: false
      description: Details of the operator for a car park, including telephone numbers and URLs for phone and online payments (if applicable)
    GeometryCollectionFeatureInfoFeatureCollection:
      type: object
      properties:
        type:
          type: string
          nullable: true
        features:
          type: array
          items:
            $ref: '#/components/schemas/GeometryCollectionFeatureInfoFeature'
          nullable: true
        properties:
          nullable: true
      additionalProperties: false
    PaymentProvider:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier (if the payment provider is present on Reference API)
          nullable: true
        name:
          type: string
          description: Provider name
          nullable: true
        cardPaymentsExternalUrl:
          type: string
          description: URL for taking payments (if online payments are supported)
          nullable: true
        paymentsTelephone:
          type: string
          description: Phone number for taking payments (if pay-by-phone is supported)
          nullable: true
        paymentsAppDeepLinks:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/PaymentDeepLinks'
          description: Payment Mobile apps deep links by platform
          nullable: true
      additionalProperties: false
      description: Indicates the payment provider that you can use to pay for an stay at a Parking Entity
    Geometry:
      type: object
      properties:
        type:
          type: string
          nullable: true
        crs:
          $ref: '#/components/schemas/Crs'
      additionalProperties: false
    Error:
      type: object
      properties:
        property:
          type: string
          nullable: true
        code:
          type: string
          nullable: true
        message:
          type: string
          nullable: true
      additionalProperties: false
  responses:
    Forbidden:
      description: Forbidden
    Unauthorized:
      description: Unauthorized
    TooManyRequests:
      description: Too many requests
  securitySchemes:
    apiKey:
      name: API-KEY
      in: header
      type: apiKey
    oAuth2:
      flows:
        authorizationCode:
          scopes: {}
          authorizationUrl: https://auth.appyway.com/authorize
          tokenUrl: https://auth.appyway.com/oauth/token
      type: oauth2