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