5.2 KiB
request=booking_update
request PUSH start, pause, cancel and end bike rental is implemented via this update request. Prerequisite is the reservation via the initial "request=booking_request".
The following booking states are implemented:
state=canceled
booking request will be canceled. The bike is set to state=available
in the COPRI backend.
state=occupied
bike rental starts. state=occupied
marks the start of the rental in copri. A multiple "occupied" will be acknowledged with an error, because a rental can only be started once. So that the rental start is recorded in any case in the backend, please set the state=occupied
in the request before the smartlock will be unlocked.
state=available
end the bike rental, which makes the bike state=available
again in the COPRI backend.
The following lock states are implemented:
lock_state=unlocking
start unlocking signal, smartlock was triggered to unlock.
lock_state=unlocked
successfully unlocking the lock.
lock_state=locking
start locking signal, smartlock was triggered to close.
lock_state=locked
closed successfully.
key | Required | Format | Comment |
---|---|---|---|
authcookie | + | text | unique encrypted key |
bike | + | text | bike prefix+number |
state | + | text | one of the bike states: canceled, occupied, available |
lock_state | o/+ | text | one of the lock states: unlocking, unlocked, locking, locked |
station_state | o | text | station smartlock locking state |
latitude | + | text | App GPS only necessary on state=available |
longitude | + | text | App GPS only necessary on state=available |
gps_age | o/+ | text | App GPS age only necessary on state=available. value in milliseconds. |
gps_accuracy | o | text | App GPS accuracy on state=available in meters |
firmware | o | text | Firmware Version |
Ilockit_GUID | o | text | example: 00000000-0000-0000-e57e6b9aee16 |
response returns bikes_occupied
JSON-Objects with booking states
Example request starts bike rental and unlock smartlock at once. lock_state=unlocked can also be done on second request.
https://sharee-zr01.example.tld/APIjsonserver?request=booking_update&bike=FR1540&state=occupied&lock_state=unlocked&authcookie=6103_7dc3c95028d06c9663378f6d44346de7_12345678
response sharee JSON defaults + response rental states in user_bikes_occupied
JSON-objects
{
"shareejson" : {
***sharee JSON defaults***
},
"bikes_occupied" : {
"155896" : {
"start_time" : "2021-10-28 18:09:17.454818+02",
"unit_price" : "2.00",
"description" : "Vauban-bike (Ilockit)",
"lock_state" : "unlocked",
"request_time" : "2021-10-28 17:56:07.541766+02",
"K_u" : "[-26, 6, -7, -80, 82, -71, -117, 57, 24, -91, 32, -44, 80, -112, 32, -66, -51, -106, 100, -99, 0, 0, 0, 0]",
"K_seed" : "[122, -30, 85, -21, -47, 71, 54, 25, -60, -53, 78, 49, -74, 84, 72, 63]",
"bike_group" : [
"FR300001"
],
"uri_operator" : "https://shareeapp-fr01.copri-bike.de",
"real_hours" : "0",
"system" : "Ilockit",
"computed_hours" : "0",
"gps" : {
"longitude" : "7.825490",
"latitude" : "47.976634"
},
"bike_type" : {
"category" : "cargo",
"engine" : {
"manufacturer" : "dummy"
},
"wheels" : "2"
}
},
"rental_description" : {
"tarif_elements" : {
"4" : [
"Max. Gebühr",
"10,00 € / Tag"
],
"6" : [
"Gratis Mietzeit",
"20 Min / Tag"
],
"1" : [
"Mietgebühr",
"1,50 € / 30 Min "
],
"7" : [
"Aktuelle Mietzeit",
"7 Std 12 Min "
],
"8" : [
"Aktuelle Mietkosten",
"9,00 €"
]
},
"id" : "5519",
"name" : "Cargo-Bikes",
"rental_info" : {
"2" : [
"AGB",
"Mit der Mietrad Anmietung wird der Betreiber AGB zugestimmt."
]
}
},
"state" : "occupied",
"bike" : "FR1540",
"total_price" : "0.00",
"station" : "FR101",
"Ilockit_GUID" : "00000000-0000-0000-0000-fc3c002a2add",
"Ilockit_ID" : "ISHAREIT-2200540",
"end_time" : "2021-10-28 18:09:19"
}
},
"155899" : {
...
}
}