mirror of
https://gitlab.com/t6353/sharee.bike.wiki.git
synced 2024-11-14 14:36:27 +01:00
125 lines
No EOL
5.2 KiB
Markdown
125 lines
No EOL
5.2 KiB
Markdown
### 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" : {
|
|
...
|
|
}
|
|
}
|
|
``` |