Ответ
Для приложения паркинга самокатов и моноколес оптимально получать такие модели:
- Транспортные средства
{
"id": "scooter_123",
"type": "scooter",
"batteryLevel": 78,
"coordinates": [50.4501, 30.5234],
"isAvailable": true,
"pricePerMinute": 0.25
}
- Парковочные зоны
{
"id": "parking_456",
"coordinates": [[50.4501, 30.5234], [50.4502, 30.5235]],
"capacity": 10,
"availableSpots": 3
}
- Пользовательские сессии
{
"userId": "user_789",
"vehicleId": "scooter_123",
"startTime": "2023-10-01T14:30:00Z",
"totalCost": 4.50
}
- Тарифы и ограничения
{
"maxSpeed": 25,
"allowedAreas": [[...]],
"priceRules": {
"day": 0.20,
"night": 0.30
}
}
Дополнительно: статус API, ошибки валидации, геозоны. Минимум вложенности, camelCase, ISO-даты.
Ответ 18+ 🔞
А, слушай, смотри, вот эти твои самокаты и моноколеса, блядь... Ну, чтобы с ними не было пиздеца в коде, надо нормальные модели делать, а не как попало. Вот смотри, как надо, чтобы потом не охуевать.
Первое, это, блядь, сам транспорт. Не надо там десять полей нахуй, только самое важное. Вот, смотри, как я бы сделал:
{
"id": "scooter_123",
"type": "scooter",
"batteryLevel": 78,
"coordinates": [50.4501, 30.5234],
"isAvailable": true,
"pricePerMinute": 0.25
}
Видишь? Всё понятно, блядь: что это, где стоит, заряда сколько и почём. camelCase, даты по ISO — это святое, ёпта. Не выебывайся с форматами.
Дальше, парковки. Это же, сука, самое важное! Чтобы они не валялись где попало, как последние распиздяи.
{
"id": "parking_456",
"coordinates": [[50.4501, 30.5234], [50.4502, 30.5235]],
"capacity": 10,
"availableSpots": 3
}
Координаты полигоном, ёбта, чтобы зону обозначить. И сразу видно, сколько мест свободно, а то приедешь — а там хуй, всё занято, пизда.
Теперь, самое смешное — пользователи. Чувак взял самокат, поехал, а мы должны за ним следить, блядь, как за маленьким.
{
"userId": "user_789",
"vehicleId": "scooter_123",
"startTime": "2023-10-01T14:30:00Z",
"totalCost": 4.50
}
Всё, сессия началась, часики тикают, деньги капают. Просто и гениально, в рот меня чих-пых.
И, конечно, правила. Без них — анархия, блядь, и пиздец. Скорость, где можно ездить, почём.
{
"maxSpeed": 25,
"allowedAreas": [[...]],
"priceRules": {
"day": 0.20,
"night": 0.30
}
}
Ночью дороже, логично же, ёпта. И зоны ограничить, чтобы не уехал в соседний город, пидарас шерстяной.
И не забудь про статус API, ошибки валидации и геозоны. Но главное — без этой ебаной вложенности, как матрёшка, блядь. Сделал просто — и спи спокойно.