NAV Navbar
shell javascript python
  • Car Parking Protocol
  • Need
  • Bid
  • Price Types
  • Amenities
  • Car Parking

    Car Parking Protocol

    The communication protocol for car parking describes the format of a request for a parking space (also referred to as need) sent by a vehicle, and the response sent by a parking space, usually an automated parking management system (bid).

    For example, a heavy goods truck might search for an available parking space within 1 km of the given coordinates that can fit a 12 meters long vehicle.

    Need

    curl "discovery_endpoint_here" \
      --data "{ \
        \"start_at\": \"1513005534000\", \
        \"latitude\": \"32.787793\", \
        \"longitude\": \"-79.935005\", \
        \"radius\": \"1000\", \
        \"length\": \"1200\" \
      }"
    
    const discoveryEndPoint = 'discovery_endpoint_here';
    
    fetch(discoveryEndPoint, {
      method: 'POST',
      body: JSON.stringify({
        start_at: '1513005534000',
        latitude: '32.787793',
        longitude: '-79.935005',
        radius: '1000',
        length: '1200',
      }),
    });
    
    import requests
    payload = {
        "start_at": "1513005534000",
        "latitude": "32.787793",
        "longitude": "-79.935005",
        "radius": "1000",
        "length": "1200",
      }
    requests.post("discovery_endpoint_here", data=payload)
    

    In response, a parking space might send back a bid with a price per hour, and the full details of the additional services it offers.

    Bid

    curl "bidding_endpoint_here" \
      --data "{ \
        \"need_id\": \"ae7bd8f67f3089c\", \
        \"expires_at\": \"1513005539000\", \
        \"price\": \"300000000000000000,500000000000000000\", \
        \"price_type\": \"hour,flat\", \
        \"price_description\": \"Price per hour,City tax\", \
        \"latitude\": \"32.785889\", \
        \"longitude\": \"-79.935569\", \
        \"available_from\": \"1513005534000\", \
        \"available_until\": \"1513091934000\", \
        \"height\": \"300\", \
        \"width\": \"300\", \
        \"length\": \"1900\", \
        \"weight\": \"100000\", \
        \"amenities\": \"2,3,8\" \
      }"
    
    const biddingEndPoint = 'bidding_endpoint_here';
    
    fetch(biddingEndPoint, {
      method: 'POST',
      body: JSON.stringify({
        need_id: 'ae7bd8f67f3089c',
        expires_at: '1513005539000',
        price: '300000000000000000,500000000000000000',
        price_type: 'hour,flat',
        price_description: 'Price per hour,City tax',
        latitude: '32.785889',
        longitude: '-79.935569',
        available_from: '1513005534000',
        available_until: '1513091934000',
        height: '300',
        width: '300',
        length: '1900',
        weight: '100000',
        amenities: '2,3,8',
      }),
    });
    
    import requests
    payload = {
        "need_id": "ae7bd8f67f3089c",
        "expires_at": "1513005539000",
        "price": "300000000000000000,500000000000000000",
        "price_type": "hour,flat",
        "price_description": "Price per hour,City tax",
        "latitude": "32.785889",
        "longitude": "-79.935569",
        "available_from": "1513005534000",
        "available_until": "1513091934000",
        "height": "300",
        "width": "300",
        "length": "1900",
        "weight": "100000",
        "amenities": "2,3,8",
      }
    requests.post("bidding_endpoint_here", data=payload)
    

    Note: For charging while parking, see the Electric Vehicle Charging Protocol, as some charging stations include a parking service. If a bid is given in response to a Car Parking need from a location offering EV Charging, the bid price will not include any charging services.

    Need

    A statement of need for parking spaces. Typically this will be sent by a vehicle that is looking for a parking space around certain coordinates.

    This request is sent to the decentralized discovery engine which responds with status 200 and a unique identifier for this request. The details of this request are then broadcasted to DAV entities that can provide this service. Bids are later received as separate calls.

    Arguments

    Post request to a local/remote discovery endpoint

    curl "discovery_endpoint_here" \
      --data "{ \
        \"start_at\": \"1513005534000\", \
        \"latitude\": \"32.787793\", \
        \"longitude\": \"-79.935005\", \
        \"radius\": \"10000\", \
        \"height\": \"200\", \
        \"width\": \"120\", \
        \"length\": \"330\", \
        \"weight\": \"1200\", \
        \"amenities\": \"2,3\", \
    }"
    
    const discoveryEndPoint = 'discovery_endpoint_here';
    
    fetch(discoveryEndPoint, {
      method: 'POST',
      body: JSON.stringify({
        start_at: '1513005534000',
        latitude: '32.787793',
        longitude: '-79.935005',
        radius: '10000',
        height: '200',
        width: '120',
        length: '330',
        weight: '1200',
        amenities: '2,3',
      }),
    });
    
    import requests
    payload = {
        "start_at": "1513005534000",
        "latitude": "32.787793",
        "longitude": "-79.935005",
        "radius": "10000",
        "height": "200",
        "width": "120",
        "length": "330",
        "weight": "1200",
        "amenities": "2,3",
      }
    requests.post("discovery_endpoint_here", data=payload)
    
    start_at
    optional
    The time at which the requester would like to arrive at the parking space (if undefined, the arrival time will be ASAP). Specified as time in seconds since Epoch/Unix Time
    end_at
    optional
    The time at which the requester plans to leave the parking space. This parameter is optional but highly recommended, as it can affect how the service is priced. Specified as time in seconds since Epoch/Unix Time
    latitude
    required
    The latitude coordinate around which to search
    longitude
    required
    The longitude coordinate around which to search
    radius
    required
    Radius in meters around the search coordinates to limit the search to. Specified as an integer
    height
    optional
    The minimum height clearance that this vehicle requires from the parking space. Specified as an integer representing centimeters
    width
    optional
    The minimum width clearance that this vehicle requires from the parking space. Specified as an integer representing centimeters
    length
    optional
    The minimum length clearance that this vehicle requires from the parking space. Specified as an integer representing centimeters
    weight
    optional
    The weight of this vehicle. Parking spaces that cannot support a vehicle weighing this much should not respond. Specified as an integer representing kilograms
    amenities
    optional
    A list of amenities that need to be present at the parking space. Specified as a comma separated list of amenity IDs. See Amenities

    Bid

    A bid to provide a parking service. Typically sent from a parking management system to a vehicle.

    Arguments

    Post request to a local/remote bidding endpoint

    curl "bidding_endpoint_here" \
      --data "{ \
        \"need_id\": \"ae7bd8f67f3089c\", \
        \"expires_at\": \"1513005539000\", \
        \"price\": \"300000000000000000,500000000000000000\", \
        \"price_type\": \"hour,flat\", \
        \"price_description\": \"Price per hour,City tax\", \
        \"latitude\": \"32.785889\", \
        \"longitude\": \"-79.935569\", \
        \"entrance_latitude\": \"32.785878\", \
        \"entrance_longitude\": \"-79.935558\", \
        \"exit_latitude\": \"32.785878\", \
        \"exit_longitude\": \"-79.935558\", \
        \"location_floor\": \"2\", \
        \"location_name\": \"IKEA parking lot B\", \
        \"location_name_lang\": \"eng\", \
        \"location_house_number\": \"372\", \
        \"location_street\": \"King\", \
        \"location_city\": \"Charleston\", \
        \"location_postal_code\": \"29401\", \
        \"location_county\": \"Charleston\", \
        \"location_state\": \"SC\", \
        \"location_country\": \"USA\", \
        \"available_from\": \"1513005534000\", \
        \"available_until\": \"1513091934000\", \
        \"height\": \"300\", \
        \"width\": \"200\", \
        \"length\": \"580\", \
        \"weight\": \"10000\", \
        \"amenities\": \"2,3,8\" \
      }"
    
    const biddingEndPoint = 'bidding_endpoint_here';
    
    fetch(biddingEndPoint, {
      method: 'POST',
      body: JSON.stringify({
        need_id: 'ae7bd8f67f3089c',
        expires_at: '1513005539000',
        price: '300000000000000000,500000000000000000',
        price_type: 'hour,flat',
        price_description: 'Price per hour,City tax',
        latitude: '32.785889',
        longitude: '-79.935569',
        entrance_latitude: '32.785878',
        entrance_longitude: '-79.935558',
        exit_latitude: '32.785878',
        exit_longitude: '-79.935558',
        location_floor: '2',
        location_name: 'IKEA parking lot B',
        location_name_lang: 'eng',
        location_house_number: '372',
        location_street: 'King',
        location_city: 'Charleston',
        location_postal_code: '29401',
        location_county: 'Charleston',
        location_state: 'SC',
        location_country: 'USA',
        available_from: '1513005534000',
        available_until: '1513091934000',
        height: '300',
        width: '200',
        length: '580',
        weight: '10000',
        amenities: '2,3,8',
      }),
    });
    
    import requests
    payload = {
        "need_id": "ae7bd8f67f3089c",
        "expires_at": "1513005539000",
        "price": "300000000000000000,500000000000000000",
        "price_type": "hour,flat",
        "price_description": "Price per hour,City tax",
        "latitude": "32.785889",
        "longitude": "-79.935569",
        "entrance_latitude": "32.785878",
        "entrance_longitude": "-79.935558",
        "exit_latitude": "32.785878",
        "exit_longitude": "-79.935558",
        "location_floor": "2",
        "location_name": "IKEA parking lot B",
        "location_name_lang": "eng",
        "location_house_number": "372",
        "location_street": "King",
        "location_city": "Charleston",
        "location_postal_code": "29401",
        "location_county": "Charleston",
        "location_state": "SC",
        "location_country": "USA",
        "available_from": "1513005534000",
        "available_until": "1513091934000",
        "height": "300",
        "width": "200",
        "length": "580",
        "weight": "10000",
        "amenities": "2,3,8",
      }
    requests.post("bidding_endpoint_here", data=payload)
    
    need_id
    required
    The unique identifier of the 'need' this bid is for. This ID arrives as part of the 'need' request
    expires_at
    required
    This bid will expire at this time. Specified as time in seconds since Epoch/Unix Time
    price
    required
    A comma separated list of prices. Each price is specified as an integer representing Vinci
    1 DAV == 1e18 Vinci == 1000000000000000000 Vinci
    price_type
    required
    A list of price types describing the price parameter(s). Specified as a comma separated list. See Price Types for available values
    price_description
    required
    A comma separated list of strings describing the price parameter(s) in human readable terms
    latitude
    required
    The latitude coordinate of the parking space
    longitude
    required
    The longitude coordinate of the parking space
    entrance_latitude
    optional
    The latitude coordinate of the entrance to the parking space
    entrance_longitude
    optional
    The longitude coordinate of the entrance to the parking space
    exit_latitude
    optional
    The latitude coordinate of the exit from the parking space
    exit_longitude
    optional
    The longitude coordinate of the exit from the parking space
    location_floor
    optional
    Which floor/level is the parking space located on (for multistory buildings)
    location_name
    optional
    A human readable name/description of the parking space location (e.g., Long Island Central Parking Lot)
    location_name_lang
    optional
    The language used in location_name. Specified using the 3 letter ISO 639-3 language code
    location_house_number
    optional
    The house number where the parking space is located
    location_street
    optional
    The street name where the parking space is located
    location_city
    optional
    The city where the parking space is located
    location_postal_code
    optional
    The postal code where the parking space is located
    location_county
    optional
    The county where the parking space is located
    location_state
    optional
    The state where the parking space is located
    location_country
    optional
    The country where the parking space is located
    available_from
    required
    The time from which the parking space can be made available. Specified as time in seconds since Epoch/Unix Time
    available_until
    required
    The time until which the parking space can be made available. Specified as time in seconds since Epoch/Unix Time
    height
    optional
    The maximum vehicle height this parking space can accommodate. Specified as an integer representing centimeters
    width
    optional
    The maximum vehicle width this parking space can accommodate. Specified as an integer representing centimeters
    length
    optional
    The maximum vehicle length this parking space can accommodate. Specified as an integer representing centimeters
    weight
    optional
    The maximum vehicle weight this parking space can accommodate. Specified as an integer representing kilograms
    amenities
    optional
    A list of amenities that are present at this parking space. Specified as a comma separated list of amenity IDs. See Amenities

    Price Types

    Price types and their unique identifier.

    Price Type Description
    second Cost per second
    minute Cost per minute
    hour Cost per hour
    day Cost per day
    week Cost per week
    flat The listed price is a flat price

    Amenities

    A list of amenities can be included in both requests and responses.

    ID Description
    1 Lodging
    2 Dining
    3 Restrooms
    4 EV Charging
    5 Valet Parking
    6 WiFi
    7 Shopping
    8 Grocery