@routebot/constants 0.3.77 → 0.3.79
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -30,7 +30,13 @@ const CUSTOMER_PORTAL_INVITE_EXPIRATION_DAYS = 7;
|
|
|
30
30
|
|
|
31
31
|
const CUSTOMER_PORTAL_STUDENT_SEARCH_MIN_LENGTH = 2;
|
|
32
32
|
|
|
33
|
+
// EXTRA_SERVICE is first: the school-contact form lists it above student registration
|
|
34
|
+
// and selects it by default. It is a one-off trip, not a VehicleRoute.
|
|
35
|
+
// Date is a calendar day. Place, time, and headcount are free text.
|
|
36
|
+
// Validation lives in backend/modules/customer-portal/extra-service.js so a portal
|
|
37
|
+
// can accept the type before this package version is published.
|
|
33
38
|
const CUSTOMER_REQUEST_TYPES = {
|
|
39
|
+
EXTRA_SERVICE: "extra_service",
|
|
34
40
|
STUDENT_ADD: "student_add",
|
|
35
41
|
STUDENT_ADD_BULK: "student_add_bulk",
|
|
36
42
|
STUDENT_REMOVE: "student_remove",
|
|
@@ -39,6 +45,13 @@ const CUSTOMER_REQUEST_TYPES = {
|
|
|
39
45
|
OTHER: "other",
|
|
40
46
|
};
|
|
41
47
|
|
|
48
|
+
const CUSTOMER_EXTRA_SERVICE_LIMITS = {
|
|
49
|
+
PLACE: 200,
|
|
50
|
+
TIME: 80,
|
|
51
|
+
HEADCOUNT: 200,
|
|
52
|
+
TITLE: 200,
|
|
53
|
+
};
|
|
54
|
+
|
|
42
55
|
const CUSTOMER_REQUEST_CHANGE_KINDS = {
|
|
43
56
|
ADDRESS: "address",
|
|
44
57
|
SERVICE: "service",
|
|
@@ -150,6 +163,7 @@ module.exports = {
|
|
|
150
163
|
CUSTOMER_PORTAL_INVITE_EXPIRATION_DAYS,
|
|
151
164
|
CUSTOMER_PORTAL_STUDENT_SEARCH_MIN_LENGTH,
|
|
152
165
|
CUSTOMER_REQUEST_TYPES,
|
|
166
|
+
CUSTOMER_EXTRA_SERVICE_LIMITS,
|
|
153
167
|
CUSTOMER_REQUEST_CHANGE_KINDS,
|
|
154
168
|
CUSTOMER_REQUEST_STATUSES,
|
|
155
169
|
CUSTOMER_REQUEST_OPEN_STATUSES,
|
|
@@ -1,81 +1,81 @@
|
|
|
1
|
-
// See: backend/docs/arvento-telemetry.md (source of truth)
|
|
2
|
-
// Telemetry constants — shared between backend and frontend.
|
|
3
|
-
|
|
4
|
-
const TELEMETRY_PROVIDERS = {
|
|
5
|
-
ARVENTO: "ARVENTO",
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
const TELEMETRY_EVENT_TYPES = {
|
|
9
|
-
SPEED_ALARM: "SPEED_ALARM",
|
|
10
|
-
IDLING_ALARM: "IDLING_ALARM",
|
|
11
|
-
PAUSE_ALARM: "PAUSE_ALARM",
|
|
12
|
-
MOTION_ALARM: "MOTION_ALARM",
|
|
13
|
-
CONTACT_ON: "CONTACT_ON",
|
|
14
|
-
CONTACT_OFF: "CONTACT_OFF",
|
|
15
|
-
DOOR_OPEN: "DOOR_OPEN",
|
|
16
|
-
DOOR_CLOSE: "DOOR_CLOSE",
|
|
17
|
-
EMERGENCY: "EMERGENCY",
|
|
18
|
-
TEMPERATURE_ALARM: "TEMPERATURE_ALARM",
|
|
19
|
-
REGION_ENTRY: "REGION_ENTRY",
|
|
20
|
-
REGION_EXIT: "REGION_EXIT",
|
|
21
|
-
SUDDEN_ACCELERATION: "SUDDEN_ACCELERATION",
|
|
22
|
-
SUDDEN_DECELERATION: "SUDDEN_DECELERATION",
|
|
23
|
-
POSSIBLE_ACCIDENT: "POSSIBLE_ACCIDENT",
|
|
24
|
-
DEVICE_POWERED_UP: "DEVICE_POWERED_UP",
|
|
25
|
-
// Araç, o günkü kayıtlı servis penceresi dışında kullanılıyor (kontak açık / hareket halinde).
|
|
26
|
-
// See: backend/docs/arvento-telemetry.md §20.1
|
|
27
|
-
SERVICELESS_USE: "SERVICELESS_USE",
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
// GetVehicleAlarmStatusV2 yanıtındaki "Alarm Türü" (Language=0 → Türkçe) kontak metinleri.
|
|
31
|
-
// Anlık kontak durumu bu üç tipin EN YENİSİNDEN türetilir (See: arvento-telemetry.md §20.1).
|
|
32
|
-
const ARVENTO_ALARM_TYPES = {
|
|
33
|
-
IGNITION_ON: "Kontak Açıldı",
|
|
34
|
-
IGNITION_OFF: "Kontak Kapandı",
|
|
35
|
-
IGNITION_STATUS: "Kontak Durumu", // Değer: 1=açık, 0=kapalı
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
const TELEMETRY_VEHICLE_STATUS = {
|
|
39
|
-
OFFLINE: "OFFLINE", // Son snapshot yok veya çok eski (cihaz veri göndermiyor — kontaktan bağımsız)
|
|
40
|
-
IDLE: "IDLE", // (eski) hareketsiz — artık görüntüde IDLING/PARKED'e ayrıştırılır
|
|
41
|
-
MOVING: "MOVING", // Hareket halinde
|
|
42
|
-
ALARMED: "ALARMED", // Son snapshot'ta alarm var
|
|
43
|
-
// Görüntü durumları (taze snapshot'ta kontaktan türetilir; kalıcı SAKLANMAZ):
|
|
44
|
-
IDLING: "IDLING", // Kontak açık, hareketsiz (rölantide)
|
|
45
|
-
PARKED: "PARKED", // Kontak kapalı, cihaz online
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
const TELEMETRY_THRESHOLDS = {
|
|
49
|
-
IDLING_FUEL_LITERS_PER_HOUR: 1.8, // rölanti israfı hesabı (referans)
|
|
50
|
-
DRIVER_FATIGUE_HOURS: 4,
|
|
51
|
-
LIVE_POSITION_REFRESH_SECONDS: 15, // frontend refresh
|
|
52
|
-
ARVENTO_POLL_PERIOD_SECONDS: 30, // backend cron - Arvento min period
|
|
53
|
-
ARVENTO_DAILY_QUOTA: 100000, // request/day/user
|
|
54
|
-
ARVENTO_PER_METHOD_COOLDOWN_SECONDS: 30,
|
|
55
|
-
SNAPSHOT_FRESHNESS_SECONDS: 3600, // bu sürenin üstünde olan snapshot "stale" - 1 saat
|
|
56
|
-
|
|
57
|
-
// --- Servissiz/izinsiz kullanım uyarısı (§20.1) ---
|
|
58
|
-
// Servis başlangıç/bitiş penceresine eklenen tampon (dk). Şoför servise giderken/dönerken
|
|
59
|
-
// aracı öncesinde çalıştırır → bu marjin içindeki hareket normal sayılır.
|
|
60
|
-
// Gelecekte 1 saate çekmek istenirse yalnızca bu değer 60 yapılır.
|
|
61
|
-
SERVICELESS_USE_MARGIN_MINUTES: 120,
|
|
62
|
-
// Aynı araç için bu süre içindeki tekrar tespitler tek "episode" sayılır (spam engeli).
|
|
63
|
-
SERVICELESS_EPISODE_GAP_MINUTES: 30,
|
|
64
|
-
// Servis dışı "kullanımda" sayılması için minimum hız (km/h). Kontak açık + bu eşiğin üstü.
|
|
65
|
-
SERVICELESS_USE_MIN_SPEED_KMH: 10,
|
|
66
|
-
// Bu sürenin altındaki kapalı seanslar DB'den silinir (yanlış pozitif / gürültü).
|
|
67
|
-
SERVICELESS_USE_MIN_DURATION_MINUTES: 5,
|
|
68
|
-
// Servissiz kullanım uyarılarının geçmişte saklanma süresi (gün).
|
|
69
|
-
SERVICELESS_ALERT_RETENTION_DAYS: 30,
|
|
70
|
-
|
|
71
|
-
// --- Aşırı hız vurgusu (§20.3) — frontend-only ---
|
|
72
|
-
OVERSPEED_THRESHOLD_KMH: 100,
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
module.exports = {
|
|
76
|
-
TELEMETRY_PROVIDERS,
|
|
77
|
-
TELEMETRY_EVENT_TYPES,
|
|
78
|
-
TELEMETRY_VEHICLE_STATUS,
|
|
79
|
-
TELEMETRY_THRESHOLDS,
|
|
80
|
-
ARVENTO_ALARM_TYPES,
|
|
81
|
-
};
|
|
1
|
+
// See: backend/docs/arvento-telemetry.md (source of truth)
|
|
2
|
+
// Telemetry constants — shared between backend and frontend.
|
|
3
|
+
|
|
4
|
+
const TELEMETRY_PROVIDERS = {
|
|
5
|
+
ARVENTO: "ARVENTO",
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
const TELEMETRY_EVENT_TYPES = {
|
|
9
|
+
SPEED_ALARM: "SPEED_ALARM",
|
|
10
|
+
IDLING_ALARM: "IDLING_ALARM",
|
|
11
|
+
PAUSE_ALARM: "PAUSE_ALARM",
|
|
12
|
+
MOTION_ALARM: "MOTION_ALARM",
|
|
13
|
+
CONTACT_ON: "CONTACT_ON",
|
|
14
|
+
CONTACT_OFF: "CONTACT_OFF",
|
|
15
|
+
DOOR_OPEN: "DOOR_OPEN",
|
|
16
|
+
DOOR_CLOSE: "DOOR_CLOSE",
|
|
17
|
+
EMERGENCY: "EMERGENCY",
|
|
18
|
+
TEMPERATURE_ALARM: "TEMPERATURE_ALARM",
|
|
19
|
+
REGION_ENTRY: "REGION_ENTRY",
|
|
20
|
+
REGION_EXIT: "REGION_EXIT",
|
|
21
|
+
SUDDEN_ACCELERATION: "SUDDEN_ACCELERATION",
|
|
22
|
+
SUDDEN_DECELERATION: "SUDDEN_DECELERATION",
|
|
23
|
+
POSSIBLE_ACCIDENT: "POSSIBLE_ACCIDENT",
|
|
24
|
+
DEVICE_POWERED_UP: "DEVICE_POWERED_UP",
|
|
25
|
+
// Araç, o günkü kayıtlı servis penceresi dışında kullanılıyor (kontak açık / hareket halinde).
|
|
26
|
+
// See: backend/docs/arvento-telemetry.md §20.1
|
|
27
|
+
SERVICELESS_USE: "SERVICELESS_USE",
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
// GetVehicleAlarmStatusV2 yanıtındaki "Alarm Türü" (Language=0 → Türkçe) kontak metinleri.
|
|
31
|
+
// Anlık kontak durumu bu üç tipin EN YENİSİNDEN türetilir (See: arvento-telemetry.md §20.1).
|
|
32
|
+
const ARVENTO_ALARM_TYPES = {
|
|
33
|
+
IGNITION_ON: "Kontak Açıldı",
|
|
34
|
+
IGNITION_OFF: "Kontak Kapandı",
|
|
35
|
+
IGNITION_STATUS: "Kontak Durumu", // Değer: 1=açık, 0=kapalı
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const TELEMETRY_VEHICLE_STATUS = {
|
|
39
|
+
OFFLINE: "OFFLINE", // Son snapshot yok veya çok eski (cihaz veri göndermiyor — kontaktan bağımsız)
|
|
40
|
+
IDLE: "IDLE", // (eski) hareketsiz — artık görüntüde IDLING/PARKED'e ayrıştırılır
|
|
41
|
+
MOVING: "MOVING", // Hareket halinde
|
|
42
|
+
ALARMED: "ALARMED", // Son snapshot'ta alarm var
|
|
43
|
+
// Görüntü durumları (taze snapshot'ta kontaktan türetilir; kalıcı SAKLANMAZ):
|
|
44
|
+
IDLING: "IDLING", // Kontak açık, hareketsiz (rölantide)
|
|
45
|
+
PARKED: "PARKED", // Kontak kapalı, cihaz online
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const TELEMETRY_THRESHOLDS = {
|
|
49
|
+
IDLING_FUEL_LITERS_PER_HOUR: 1.8, // rölanti israfı hesabı (referans)
|
|
50
|
+
DRIVER_FATIGUE_HOURS: 4,
|
|
51
|
+
LIVE_POSITION_REFRESH_SECONDS: 15, // frontend refresh
|
|
52
|
+
ARVENTO_POLL_PERIOD_SECONDS: 30, // backend cron - Arvento min period
|
|
53
|
+
ARVENTO_DAILY_QUOTA: 100000, // request/day/user
|
|
54
|
+
ARVENTO_PER_METHOD_COOLDOWN_SECONDS: 30,
|
|
55
|
+
SNAPSHOT_FRESHNESS_SECONDS: 3600, // bu sürenin üstünde olan snapshot "stale" - 1 saat
|
|
56
|
+
|
|
57
|
+
// --- Servissiz/izinsiz kullanım uyarısı (§20.1) ---
|
|
58
|
+
// Servis başlangıç/bitiş penceresine eklenen tampon (dk). Şoför servise giderken/dönerken
|
|
59
|
+
// aracı öncesinde çalıştırır → bu marjin içindeki hareket normal sayılır.
|
|
60
|
+
// Gelecekte 1 saate çekmek istenirse yalnızca bu değer 60 yapılır.
|
|
61
|
+
SERVICELESS_USE_MARGIN_MINUTES: 120,
|
|
62
|
+
// Aynı araç için bu süre içindeki tekrar tespitler tek "episode" sayılır (spam engeli).
|
|
63
|
+
SERVICELESS_EPISODE_GAP_MINUTES: 30,
|
|
64
|
+
// Servis dışı "kullanımda" sayılması için minimum hız (km/h). Kontak açık + bu eşiğin üstü.
|
|
65
|
+
SERVICELESS_USE_MIN_SPEED_KMH: 10,
|
|
66
|
+
// Bu sürenin altındaki kapalı seanslar DB'den silinir (yanlış pozitif / gürültü).
|
|
67
|
+
SERVICELESS_USE_MIN_DURATION_MINUTES: 5,
|
|
68
|
+
// Servissiz kullanım uyarılarının geçmişte saklanma süresi (gün).
|
|
69
|
+
SERVICELESS_ALERT_RETENTION_DAYS: 30,
|
|
70
|
+
|
|
71
|
+
// --- Aşırı hız vurgusu (§20.3) — frontend-only ---
|
|
72
|
+
OVERSPEED_THRESHOLD_KMH: 100,
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
module.exports = {
|
|
76
|
+
TELEMETRY_PROVIDERS,
|
|
77
|
+
TELEMETRY_EVENT_TYPES,
|
|
78
|
+
TELEMETRY_VEHICLE_STATUS,
|
|
79
|
+
TELEMETRY_THRESHOLDS,
|
|
80
|
+
ARVENTO_ALARM_TYPES,
|
|
81
|
+
};
|