find_vehicle
ChatGPTLook up a vehicle's IMEI by name — call this BEFORE telling the user you can't proceed, whenever a *_detail tool needs an imei_no for a named vehicle you don't already have the IMEI for (i.e. the vehicle wasn't named in an earlier summary/status result this conversation). This is cheap — it searches the vehicle list already cached from login, no live report fetch — so prefer it over asking the user to run a status query first just to get an IMEI. Each match has THREE fields — use the right one: - imei_no: pass THIS as imei_no/imei_nos to the next tool call (get_object_status, get_travel_daily_summary, etc.). This is the only field report tools accept. - vehicle_id: an unrelated internal database ID. NEVER pass this as imei_no/imei_nos — it will not match any vehicle and typically causes the next call to silently fall back to fleet-wide data instead of the one vehicle you asked about. Fine to mention to the user for reference, but never usable as a tool argument. - vehicle_no: the plate/display name, for showing back to the user. Args: name: The vehicle name (or a fragment of it) as the user said it — matching is case-insensitive substring, so partial names work (e.g. "Bongo" matches "HP Bongo Streamax Object 1").
get_ac_detail
ChatGPTGet AC events for a SINGLE vehicle. Use when user asks: "AC detail for vehicle X", "when was the AC on in X". Get imei_no from a prior summary/status call's output for that vehicle — never ask the user for it. Always answers in text (already a Markdown table) — there's no dashboard variant for single-vehicle event lists. Args: imei_no: Single IMEI number — reuse the IMEI shown in a prior summary/status result for this vehicle. start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today.
get_ac_summary
ChatGPTGet AC usage summary for fleet — plain text answer. Use for EVERY AC question, including ranking ones. Only use get_ac_summary_dashboard instead if the user explicitly asks to see it as a map/dashboard/report/chart. For one named vehicle's events use get_ac_detail instead. Args: start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today. imei_nos: Leave empty — auto-fills
get_ac_summary_dashboard
ChatGPTGet AC usage summary WITH the visual dashboard. Same data as get_ac_summary — call this one ONLY when the user explicitly asks to see a "map", "dashboard", "report", or "chart". For every other AC question, use get_ac_summary instead. Args: same as get_ac_summary.
get_daywise_distance
ChatGPTGet distance per day for the fleet — plain text answer. Use when user asks: "distance per day", "daily distance", "how much did we drive each day", "daily mileage breakdown". Only use get_daywise_distance_dashboard instead if the user explicitly asks to see it as a map/dashboard/report/chart. Args: start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today. imei_nos: Leave empty — auto-fills
get_daywise_distance_dashboard
ChatGPTGet distance per day for the fleet, WITH the chart. Same data as get_daywise_distance — call this one ONLY when the user explicitly asks to see a "map", "dashboard", "report", or "chart". For every other daily-distance question, use get_daywise_distance instead. Args: same as get_daywise_distance.
get_digital_port_detail
ChatGPTGet digital port events for a SINGLE vehicle. Use when user asks: "digital port detail for vehicle X", "door/PTO events for X". Get imei_no from a prior summary/status call's output for that vehicle — never ask the user for it. Always answers in text (already a Markdown table) — there's no dashboard variant for single-vehicle event lists. NOTE: imei_no is STRING for this endpoint (unlike every other detail tool). Args: imei_no: IMEI as string (e.g. "123321067") — reuse the IMEI shown in a prior summary/status result for this vehicle. start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today.
get_digital_port_summary
ChatGPTGet digital port ON/OFF summary for fleet — plain text answer. Use for EVERY digital port question, including ranking ones. Only use get_digital_port_summary_dashboard instead if the user explicitly asks to see it as a map/dashboard/report/chart. For one named vehicle's events use get_digital_port_detail instead. Args: start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today. imei_nos: Leave empty — auto-fills
get_digital_port_summary_dashboard
ChatGPTGet digital port summary WITH the visual dashboard. Same data as get_digital_port_summary — call this one ONLY when the user explicitly asks to see a "map", "dashboard", "report", or "chart". For every other digital port question, use get_digital_port_summary instead. Args: same as get_digital_port_summary.
get_fleet_map
ChatGPTGet LIVE fleet status WITH the interactive map. Same data as get_object_status — call this one ONLY when the user explicitly asks to see it "on a map", "show me the fleet map", or similar. For every other live-status question, including "is <vehicle> running", use get_object_status instead — do not call this tool just to answer a plain status question. Args: same as get_object_status.
get_fuel_fill_drain_summary
ChatGPTFuel fill/drain summary — fill amount + count, drain amount + count, fuel consumed/mileage, avg consumption per 100km, distance, and running/idle/inactive/stop durations, one row per vehicle. Use for EVERY fuel fill/drain question: "fuel fill", "fuel drain", "refuel", "pilferage", "fuel theft", "fuel consumption", "fuel mileage". Only use get_fuel_fill_drain_summary_dashboard instead if the user explicitly asks to see it as a map/dashboard/report/chart. There is currently no event-level detail tool (a per-fill/per-drain log) — this is summary-only; say so if the user asks for individual fill/drain events rather than fabricating one. NOTE: api_response.txt §22 documents a 1-request-per-15-minutes rate limit, but that was for a different URL (/webservice?token=...) than the real /mcp?action=getfuelfilldraindata endpoint this tool actually calls — several live test calls in quick succession did not trigger it. Still, if a call ever returns a rate-limit message, relay it to the user plainly rather than retrying. Args: vehicle_name: One vehicle's name (or a fragment), resolved to its imei_no internally — same matching as find_vehicle. If the fleet has more than one vehicle with the EXACT same name, this returns data for all of them together (confirmed live: real fleets can have genuine duplicate-named vehicles) — you don't need to pick one. A "multiple different vehicles match" error means the fragment matched actually-different vehicle names instead; use imei_no (from an earlier find_vehicle/summary result) to disambiguate those, rather than trying a longer name — a name ending in a digit can still collide with a sibling that digit prefixes. Leave both this and imei_no empty for the whole fleet (every accessible vehicle, same convention as get_object_status). imei_no: A single vehicle's exact IMEI — takes priority over vehicle_name when both are given. Use this (from a prior find_vehicle/summary result) whenever vehicle_name would be ambiguous, same as every other *_detail tool's imei_no arg. start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today.
get_fuel_fill_drain_summary_dashboard
ChatGPTGet the fuel fill/drain summary WITH the visual dashboard. Same data as get_fuel_fill_drain_summary — call this one ONLY when the user explicitly asks to see it as a "map", "dashboard", "report", or "chart" (e.g. "show me a dashboard of fuel fill/drain"). For every other fuel fill/drain question, use get_fuel_fill_drain_summary instead. Args: same as get_fuel_fill_drain_summary.
get_idle_detail
ChatGPTGet individual idle events for a SINGLE vehicle. Use when user asks: "idle detail for vehicle X", "when was X idling". Get imei_no from a prior summary/status call's output for that vehicle — never ask the user for it. Always answers in text (already a Markdown table) — there's no dashboard variant for single-vehicle event lists. Args: imei_no: Single IMEI number — reuse the IMEI shown in a prior summary/status result for this vehicle. start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today.
get_idle_summary
ChatGPTGet idle time summary for fleet — plain text answer. Use for EVERY idle question, including ranking ones. Only use get_idle_summary_dashboard instead if the user explicitly asks to see it as a map/dashboard/report/chart. For one named vehicle's individual idle events use get_idle_detail instead. Args: start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today. imei_nos: Leave empty — auto-fills
get_idle_summary_dashboard
ChatGPTGet idle summary WITH the visual dashboard. Same data as get_idle_summary — call this one ONLY when the user explicitly asks to see a "map", "dashboard", "report", or "chart". For every other idle question, use get_idle_summary instead. Args: same as get_idle_summary.
get_inactive_detail
ChatGPTGet inactive periods for a SINGLE vehicle. Use when user asks: "inactive detail for vehicle X", "when was X unused". Get imei_no from a prior summary/status call's output for that vehicle — never ask the user for it. Always answers in text (already a Markdown table) — there's no dashboard variant for single-vehicle event lists. Args: imei_no: Single IMEI number — reuse the IMEI shown in a prior summary/status result for this vehicle. start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today.
get_inactive_summary
ChatGPTGet inactive vehicle summary for fleet — plain text answer. Use for EVERY inactive-vehicle question, including ranking ones. Only use get_inactive_summary_dashboard instead if the user explicitly asks to see it as a map/dashboard/report/chart. For one named vehicle's inactive periods use get_inactive_detail instead. Args: start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today. imei_nos: Leave empty — auto-fills
get_inactive_summary_dashboard
ChatGPTGet inactive vehicle summary WITH the visual dashboard. Same data as get_inactive_summary — call this one ONLY when the user explicitly asks to see a "map", "dashboard", "report", or "chart". For every other inactive-vehicle question, use get_inactive_summary instead. Args: same as get_inactive_summary.
get_object_status
ChatGPTGet LIVE fleet status: current position, speed, ignition for ALL vehicles — plain text answer. THIS IS THE DEFAULT TOOL for any "how's my fleet doing right now" question, INCLUDING "is <vehicle> running/active" — it needs NO date range. Call with NO parameters for all fleet vehicles. Parameters are auto-filled from session. Only provide imei_nos if user explicitly mentions a specific vehicle/IMEI they already gave you. Only use get_fleet_map instead if the user explicitly asks to see it on a map. Use when user asks: "fleet status", "where are my vehicles", "which are moving/running/idle right now", "live status", "current position", "show vehicles", "is <vehicle> active". Do NOT use this for historical questions ("yesterday", "last week") — those need a *_summary tool instead. The result always lists each vehicle's status and IMEI — reuse the IMEI later if the user asks a follow-up "detail" question about one specific vehicle. IMPORTANT: the result always states the EXACT count of vehicles per status (running/idle/stop/inactive/no_data) in its summary line. When describing fleet status in your own words, state those exact numbers (e.g. "12 running, 3 idle, 1 stopped") — never just list which status categories are present without their counts, and never invent your own status-to-emoji mapping (use 🟢 running, 🟡 idle, 🔴 stop, 🔵 inactive, 🟣 no_data). Args: imei_nos: Comma-separated IMEI numbers. Leave empty for all fleet vehicles.
get_overspeed_detail
ChatGPTGet individual overspeed events for a SINGLE vehicle. Use when user asks: "overspeed detail for vehicle X", "when did X speed", "how fast was X going". Get imei_no from a prior summary/status call's output for that vehicle — never ask the user for it. Always answers in text (already a Markdown table) — there's no dashboard variant for single-vehicle event lists. Args: imei_no: Single IMEI number — reuse the IMEI shown in a prior summary/status result for this vehicle. start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today. speed_limit: Speed threshold in km/h (default 80)
get_overspeed_summary
ChatGPTGet overspeed event counts for the entire fleet — plain text answer. Use for EVERY overspeed question, including ranking ones like "top overspeed vehicle yesterday" or "who was speeding" — this is the default tool. Only use get_overspeed_summary_dashboard instead if the user explicitly asks to see it as a map/dashboard/report/chart. Args: start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today. speed_limit: Speed threshold in km/h (default 80). Only change if the user explicitly gives a threshold (e.g. "over 100 km/h"). imei_nos: Leave empty — auto-fills all vehicles
get_overspeed_summary_dashboard
ChatGPTGet overspeed event counts for the entire fleet, WITH the visual dashboard. Same data as get_overspeed_summary — call this one ONLY when the user explicitly asks to see it as a "map", "dashboard", "report", or "chart" (e.g. "show me a dashboard of overspeed events"). For every other overspeed question, including "top overspeed vehicle", use get_overspeed_summary instead — do not call this tool just because the question involves ranking or comparing vehicles. Args: same as get_overspeed_summary.
get_projects
ChatGPTGet available projects for the authenticated user. ONLY call this if user explicitly asks 'which projects do I have'. Do NOT call before report tools — they auto-fill project_id.
get_running_report
ChatGPTRunning distance/duration questions — picks the cheapest correct report automatically instead of you choosing between get_travel_summary, get_trip_summary, get_daywise_distance, get_travel_daily_summary, or get_trip_detail yourself. Use for: running_km, running_duration, distance covered, "how far did we drive". Prefer THIS tool over those five specifically for this metric; keep calling them directly for their own primary subjects (trip count, stop/idle/inactive duration, sensors, etc.) as before — this does not replace anything, it only resolves this one overlap. Args: grain: "period" (fleet/vehicle totals for the date range), "day" (per-day breakdown), or "event" (per-trip). Default "period". start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today. imei_nos: Fleet-wide — leave empty to auto-fill all the user's vehicles. imei_no: ONE vehicle's IMEI — required if grain is "day" or "event" (those need a single named vehicle). Reuse the IMEI shown in a prior summary/status result for that vehicle — never ask the user for it.
get_speed_vs_distance
ChatGPTGet distance in speed brackets for fleet — plain text answer. Use when user asks: "speed brackets", "distance at different speeds", "how much distance was covered above/below X km/h". Only use get_speed_vs_distance_dashboard instead if the user explicitly asks to see it as a map/dashboard/report/chart. Args: start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today. imei_nos: Leave empty — auto-fills
get_speed_vs_distance_dashboard
ChatGPTGet distance in speed brackets for fleet, WITH the chart. Same data as get_speed_vs_distance — call this one ONLY when the user explicitly asks to see a "map", "dashboard", "report", or "chart". For every other speed-bracket question, use get_speed_vs_distance instead. Args: same as get_speed_vs_distance.
get_stoppage_detail
ChatGPTGet individual stoppages with locations for a SINGLE vehicle. Use when user asks: "stoppage detail for vehicle X", "where did X stop". Get imei_no from a prior summary/status call's output for that vehicle — never ask the user for it. Always answers in text (already a Markdown table) — there's no dashboard variant for single-vehicle event lists. Args: imei_no: Single IMEI number — reuse the IMEI shown in a prior summary/status result for this vehicle. start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today.
get_stoppage_summary
ChatGPTGet stoppage counts and durations for the fleet — plain text answer. Use for EVERY stoppage question, including ranking ones. Only use get_stoppage_summary_dashboard instead if the user explicitly asks to see it as a map/dashboard/report/chart. For one named vehicle's individual stops use get_stoppage_detail instead. Args: start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today. imei_nos: Leave empty — auto-fills all vehicles
get_stoppage_summary_dashboard
ChatGPTGet stoppage summary WITH the visual dashboard. Same data as get_stoppage_summary — call this one ONLY when the user explicitly asks to see a "map", "dashboard", "report", or "chart". For every other stoppage question, use get_stoppage_summary instead. Args: same as get_stoppage_summary.
get_system_log_detail
ChatGPTRaw system-log records for ONE named vehicle over a date range. Use for: "raw data string", "device log detail". Args: vehicle_name: The vehicle's name (or a fragment of it) as the user said it — resolved to its vehicle_id internally, same matching as find_vehicle. Never ask the user for an ID. start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today. status_filter: Leave empty unless the user names a specific status to filter by.
get_system_log_summary
ChatGPTLive, latest system-log row per vehicle. Use for: "system log", "device log". Leave vehicle_name empty for every accessible vehicle (fleet-wide) — same convention as get_object_status. Args: vehicle_name: One vehicle's name (or a fragment), resolved to its vehicle_id internally — same matching as find_vehicle. Leave empty for the whole fleet.
get_temperature_detail
ChatGPTGet temperature readings for a SINGLE vehicle. Use when user asks: "temperature detail for vehicle X", "was X's cargo too warm". Get imei_no from a prior summary/status call's output for that vehicle — never ask the user for it. Always answers in text (already a Markdown table) — there's no dashboard variant for single-vehicle event lists. Args: imei_no: Single IMEI number — reuse the IMEI shown in a prior summary/status result for this vehicle. start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today.
get_temperature_summary
ChatGPTGet temperature trip summary for fleet — plain text answer. Use for EVERY temperature question, including ranking ones. Only use get_temperature_summary_dashboard instead if the user explicitly asks to see it as a map/dashboard/report/chart. For one named vehicle's readings use get_temperature_detail instead. Args: start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today. imei_nos: Leave empty — auto-fills
get_temperature_summary_dashboard
ChatGPTGet temperature summary WITH the visual dashboard. Same data as get_temperature_summary — call this one ONLY when the user explicitly asks to see a "map", "dashboard", "report", or "chart". For every other temperature question, use get_temperature_summary instead. Args: same as get_temperature_summary.
get_travel_daily_summary
ChatGPTGet daily travel breakdown for a SINGLE vehicle — plain text answer. Use when user asks: "daily breakdown for vehicle X", "day-by-day distance for X". Get imei_no from a prior summary/status call's output for that vehicle — never ask the user for it. Only use get_travel_daily_summary_dashboard instead if the user explicitly asks to see it as a map/dashboard/report/chart. Args: imei_no: Single IMEI number (integer) — reuse the IMEI shown in a prior summary/status result for this vehicle. start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today.
get_travel_daily_summary_dashboard
ChatGPTGet daily travel breakdown for a SINGLE vehicle, WITH the chart. Same data as get_travel_daily_summary — call this one ONLY when the user explicitly asks to see it as a "map", "dashboard", "report", or "chart". For every other daily-breakdown question, use get_travel_daily_summary instead. Args: same as get_travel_daily_summary.
get_travel_summary
ChatGPTGet travel summary (distance, duration, speed) for the entire fleet — plain text answer. Use for EVERY travel question, including ranking ones ("which vehicle drove the most"). Only use get_travel_summary_dashboard instead if the user explicitly asks to see it as a map/dashboard/report/chart. For one named vehicle's day-by-day breakdown use get_travel_daily_summary. Args: start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today. imei_nos: Leave empty — auto-fills all user's vehicles
get_travel_summary_dashboard
ChatGPTGet travel summary WITH the visual dashboard. Same data as get_travel_summary — call this one ONLY when the user explicitly asks to see a "map", "dashboard", "report", or "chart". For every other travel question, use get_travel_summary instead. Args: same as get_travel_summary.
get_trip_detail
ChatGPTGet detailed trip data for a SINGLE vehicle with route/map info. Use when user asks: "trip detail for vehicle X", "where did it go", "route of X", "show me X's journey". Get imei_no from a prior summary/status call's output for that vehicle — never ask the user for it. Args: imei_no: Single IMEI number — reuse the IMEI shown in a prior summary/status result for this vehicle. start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today.
get_trip_summary
ChatGPTGet trip summary for the fleet (trip count, distance per vehicle) — plain text answer. Use for EVERY trip question, including ranking ones ("which vehicle made the most trips"). Only use get_trip_summary_dashboard instead if the user explicitly asks to see it as a map/dashboard/report/chart. For one named vehicle's route/map use get_trip_detail instead. Args: start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today. imei_nos: Leave empty — auto-fills all vehicles
get_trip_summary_dashboard
ChatGPTGet trip summary WITH the visual dashboard. Same data as get_trip_summary — call this one ONLY when the user explicitly asks to see a "map", "dashboard", "report", or "chart". For every other trip question, use get_trip_summary instead. Args: same as get_trip_summary.
get_user_rights
ChatGPTGet allowed vehicles (IMEIs) for a project. ONLY call this if user explicitly asks 'which vehicles' or 'list my vehicles'. Do NOT call before report tools — they auto-fill imei_nos. Args: project_id: Numeric project ID from get_projects
get_vehicle_playback
ChatGPTText-only route/trip/stoppage/inactive-period playback for ONE named vehicle over a date range — NO map widget. Do NOT use this for a plain "playback"/"route history" question; use get_vehicle_playback_map for that instead (it's the default — see that tool's docstring). Only call this one when the user explicitly says they don't want the map/widget (e.g. "just the text", "no map"). Args: vehicle_name: The vehicle's name (or a fragment of it) as the user said it — resolved to its vehicle_id internally, same matching as find_vehicle. Never ask the user for an ID. start_date_time: Start — "yyyy-MM-dd HH:mm:ss"/"yyyy-MM-dd", or natural language (today, yesterday, N days/weeks/months ago, last week, monday, etc.). Leave empty if the user didn't mention a date — defaults to today. end_date_time: End — same formats as start_date_time. For a single-day query, pass that same value here too. Leave empty for today. advance_tracking: Leave as default "YES" unless told otherwise.
get_vehicle_playback_map
ChatGPTVehicle playback WITH the interactive map — the DEFAULT tool for ANY playback question ("playback", "route history", "show me where <vehicle> went between X and Y"), whether or not the user says "map". Playback is inherently a "where did it go" question, so showing the route on a map is the expected response, not something that needs to be asked for explicitly. This already falls back to plain text automatically when there's no usable coordinate data, so there's no downside to calling it by default. Only use get_vehicle_playback instead if the user explicitly says they don't want the map/widget. Args: same as get_vehicle_playback.
search_help_documentation
ChatGPTSearch Uffizio help-center documentation for how-to guides, feature explanations, and tutorial videos. Use for questions about HOW THE SOFTWARE WORKS or HOW TO DO SOMETHING IN IT — never for a specific vehicle's live status or historical report data (those need a report tool instead, e.g. get_object_status, get_travel_summary). Use when user asks: "how do I add a GPS device", "how to set up a geofence", "what is a reminder rule", "steps to configure...", "guide for...", "what does error code X mean", or any other product documentation / configuration / concept question. The result renders as a documentation card with an embedded tutorial video in ChatGPT (when one matched) and also lists the same video link in text, as a fallback if the embed doesn't render. Args: query: The user's question, in their own words.