ECIM Common Parking API

ECIM Platform will be ready to accept calls to the Common Parking API and it is a responsibility of each parking Service Provider that wants to be compatible with ECIM to adapt to these APIs. The ECIM Platform is compliant only with RESTFul web service architecture. Therefore, all body parameters have to be in JSON format.

Discovery methods

Parking service providers and data providers who wish to register to the ECIM platform have to parameterize their APIs in order to be compliant with the structure described below.

The base URL for the listed services is https://platform.ecim-cities.eu/ecim-parking/rest

List of Parking Places

Service Provider
ECIM platform
Service Endpoint
[GET]
/ list?city={City}&zone={Zone}&geo-boundary={Geo-boundary}&language={Language}
Description of the Service
This web service allows the retrieval of a list of parking places based on the location boundaries that the user provides according to the example.
Input
Parameter and Value Brief Description
City, String, required The city of a parking place
Zone, String , required The zone of a parking place
Geo-boundary, required The location boundaries for the parking places
Language, String, optional The language set of parking place (English as default language if empty)
Example Request
platform.ecim-cities.eu/provider/list?city=Brussels&zone=SH1&geo-boundary=45.222671,2.3546&language=En
Outputs
Parameter and Value Brief Description
Poi, JSONArray of JSONObjects A list of all the parking places (POI structures)
Poi structure
Uid, String, required Unique id of a parking place
Latitude, float, required Parking place provided latitude
Longitude, float, required Parking place provided longitude
Address, String, required Address of a parking place
Type, String, required Type of parking (on/off-street)
Zone, String, required Parking zone of a parking place (zone A, B, etc)
Title, String, required Name of a parking place
Pricing, String, required Price of a parking place
Example Response

{

“poi”:[

       {

        “uid”:”135″,

        “latitude”:”23.3445″,

        “longitude”:”12.1145″,

        “address”:”45, Long Street”,

        “type”:”onstreet”,

        “zone”:”a”,

        “title”:”Parking A”,

        “pricing”:”1.5€/hour from 08:00 – 23:00″

      },

      {

        “uid”:”135″,

        “latitude”:”23.3445″,

        “longitude”:”12.1145″,

        “address”:”45, Long Street”,

        “type”:”onstreet”,

        “zone”:”a”,

        “title”:”Parking A”,

        “pricing”:”1.5€/hour from 08:00 – 23:00″

      },

      …]

}

Details of Parking Places

Service Provider
ECIM platform
Service Endpoint
[GET]
/ parking?uid={Uid}&language={Language}
Description of the Service
This web service allows the retrieval of details of a parking place.
Input
Parameter and Value Brief Description
Uid, string, required Unique id of a parking place
Language, String, optional The language set of parking place (default language if empty)
Example Request
platform.ecim-cities.eu/provider/parking?uid=B5678&language=En
Outputs
Parameter and Value Brief Description
Uid, string, required Unique id of the parking place
Latitude, float, required Parking place provided latitude
Longitude, float, required Parking place provided longitude
Address, string, required Address of the parking place
Type, string, required Type of parking (on/off-street)
Zone, String, required Parking zone of the parking place (zone A, B, etc)
Title, String, required Name of the parking place
Pricing, String, required Price of the parking place
Image, url, optional Links to the parking place images
Capacity, required The capacity of the parking
Payment_type, required Payment type of the parking (Pre/post paid)
Example Response

{

“uid”:”135″,

“latitude”:”23.3445″,

“longitude”:”12.1145″,

“address”:”45, Long Street”,

“type”:”onstreet”,

“zone”:”a”,

“title”:”Parking A”,

“pricing”:”1.5€/hour from 08:00 – 23:00″,

“image”:”http://parkingplace/1.jpg”,

“capacity”:”233″,

“payment_type”:”post-paid”

}

Availability of Parking Places

Service Provider
ECIM platform
Service Endpoint

[GET]
/ availability?uid={Uid}

Description of the Service
This web service allows the retrieval of the availability of a parking place.
Input
Parameter and Value Brief Description
Uid, String, required Unique id of a parking place
Example Request
platform.ecim-cities.eu/provider/availability?uid= B5678
Outputs
Parameter and Value Brief Description
Availability, Boolean, required True/false
Spaces, String, required Number of free Spaces
Probability, String, optional The probability % of finding a free space
Example Response

{

“availability”:true,

“spaces”:”12″,

“probability”:”66″

}

Calculation of Parking Price

Service Provider
ECIM platform
Service Endpoint
[GET]
/ price?uid={Uid}&start={Start}&duration={Duration}&user_type={User_type}
Description of the Service
This web service allows the calculation of parking price based on the duration of the occupation of the parking slot.
Input
Parameter and Value Brief Description
Uid, String, required Unique id of a parking place
Start, String, optional Start Datetime
Duration, String, required The time duration of a parking place (min)
User_type, String, optional User type (resident, visitor, professional)
Example Request
platform.ecim-cities.eu/provider/price?uid=B5678&start=2015-06-25T11:37:00&duration=60&user_type=resident
Outputs
Parameter and Value Brief Description
Price, String, required Calculated price
Currency, String, required The currency of the price
Example Response

{

“price”:”4.5″,

“currency”:”euro”

}

Details of the Service Provider

