check_rental_eligibility
ChatGPTCheck whether the authenticated Mimo user may currently rent: account not blocked, profile complete, no outstanding debts, wallet or card ready. Read-only; returns a verdict plus a user-safe reason when not eligible. Never returns balances or card details.
confirm_powerbank_rental
ChatGPTPHASE 2 of renting — STATE-CHANGING. Call this ONLY after the human user has explicitly confirmed the rental shown from prepare_powerbank_rental. Redeems the confirmation token, starts the rental and commands the station to eject a power bank, then waits for the station's own acknowledgment. Report the rental as active ONLY when outcome is ACTIVE; PENDING means the hardware has not confirmed yet (poll get_powerbank_rental_status), and DISPENSE_FAILED means nothing was dispensed and nothing was charged. Calling this again with the same token is safe: it never starts a second rental, it re-reads the same rental's state.
find_powerbank_return_stations
ChatGPTFind nearby Mimo power bank stations that currently have at least one free slot to accept a returned power bank, sorted from nearest to farthest. Use this when the user asks where to return a power bank.
find_powerbank_stations
ChatGPTFind active, online Mimo power bank stations near a geographic coordinate, sorted from nearest to farthest. Returns each station's id, name, address, coordinates, distance in meters, available and highly-charged power banks, free return slots and working hours. Use the user's location only after they have agreed to share it.
get_authenticated_user
ChatGPTIdentify the Mimo user behind this connection. Returns their display name and a masked account id, so the assistant can confirm it is acting for the right account. Requires the user's Mimo access token.
get_powerbank_rental_history
ChatGPTGet the authenticated user's most recent finished power bank rentals, newest first, with duration, final amount and payment status.
get_powerbank_rental_state
ChatGPTGet the authenticated user's current power bank situation: every live rental with its authoritative state (RENT_STARTED means dispensed and billing, RENT_SCANNED means dispensing is still unconfirmed) and their current 5-minute booking, if any. Empty lists mean nothing is in progress.
get_powerbank_rental_status
ChatGPTGet one rental's authoritative state by rental id, whether it is still live or already finished. Use it to verify activation after confirm_powerbank_rental returned PENDING, and to verify a return: state RENT_ENDED with an endedAt timestamp and a final amount means the backend registered the return and billing has stopped. Do not tell the user a rental is finished before that.
get_powerbank_station_details
ChatGPTGet one station's live details by station id or QR code: status, whether it is rentable right now, available and highly-charged power banks, free return slots, coordinates, working hours and active tariffs. Requires the user's Mimo access token. Use it to verify a station immediately before offering it for a rental or a return.
get_powerbank_station_tariffs
ChatGPTGet the active tariffs (pricing plans) for one Mimo power bank station, identified by its station id or QR code.
prepare_powerbank_rental
ChatGPTPHASE 1 of renting: validate everything a rental needs (station exists, is in service and stocked; the user is eligible and under the rental limit) WITHOUT starting anything, and return a single-use confirmation token plus the station's tariffs and a payment note. Nothing is reserved, charged or dispensed. Show the user the station, the pricing and the payment note, ask for their explicit confirmation, and only then call confirm_powerbank_rental with the token. The token expires after about 2 minutes.