Service Provider
ECIM platform
Service Endpoint
[GET]
/ provider?city={City}&latitude={Latitude}&longitude={Longitude}&language={Language}
Description of the Service
This web service allows the retrieval of details of a service provider based on the city and the location of the user.
Input
Parameter and Value Brief Description
City, String, required The city of a service provider
Latitude, float, required Service provider latitude
Longitude, float, required Service provider longitude
Language, String, optional The language set of parking place (default language if empty)
Example Request
platform.ecim-cities.eu/provider/provider?city=Brussels&latitude=45.222671&longitude=2.3546&language=En
Outputs
Parameter and Value Brief Description
Uid, String, required Unique id of a service provider
Address, string, required Address of a service provider
Title, String, required Name of a service provider
Phone, String, required Phone of a service provider
Info, String, required Customer support information of a service provider
Example Response

{

“uid”:”16″,

“address”:”450, Long Street”,

“title”:”Parking Provider”,

“phone”:”00301234567891″,

“info”:”http://parkingplace/1.jpg”

}

ECIM Platform Methods for Parking

Every developer, registered to the platform, who wants to integrate the services and data from the parking providers, may call the following methods.

All the methods are implemented as POST requests to the ECIM platform. The Input parameters listed below have to be encoded as a JSON object inside the POST body.

Start a Parking Session

Description of the Service

Method Endpoint

[POST]
/StartSession

This method allows starting a parking session.
Input
Parameter and Value Brief Description
ECIM_id, String, required End-user’s unique id auto-generated by ECIM
Licence_plate, String, required Vehicle’s licence plate
Uid, String, required Parking space unique id
Duration, Double, optional Depending on payment type
Entry_code, String, optional Parking entrance code, Depending on the parking service provider
Paid_status, String, optional For pre-paid scenario: Confirmation sent by the ECIM platform to the service provider that the end user has been charged so he can start the session.
Example Request

platform.ecim-cities.eu/provider/StartSession

{

ecim_id : ashguew827362873jsah

licence_plate : x1234

uid: B5678

duration: 60*

enty_code: 3374

paid_status: success*

}

Outputs
Parameter and Value Brief Description
Session_id, string, required Parking session id
Example Response

{

“session_id”:”a2ebcd-7811e4-8135″

}

Stop a Parking Session

Method Endpoint

[POST]
/StopSession

Description of the Service
This method allows stopping a parking session. The method is required for parking sessions with no defined duration, e.g., off-street parking spaces. In the pre-paid parking session scenario, there is no need to call this service.
Input
Parameter and Value Brief Description
ECIM_id, String, required User’s unique id
Exit_code, String, optional Parking exit code, Depending on the business
Session_id, String, required Parking session id
Example Request

platform.ecim-cities.eu/provider/StopSession

{

       ecim_id : ashguew827362873jsah

       exit_code: 3374*

      session_id: a2ebcd-7811e4-8135

}

Outputs
Parameter and Value Brief Description
Session_id, String, required Parking session id
Start, String, required Start Datetime
Stop, String, required Stop Datetime
Duration, Double, optional Total duration of a parking session
Charged_duration, Double, required Charged duration
Cost, integer, required Parking session’s cost
Paid_status, Boolean, optional For pre-paid scenario: Confirmation sent by the ECIM platform to the service provider that the end user has been charged so they can start the session.
Example Response

{

    “session_id”:”a2ebcd-7811e4-8135″,

    “start”:”1360141200″,

    “stop”:”1360162866″,

    “duration”:”110″,

    “charged_duration”:”120″,

    “cost”:”12.2″,

    “paid_status”: true

}

Extend a Parking Session

Method Endpoint

[POST]
/ExtendSession

Description of the Service
This method allows the extension of an existing parking session. This service can be applied in on-street parking spaces.
Input
Parameter and Value Brief Description
ECIM_id, String, required End-user’s unique id auto-generated by ECIM
Uid, String, required Parking space unique id
Duration, Double, required Depending on payment type
Paid_status, String, optional For pre-paid scenario: Confirmation sent by the ECIM platform to the service provider that the end user has been charged so he can start the session.
Example Request
platform.ecim-cities.eu/provider/ExtendSession

{

ecim_id : ashguew827362873jsah

uid: B5678

duration: 60

paid_status: success*

}

Outputs
Parameter and Value Brief Description
Session_id, integer, required Parking session id
Status, Boolean,required True/false to indicate successful extension
Example Response

{

    “session_id”:”a2ebcd-7811e4-8135″,

    “status”: true

}

Status of Parking Session

Method Endpoint

[POST]
/Status

Description of the Service
This method allows getting parking session’s status.
Input
Parameter and Value Brief Description
ECIM_id, String, required User’s unique id
Session_id, integer, required Parking session id
Example Request
platform.ecim-cities.eu/provider/Status

{

ecim_id : ashguew827362873jsah

session_id: a2ebcd-7811e4-8135

}

Outputs
Parameter and Value Brief Description
Duration, Double, required Time used by the user
Start, String, required Start Datetime
Remaining, String, optional Remaining time of the session (for pre-paid sessions)
Cost, Double, optional The cost a user has spent (for post-paid sessions)
Status, String, required Active/inactive parking
Example Response

{

    “start”:”1360141200″,

    “duration”:”50″,

    “remaining”:”10″,

    “cost”:”12.2″,

    “status”:”active”

}

Status of Parking Session for Warden Purposes

Method Endpoint
[POST]
/WardenStatus
Description of the Service
This method allows a developer to get parking session’s status for warden purposes.
Input
Parameter and Value Brief Description
License_place, String, required Vehicle’s license plate
Example Request

platform.ecim-cities.eu/provider/WardenStatus

{

licence_plate : x1234

}

Outputs
Parameter and Value Brief Description
Status, String, required Active/inactive parking
Example Response

{

“status”:”active”

}