
Vehicle Command Diagnostics in the Dashboard: When a vehicle refuses a lock, unlock, or other command, operators and support agents can now see the specific reason directly in the activity log and command response panel. Previously every failure looked the same regardless of cause; now the underlying reason (such as low battery, connectivity loss, or a telematics provider refusal) surfaces immediately, so the right follow-up action is clear without needing to escalate to engineering.
Smarter Promotion Targeting with User Tags: Vehicle promotions can now be configured with required and excluded user tags, and the system automatically maintains tags for riders with active packages, subscriptions, or ride passes. Operators can now prevent promotional minutes from being double-awarded to riders who have already paid for a bundle, protecting margin and making promotions more precise.
Map Falls Back to Configured Coordinates When Location Is Denied: When a rider denies the browser location permission on initial load, the web booking portal now correctly centres the map on the operator-configured default coordinates instead of showing a blank or incorrectly positioned map.
Vehicle Command Failure Reasons Now Visible in the Activity Log: When a vehicle or its connected hardware refuses a command (lock, unlock, open trunk, and similar), the Dashboard activity log and the command response panel now display the specific reason reported by the device or telematics provider. Before this change, all command failures looked identical regardless of cause, leaving operators without actionable information. Now the reason is visible immediately, so the correct next step (checking battery, reviewing connectivity, or contacting the hardware provider) is clear without an engineering escalation.
Battery Information Restored in the Vehicle Side Panel: The Connected Devices tab in the vehicle side panel was showing the battery section header but no battery data. The content is now displayed correctly.
Booking Extension No Longer Blocked by False Conflict: Extending an active booking through the Dashboard was incorrectly refused with an "already booked" error even when the vehicle showed as available in the calendar. Operators and call-centre agents can now extend bookings without this false conflict blocking the action.
Promotion Targeting Respects Active Package, Subscription, and Pass Status: Vehicle promotions can now be configured with required and excluded user tags. The system also maintains tags automatically: a user gains a tag when they hold an active package, subscription, or ride pass, and loses it when the entitlement ends.
Together, these two changes let operators exclude bundled riders from promotional minutes, so the right discount reaches the right person.
App engagement figures now count actual app openings: Wunder AI reports how many times your app was opened, counting a cold start or a return from the background as one opening and treating continued activity within 30 minutes as the same opening. Open-to-rental conversion sits on that same base, so it reflects the share of people who opened your app and went on to start a rental. Historical figures move with the definition, and Wunder AI now states the date your app data begins when a question reaches further back than that. Try it: "Show app openings and open-to-rental conversion rate by month for the last 6 months"
Task breakdowns use your own category names: Task questions in Wunder AI and the Task Analytics dashboard break down by your configured task category names, including custom categories your team created, so service and maintenance analysis is complete rather than partly unlabelled. Try it: "Show completed tasks by task category for the last 3 months"

Tracking Consent Layer in the Mobile App: A fully integrated consent management layer is now available in the rider app. Riders are presented with a consent prompt before any analytics or marketing tracking begins, and the app enforces consent choices across all downstream destinations. Operators in regulated markets can now meet GDPR consent requirements without custom workarounds.

Requires the latest app version. Contact your Customer Success Manager for details.
Tracking Consent Management: The rider app now includes a consent layer. Before any analytics or marketing tracking begins, riders are presented with a clear consent prompt. Consent choices are enforced consistently across all tracking destinations (Amplitude, Braze, AppsFlyer and Sentry), with fail-closed semantics so no data flows until consent is given. Operators in regulated markets can use this to meet GDPR and PDPA requirements out of the box.
Fuel Card PIN Visible During Active Rentals: Riders renting vehicles that require a physical fuel card can now see the correct fuel card PIN for their specific vehicle directly on the vehicle card during an active rental. Different vehicles carry different fuel cards, and this eliminates the need for operators to communicate PINs through separate channels.
Open Tasks List Now Shows Only Open Tasks: The "Open Tasks" section in the vehicle detail sheet was displaying all tasks on a vehicle, including completed ones, despite the section header count being correct. The list now filters to open tasks only, so field teams no longer have to mentally filter out resolved items.
Service App Uses Dedicated Task and Damage Endpoints: The Service App's maintenance sidebar now fetches open tasks and open damages from purpose-built endpoints. This improves load accuracy and performance, particularly on larger fleets, and ensures the sidebar data stays consistent even as the underlying vehicle API evolves.
Last Rental Info and After-Rental Photos Now Visible: Field teams can now see the details of a vehicle's most recent rental, including after-rental photos, directly in the Service App. This gives street workers the information they need to locate a vehicle in the field without switching to another tool or contacting the back office.

Charge Card Assignments Visible per Vehicle: The vehicle detail view in the Service App now shows which RFID charge cards are assigned to each vehicle. Field teams standing at a car can instantly confirm which physical card belongs to that vehicle, without having to check a separate system.
Battery Filter Supports a Min-Max Range: The battery percentage filter in the Service App now accepts a range (for example, 90% to 100%) instead of only an upper bound. This makes it faster to identify vehicles in a specific charge window, such as those that are nearly full and ready for deployment.
Campaign Reference Field on Promotions and Unique Codes: Operators can now attach an optional free-text campaign or external reference to any Promotion or batch of Unique Codes. This field is used for grouping in payment reporting and data analysis, making it straightforward to attribute redemptions back to a specific campaign without post-processing. The field is editable on Promotions until the first redemption.
Voucher Cost Sources Shown in User Side Panel: The voucher view on the customer detail panel now displays which part of a rental each voucher applies to, such as unlock fees, driving time, or parking. CS agents can see the breakdown at a glance and answer billing questions without digging into how the voucher was configured.
Auto-end and Auto-park Schedulers Protected Against Telemetry Outages: Two platform-level safety improvements ship together. First, vehicles that are unreachable (where a command would time out) are excluded from the inactive-rental candidate set, so the scheduler only targets vehicles that are online but stationary. Second, if the number of inactive-rental candidates exceeds roughly 10% of all active rentals, both the auto-end and auto-park processes pause and raise an alert rather than acting on what may be a telemetry anomaly. These changes protect operators from mass-ended or mass-parked rentals during infrastructure incidents.
Vehicle Command Failure Reasons Now Surfaced: When a vehicle fails to execute a command (such as an unlock or lock instruction), the platform now logs and exposes the specific reason reported by the device. Support teams investigating a failed rental action can now see the cause directly, rather than receiving only a generic failure status.
Subscription Renewal Notification Email: Operators offering auto-renewing subscriptions can now configure a notification email that is sent to subscribers before their renewal date. The email tells the rider what will happen, when, and for how much, giving them a clear window to cancel if needed. This is particularly relevant for operators in regulated markets where advance notice of recurring charges is required.
Driver's License Verification Expiry No Longer Reset by Webhooks: When a support agent manually approved a driving license with a future expiry date (for example, when a rider received a temporary validity sticker), the verification state was being reset back to EXPIRED by subsequent incoming webhooks from the verification provider. The manual approval is now preserved correctly, and riders with legitimately approved future-dated licenses are no longer incorrectly blocked.
Stations and the map load fast when the app opens, even for the largest fleets: Loading stations is the first thing that happens when a rider opens the app, and for operators with thousands of stations that screen was taking up to around eight seconds on every single session. The wait is gone, and it no longer grows as the fleet grows, so riders reach the map and start booking almost immediately. Most noticeable for large, multi-station deployments.
The following changes affect integrations and API consumers. Contact your integration team or Customer Success Manager for details.
New Outbound Webhook: Vehicle Base Data Changes: A new VEHICLE_BASE_DATA_CHANGED webhook fires whenever a vehicle is created or its base data is updated. The payload is a full snapshot (no diff), including id, uuid, code, name, vin, licensePlate, categoryId, branchId, serviceStateV2, legalInspectionDate, customProperties, and moduleId. This enables integration partners to maintain an external fleet registry in real time without polling the vehicles endpoint.
VIN Now Returned on Rental Detail Endpoint: The GET /back/rentals/{id} response now includes vehicle.vin. Operators and integrations that retrieve rental records can now access the VIN directly from the rental detail without a separate vehicle lookup. The VIN is not exposed on the end-user variant of this endpoint.
Refunds and Below-Threshold Invoices Available via User Invoice Endpoint: The GET /front/invoices endpoint now supports optional parameters to include refunded invoices, exception invoices, and invoices below the minimum payment threshold in the response. A rentalId filter is also available to retrieve invoices related to a specific rental. The default behavior is unchanged for existing integrations.
USER_UPDATE Permission Now Covers Payment State and Source Type: An operator holding the USER_UPDATE permission was incorrectly blocked from updating a customer's paymentState or sourceType fields unless they also held the more specific USER_UPDATE_PAYMENT_STATE sub-permission. The fine-grained permissions are now correctly scoped as restrictions below USER_UPDATE rather than replacements for it.
Receipt Flag Now Persisted on Group Creation: When creating a user group via the operations API with useReceiptInsteadOfInvoice set, the value was validated correctly but never stored, resulting in the group being created with the wrong billing document type. The field is now persisted as expected.
Address Fields Now Persisted on Group Creation: The houseNumber and addressAddition fields passed to POST /back/groups were accepted and echoed back in the response but never written to the database. Both fields are now correctly stored when a group is created.
Revenue split by monetization model: You can now ask Wunder AI how your platform revenue splits across monetization models: subscription, pass, package, rental (pay-per-use), and issue revenue such as fines and damages. Previously revenue was only available by price component (unlock, driving, parking), which showed how a rental was priced but not which commercial construct earned the money. Try it: "Show revenue by monetization model by month for the last 6 months"
Registration, activation and verification KPIs: Wunder AI now answers questions about new registrations, activation rates and licence verification outcomes. These sit alongside the existing rental and revenue metrics, so you can follow a cohort from sign-up through to first rental in a single conversation. Try it: "Show new registrations and licence approval rate by month for tfhe last 6 months"
Collection Rate now covers invoices in external collection: Collection Rate now includes invoices handed over for external debt recovery. Those are the invoices that matter most to the metric, so the rate you see reflects your full receivables position and stays comparable month over month.
Geofence promotion figures show true net contribution: Promotion analysis now reports the net contribution of a geofence promotion with the discount counted once, so the payback picture for a campaign is accurate. Period counts in underperforming-period analysis are correct as well.
Answers stay grounded in your data: Wunder AI answers strictly from the records it retrieves. Rows, totals and metrics in a response trace back to actual data, and where a requested figure is not available, Wunder AI says so rather than offering a related one in its place.

Pre-rental Damage Reports Can No Longer Be Bypassed: Two separate paths let riders skip the pre-rental damage inspection entirely, one by granting camera permission mid-flow and returning from the OS settings dialog, another by restarting the app. Both gaps are now closed, so the damage report is completed before any rental starts. Operators relying on these inspections for liability protection can trust the flow is enforced if it’s initiated by the user from the end user app.
All stations now visible on Ops Map and rental route log: Due to a pagination gap, the Ops Map stations layer and the rental route log stations toggle each displayed only the first 50 stations. Operators working with larger station networks had an incomplete map view. Both surfaces now load the full station list regardless of fleet size.
Branch now available as a display column in the Vehicles table: Branch was available as a filter in the Vehicles table but could not be added as a visible column. Operators can now add Branch to the table display, making it straightforward to see which branch each vehicle belongs to without opening individual vehicle records.
Verification queue no longer crashes when the page is refreshed: Opening the identity verification side panel and then refreshing the page, or copying the URL and reopening it, caused the dashboard to crash. Operators reviewing identity documents had to close the browser tab and start over. The panel now loads correctly on refresh and direct navigation.
Free-unlock vouchers now apply only to the unlock fee: Free-unlock vouchers were missing the cost-source configuration that scopes them to the unlock fee, so they were being applied to the full rental cost instead. Both the backend voucher creation and the Dashboard voucher configuration now correctly set the cost source, ensuring free-unlock vouchers behave as intended.
Promotion voucher times now shown and saved in local timezone: The start and end times on promotion vouchers were stored and displayed in server time rather than the business unit's local timezone. Times are now entered, stored, and displayed in the branch's local timezone.
Ending-timeslot pricing strategy now supported in Pricing Bundles: On-demand operators can now configure an ending-timeslot pricing strategy directly within Pricing Bundles, including how the ending timeslot rate and any additions are presented on the pricing options screen. This is cannot currently be configured in the UI as that work is still in progress.
Battery level now shown for Acton vehicles
Acton vehicles now send their battery level to the platform. It appears on the Operations Map, in the vehicle list and in the vehicle list export, the same as for all other supported vehicle types.
More reliable delivery of periodic vehicle commands:
Periodic commands to connected vehicles are now sent in parallel, and vehicles that are offline are no longer kept in the queue. Runs finish much faster and no longer overlap, which keeps command delivery predictable on large fleets.
Faster station loading
Loading the station list is now noticeably faster, especially for operators with a large number of stations. The improvement comes from how station availability and access are resolved behind the scenes, with no change to which stations each user can see.
Wunder AI now gives more consistent answers: The data-model instructions and reference questions that guide Wunder AI have been reviewed and updated to cover previously ungoverned models and known ambiguous queries. Common questions that previously returned different answers across sessions are now handled consistently.
Analytics data is now continuously validated for correctness: Reconciliation tests and structural data-quality checks have been committed to the analytics build pipeline, running automatically on every build. Errors in aggregation logic or grain definitions are now caught before they reach analytical tools reports, reducing the risk of confidently-wrong numbers appearing in Wunder AI and dashboards.

Promotions now support both a hard end date and a per-user validity window simultaneously: Operators can configure a campaign that closes on a fixed date while also giving each rider a personal redemption window that starts at the moment they use the code. Whichever deadline arrives first applies, giving operators precise control over campaign budgets.
Requires the latest app version. Contact your Customer Success Manager for details.
Improvements to new Vehicle Card: The vehicle sheet has been reworked in several places. The header now uses less whitespace and shows the vehicle price even in the collapsed state, so riders see the cost before starting a rental without extra taps. When range data is available, the battery or fuel level is displayed together with the estimated range, giving riders a clearer picture of how far they can travel before selecting a vehicle. Additionally, starting or reserving a vehicle now sends the rider's actual GPS position instead of the vehicle's location, which corrects distance checks and any supplementary charges based on where the rider was at rental start.

Subscription switch target clearly indicated: The subscriptions screen now marks the plan a rider is switching to with a "Switching" indicator, making it obvious which plan is pending before the current one ends. The target plan is also no longer selectable until the switch is confirmed, preventing accidental double-taps.
"Hour" now shown in German on the extend-booking screen: The hour option on the extend-booking screen was displayed in English while all other time options appeared in German. All extension options are now consistently localized.
Referral rewards now support multiple benefits: Operators can now configure multi-benefit referral voucherables, including free-minutes rewards, directly in the Dashboard. Previously, referral voucherables were limited to legacy single-benefit shapes, blocking operators whose referral programmes are minute-based from rebuilding their offers in the platform.
Event lists label who performed each action
Every event entry now names the actor and what kind of actor it was: Operator for a back-office user, End User for the customer, or System for an action the platform performed on its own. Operator and End User entries carry the person's name and ID. This covers the Events tab on a booking, a rental and a user.

Booking times after a rental starts - end editable, start fixed: Editing a booking whose rental is already under way now behaves consistently. The start time is fixed to the time the rental began, while the end time can still be shortened or extended. The edit screen states that only the end time can be changed.
Email files accepted in the customer Files section: The customer Files upload dialog now accepts MSG and EML email files alongside the existing PDF, PNG, JPG, and JPEG formats, restoring the ability to archive email correspondence directly against a customer record.

Free-minutes vouchers shown correctly in user and business account panels: Vouchers that grant free minutes were previously displayed as "Value" vouchers in the User Vouchers side panel and the Business Account Vouchers section. They now correctly show as "Free Minutes: X/Y" so operators can distinguish them at a glance without opening each record.
Custom expiry date when assigning a customer-care voucher from the verification panel: Operators assigning a customer-care voucher from the verification panel can now set a custom expiry date on the voucher, ensuring time-limited benefits (such as concession offers) expire when intended rather than using a system default.
Promotions now support both a fixed end date and a per-user validity window: Operators can set a hard campaign close date alongside a per-user redemption window that starts at the moment a rider uses the code. Whichever expires first applies. This removes the need to choose one constraint.
Hardened sign-in security: We strengthened our sign-in flow with multiple protections against credential stuffing and other automated attacks on rider accounts.
Vehicle label preserved when leaving one of multiple overlapping areas: A vehicle inside two areas that both grant the same label was incorrectly losing that label when it left either area, even though the other area still applied it. The vehicle now retains the label until it has left all areas that grant it.
Rate selector now works with pricing bundles: Operators can configure multiple rates per vehicle within a pricing bundle, and riders or client integrations can select one before starting an on-demand rental. This unblocks operators whose pricing strategy depends on rider-selectable rates rather than a single fixed rate from migrating completely to the New Dashboard.
Branch names added to rental revenue breakdowns: The rental revenue satellite tables now include human-readable branch names alongside the numeric branch IDs. Revenue breakdowns by branch now show city or branch names rather than raw numeric identifiers.
"Rentals per vehicle per day" metric corrected: The Wunder AI assistant was returning exaggerated figures because it was drawing from a monthly fleet revenue model rather than the correct daily metric. The governed measure is now used consistently.
Conversational analytics access now respects each user's data permissions: Wunder AI answers are now scoped to the data a user can already access in the Dashboard. A service agent can no longer query company-wide revenue figures that their role does not permit in the standard reporting views.
Branch selector dropdown rendering fixed on analytics pages: The branch selector on the Fleet Health Overview analytics page was cutting off option text and overlapping the KPI tiles beneath it. The dropdown now renders clearly and operators can switch branches without display issues.
Damage severity can now be set in the Service App, and missing severity shows a clear error: Field operators were unable to set a damage severity in the Service App before approving a damage report. Tapping "Approve damage" would fail silently with no feedback. Severity can now be set directly in the app, and if it is still missing when approval is attempted, a clear error message is shown instead of a silent failure.
Business Area now visible for admin users in the Service App: Admin-permission users were unable to see the Business Area in the Service App despite having full visibility in the Operations Map. Visibility now matches across both tools for users with admin-level permissions.

Requires the latest app version. Contact your Customer Success Manager for details.
Refined vehicle modal UI: The vehicle modal UI has been updated with a clearer information layout, including vehicle features, insurance selection, and many more functional and user experience improvements – helping riders make faster, better-informed decisions at the vehicle. This feature is currently in beta preview and is not enabled by default. For early access please get in touch with us.
The mobile booking flow has been fully redesigned: fewer clicks, a more intuitive layout, and a smoother, faster path to a confirmed booking. Behind the scenes, the flow now respects every condition an operator can set on a station, including station capacity, overbooking, and booking requests, so end users always see the most accurate availability. And when what they want is not available, the flow offers clear alternatives to keep them moving toward a booking rather than a dead stop. The goal is straightforward: more of the users who start creating a booking actually complete one, which means more bookings and better fleet utilization with no additional operational effort.
Stronger support for A-to-B bookings: A-to-B journeys, where an end user picks up at one station and drops off at another, are now much better supported. The flow accounts for how vehicles move across your fleet, so the drop-off stations and times it offers reflect the real capacity and overbooking limits at the destination station. The result is more accurate A-to-B availability and fewer offers that cannot actually be fulfilled.
Alternatives when your chosen details have no availability: When the selected station or time slot has nothing free, the app suggests nearby stations and alternative time slots, so end users are guided to a completed booking instead of hitting a dead end. This is the core lever for increasing completed bookings.
Requested bookings only when they are genuinely needed. Previously the option to request a booking was shown even when the chosen time was actually available, nudging users to request when they could simply have booked. Now a request is offered only once the system confirms the user's selection is truly unavailable, so end users book directly whenever they can, and still request their original choice when they cannot. This works alongside the alternatives above.
![]() | ![]() |
Station capacity enforcement. When enabled, the flow stops end users from booking a station past its configured maximum, and capacity-limited stations are held back from the suggested alternatives.

Overbooking support. For operators who allow overbooking, the flow can accept bookings beyond the vehicles physically present at a station, up to the allowance you configure. Two modes are supported: a guaranteed minimum capacity (a floor), or extra slots added on top of the physical inventory (a boost). The operational lead time you set gives your team the buffer to reposition a vehicle in time, so bookings that would start too soon to reposition are not offered.
A clearer booking summary before confirmation. The redesigned summary screen gives end users a clear overview before they confirm, including pricing details and booking conditions. Operators can also switch on an optional information section to surface their own short messages, for example to make clear that charging is included in the price, so end users see the details that matter at the moment of confirmation. This section is a setting operators choose to enable.
Editing and extending existing bookings. End users can edit an upcoming booking or extend an upcoming or active ride directly from their bookings. Editing supports changing the times, vehicle category, and return station; extending adjusts the end time. Note that the alternatives feature applies to creating a new booking only: if a chosen station or time has no availability while editing or extending, the app shows an unavailable message rather than suggesting alternatives.
More reliable station map: Stations now render dependably across all zoom levels on the app map, so riders no longer see stations disappear as they zoom in and out.

Wunder AI gains depth and trustworthiness: Operators using Wunder AI now get answers grounded in the right data definitions, with demand and app-open metrics now reachable for entitled roles, a corrected "new customers" calculation aligned with the governed sign-up cohort, and role-aware capability descriptions that no longer suggest data domains the user cannot access. Feedback can now include optional free-text comments after a thumbs-up or thumbs-down, giving the product team richer signal to keep improving answer quality. Wunder AI responses also continue streaming in the background when the operator navigates to another page, so answers are never lost mid-session.
Requires the latest app version. Contact your Customer Success Manager for details.
Wallet payment-method add no longer loops through verification: Adding a payment method from the Wallet no longer incorrectly triggers the identity verification step. After adding a card, riders remain in the Wallet and see the new card immediately, and the sign-up flow is unaffected.
Station pins render reliably across all zoom levels: On the rider app, all stations within the visible map area now appear consistently regardless of zoom level. Previously, stations visible at one zoom level could disappear at another, causing riders to miss available stations.
Deep-link fallback routes iOS users to the correct App Store storefront: The no-app fallback for a universal link now redirects users to the correct regional App Store rather than the US storefront, ensuring visitors without the app installed reach a valid download page rather than a dead link.
Verification queue pagination no longer closes the side panel: When an operator selects the last user on a page and clicks Next, the side panel now advances to the first user on the following page rather than closing unexpectedly.
Promotion redeem limits configurable by operators: Operators can now set an overall redeem limit and a per-user redeem limit when configuring a promotion. Once a limit is reached, further redemptions are automatically blocked, removing the need to manually deactivate campaigns.
Vehicle list export includes GPS coordinates: The vehicle list export from the dashboard now includes latitude and longitude columns for every vehicle, so fleet operations teams can work with location data directly from the export without pulling it separately.

Station compatibility: select-all and deselect-all for compatible stations: When configuring station compatibility, clicking the parent checkbox now selects all compatible stations on the first click and deselects all on the second, matching standard checkbox-group behavior and making bulk configuration faster.
Voucher names appear correctly in the app and on invoices from creation: Newly created promotions, passes, and voucherables now display their configured names immediately in the rider app and on invoices, without requiring an operator to manually publish localization changes afterwards.
Stripe Link payment methods accepted for recurring charges: A payment compatibility issue that caused recurring charges to fail when a customer had stored a Stripe Link payment method has been resolved. Renewals and post-rental charges now process reliably for these payment methods without manual intervention.
Booking request vehicle assignment now persists through confirmation: A vehicle assigned to a booking request during the request flow is now retained when the request is confirmed. Previously the assignment was silently dropped, requiring the operator to reassign the vehicle after confirmation.
Vehicle max speed now readable via the API: The currently set maximum speed for a vehicle is now returned by the vehicle telemetry endpoint, so integrations and tooling can read a vehicle's speed cap directly. Available for OKAI bikes only.
Vehicle GPS coordinates available in export and vehicle list: Latitude and longitude are now included in the vehicle list export and in the API response for vehicle lists, giving integration partners and ops tooling direct access to position data without secondary lookups.
Vehicle max speed exposed via the telemetry API: The currently configured maximum speed for a vehicle is now available through the API. Supported for OKAI bikes only.
Curated example prompts guide operators into Wunder AI: Operators opening Wunder AI now see three curated example prompts on an empty chat, giving immediate entry points into the most common questions rather than a blank input box.
Wunder AI feedback now accepts optional comments: After rating an answer with a thumbs-up or thumbs-down, operators can add a short text comment explaining what was helpful or what fell short. The feedback is stored alongside the rating to improve future answer quality.
Wunder AI answers reflect your role's actual data permissions: Wunder AI no longer describes capabilities or suggests follow-up questions that fall outside the signed-in user's data permissions. Roles with access to demand data can now retrieve app-open figures, and the "new customers" metric now returns the correct sign-up cohort figure rather than a proxy count.
Wunder AI answers continue streaming when you navigate away: An answer that is still generating no longer stops when the operator opens another page in the dashboard. The stream continues in the background, and the completed answer is available when the operator returns to the chat.
Service app login no longer blocked by a false permissions error: Field team members whose role includes the required task permission now log into the service app successfully. Previously, a mismatch between the permission check and the role configuration caused a permissions error on login, blocking daily fleet maintenance tasks.

Wunder AI - Ask your data a question: Wunder AI is a new way to get answers from your operational and commercial data. Ask in plain language and get a written answer with the chart behind it. No report queue, no SQL, no waiting on an analyst. It is not only for single figures. Begin with a suggested question such as Gross revenue trend, last 6 months, then keep going from the answer: narrow it to one branch, split it by month, compare it with last year, without starting over. We are enabling Wunder AI gradually across operators over the coming weeks. You will find it in your Dashboard navigation once it is active for your account, and your Customer Success Manager will be in touch around the same time.

A vehicle card that turns a glance into a go: The moment a rider taps a vehicle is the moment they decide whether to ride, and that screen just got a rider-first makeover. The new vehicle card leads with what actually matters, the vehicle's features and its live remaining range, and it promotes the actions riders reach for most, parking and damage reporting, so nothing important sits buried a tap away. The result is a cleaner, more confident hand-off into the trip: less squinting and second-guessing, more riding. It arrives with the next mobile app version, and you can switch it on for a slice of your riders first, trying it in the wild before you roll it out to everyone.
Operator-assigned subscriptions in the Dashboard: Customer support agents can now assign a subscription directly to a user from the Dashboard, removing the need for workarounds in programmes such as cycle-to-work schemes or cases where a user cannot self-serve. (BUS-650)
Requires the latest app version. Contact your Customer Success Manager for details.
Balance card shows correct minute balance when adding funds: On the funds and packages screen, the balance card now displays both the euro balance and the available minute balance. Previously only the euro value appeared, leaving riders uncertain about how many minutes they had remaining. (BUS-2892)
Refined vehicle modal UI: The vehicle modal UI has been updated with clearer information layout, including vehicle features, range display, and more prominent park and damage-report actions, helping riders make faster, better-informed decisions at the vehicle. This update becomes available with the next mobile app version, and it has a capability of being rolled out to parts of your user group for initial testing.
Search bar and logo aligned consistently across iOS and Android: The map search bar and logo positioning on Android has been brought in line with iOS, so the experience feels consistent regardless of device.
Display filter on the Localization settings page fully visible: The filter panel on the Settings > Localization page was partially hidden behind other UI elements, making it inaccessible. It now opens fully. (BUS-2666)
Record count shown at the bottom of every table: Every table in the Dashboard now shows the total number of records matching the current filters. This removes the need to export data to a spreadsheet just to count rows.

Vehicle activity log: custom date-time filter now returns the right results Filtering vehicle activities by a custom date-time range was returning wrong or empty results. It now shows exactly the activities in the range you select.
Verification queue loads quickly with pagination: The verification queue was loading over a thousand pending items at once, making the page slow and difficult to work with. Pagination has been added so the queue loads in manageable pages. (BUS-2935)
Identity document images from all verification providers now display correctly: Images returned from one of the two identity verification providers were not appearing in the verification side panel at all, even though the images were being returned by the provider. Both providers now display the full image carousel correctly. (BUS-2934)
Operator-assigned subscriptions: Customer support agents can now assign a subscription to a user directly from the Dashboard, enabling programmes like cycle-to-work and covering cases where a user cannot purchase a subscription themselves. (BUS-650)
Custom expiry dates on customer care vouchers: Operators can now set an explicit expiry date on a customer care voucher instead of relying on the fixed system default. This is especially useful when the voucher is tied to a supporting document that has its own expiry date, avoiding situations where the voucher either outlives the document or has to be revoked manually. (BUS-2765)
Station image uploads no longer produce duplicates: When uploading multiple images to a station, some later uploads were appearing as duplicates of a previously uploaded image. Images now upload and display as expected.
Wunder AI now accessible to customer support and fleet manager roles: Customer support agents and fleet managers can now open Wunder AI in the Dashboard. These roles hold most of the required data permissions but were previously blocked from entering the assistant. This change grants access for the launch phase, with a dedicated permission gate to follow. (DATA-763)
Wunder AI free trial disclaimer and navigation entry: Wunder AI now has a dedicated entry point in the Dashboard navigation so operators no longer need a direct link from their Customer Success Manager to find it. A banner inside the assistant explains that it is in a free trial phase and that a daily usage limit will apply once the trial ends. (DATA-746)
Per-customer Wunder AI feature toggle: Wunder AI is now controlled by a per-tenant toggle, allowing the feature to be enabled for specific operators as part of a phased rollout. Operators not yet in the rollout are unaffected. (DATA-632)
Email confirmation sent when a user's email address is changed: When an operator or support agent changes a user's email address, the new address now receives a dedicated confirmation email asking the user to verify the change. Previously the new address received the full signup welcome email, which led users to believe their account had been reset and prompted unnecessary support contacts. (BUS-2615)
Phone verification no longer returns a server error for users with no pending code: Submitting a phone verification code when no verification request was pending returned a generic server error (HTTP 500) instead of a clear, translatable message. The error is now handled correctly. (STA-171)
Voucher list endpoint no longer crashes on incomplete voucher records: A rare edge case where a voucher record had incomplete data caused the voucher list endpoint to fail with an unhandled error. This has been resolved, and the endpoint responds correctly in all cases. (STA-163)
Historical rides display correct durations and are fully reconciled: Riders were seeing very large negative duration values on past rides in the app. This issue has been resolved: durations are now calculated correctly and consistent between the app and the dashboard.
Subscription data carried across during user migration: When a user is migrated as part of a phased cohort, their active subscription is now created on the destination platform automatically. Previously subscriptions had no import path, requiring manual intervention for migrated users who held an active subscription. (BUS-2867)
Migration tag prefixes corrected for users and vehicles: User tags now use the us: prefix (for example us:london) and vehicle tags use the vh: prefix, correcting a mismatch with the configuration already in use by the operator. This is a follow-up to the initial tag structure implementation. (BUS-2910)
Rider migration status now visible in the back office and operator API: V2 now exposes a migratedAt field on both the front and back API endpoints, allowing the back office and any connected systems to confirm whether a rider has been migrated and when V2 took authority. (BUS-2929)
Fewer false failures on vehicle lock, unlock and pause commands: Two fixes remove failures that were reported even when the vehicle was fine. First, commands are no longer rejected as "command already in progress" when the vehicle is actually free, so rental starts and ends no longer stall. Second, on OKAI vehicles, a pause or lock sent while the vehicle is still moving is no longer reported as failed. The vehicle correctly locks once it slows down, and the command now waits for that confirmation before reporting the result.
GBFS station feeds now include physical docking stations: Physical docking stations are now published in the GBFS station information and station status feeds, completing the GBFS station support rollout. Integration partners and mobility data aggregators consuming GBFS feeds will now see docking station availability alongside free-floating vehicle data.

GBFS station feeds for station-based fleets
Station-based operators can now expose their stations to third-party journey planners through two new GBFS feeds: station_information.json (the static station list, with name, location, address, capacity where configured, and a deeplink that opens the operator's app at the selected station) and station_status.json (real-time vehicle availability per station). The existing free_bike_status feed now excludes vehicles standing at a station, so each vehicle is counted once: stationed vehicles show up in the station feeds and free-floating vehicles in free_bike_status, as the GBFS spec requires. Together these make stations discoverable in platforms such as MobiData/BWegt and MENTZ/MVV, with a direct link into the operator's app to book. The feeds are enabled per operator, so contact your CSM to switch them on.
Verification Queue: Operators can now review driver's licence and ID verifications directly in a side panel within the Dashboard, without leaving the queue or opening a separate provider portal. Extracted document data is shown alongside the customer's file with mismatches highlighted, licence images (front, back, selfie) are displayed inline, and operators can add a tag or assign a customer-care voucher to the customer during the same review session.

Vehicle Promotions with Free Minutes: Operators can now configure vehicle-level promotions that grant riders free minutes on a rental, extending the promotions toolkit beyond discounts and rebates. Note that the end-user app doesn’t currently highlight these minute based promotions in the map view.
Requires the latest app version. Contact your Customer Success Manager for details.
Promo code from deeplink now redeems on first open: A promo code passed via a Promotions deeplink was only being redeemed after the app was backgrounded and resumed, causing roughly half of riders to miss the promotion. The code is now applied immediately on first load.
Improved error handling for radars: We improved how the app responds when an active radar no longer exists in the backend.
Vouchers sorted with active and soonest-expiring first: The voucher list in the app now shows active vouchers at the top, with those expiring soonest appearing first. The voucher counter also now reflects only active and available vouchers, giving riders a more accurate overview.
Contact support link on sign-up confirmation page now routes correctly: On one operator's web app, the "Contact support" link shown on the email confirmation screen during sign-up was redirecting riders to an unrelated support page. The link now correctly points to the configured support destination for that operator.
Document Verification Panel for driver's licence and ID review: Operators can now open a single side panel from the verification queue to review pending driver's licence (DLV) and ID (IDV) verifications without leaving the page. The panel shows extracted document data alongside the customer's file, flags field-level mismatches, and displays document images inline. From the same panel, operators can add a tag or assign a customer-care voucher to the customer, for example to grant a concession during review.

Station calendar now shows a bookable-capacity chart: The station calendar's utilisation bar has been replaced with a bookable-capacity line chart. The line reflects available capacity over time, dips below zero (shown in red) when the station is overbooked, and highlights conflicts so operators can spot and resolve scheduling issues at a glance.

Location guidelines button now visible in Firefox: The "Location guidelines" button in the Station Overview sidebar was not rendered in Firefox, affecting call-centre staff who use Firefox as their primary browser. The button now displays correctly across all supported browsers.

Vehicle action feedback in Dashboard now confirms success or failure: When an operator triggers a vehicle action such as Set Max Speed, there was no visual confirmation that the command had been sent or completed. The Dashboard now shows a clear success or error state after submitting a vehicle action.
Vehicle status stays accurate during an active rental
Assigning a vehicle to a booking no longer overwrites the status of a vehicle that is already out on an active rental. Previously goDash could show the wrong status while the vehicle was actually in use.
Booking creation no longer fails when a rental ends before its scheduled start: Creating a new booking would return a server error if a prior rental on the same vehicle was started and ended before its booking's scheduled start time. This edge case is now handled correctly so operators and riders are not blocked from booking.
Bluetooth lock and unlock actions now recorded for INVERS vehicles
Lock and unlock actions triggered over Bluetooth on INVERS vehicles are now recorded in Vehicle Activity. Until now these actions were almost never captured, so a driver could lock or unlock a vehicle over Bluetooth without it showing up in the platform. Operators now get a complete and accurate record of these actions, which helps when reviewing or troubleshooting what happened with a vehicle.
More reliable commands to connected vehicles
Commands sent to INVERS and other connected vehicles could occasionally report an error even when they had actually worked, and in rare cases a command at the end of a rental was not retried, leaving the vehicle stuck. Commands to connected vehicles now complete reliably.
NIU vehicles can now be routed tenant-agnostically via webhook body: JDC previously required a separate webhook URL per NIU tenant environment. NIU webhooks are now routed based on the appId in the request body, enabling all NIU environments to share a single webhook endpoint. This removes a registration blocker with NIU and supports the migration of additional fleet environments onto JDC.
Subscription data included in cohort exports for phased user migration: Users with an active subscription now have their subscription included in the migration export, so their plan is correctly recreated in V2 when their account moves.
Per-user silent mode for migrated users still active on V1: Users loaded into V2 during a phased migration but still live on V1 now operate in silent mode: no billing, no communications, and no background-job side-effects are triggered by V2 until the user is explicitly activated. This prevents duplicate charges and unintended communications during the dual-run migration window.
Customer API now returns three additional fields: The GET /customers endpoint now returns externalReference, gender, and status .
PAID invoices no longer blocked during V1-to-V2 import: 401 PAID invoices were failing to import because V1 exports a null charge count once an invoice reaches PAID status, and the importer rejected the apparent reduction. The importer now handles this correctly so fully settled invoices migrate without error.
GBFS station feeds for station-based fleets
Two new GBFS feeds let station-based operators expose their stations to third-party journey planners: station_information.json (static station list with name, location, address, capacity, and a deeplink into the operator's app) and station_status.json (real-time availability per station). The existing free_bike_status feed now excludes stationed vehicles, per the GBFS spec. Stations become discoverable in journey planners like MobiData/BWegt and MENTZ/MVV, with a link through to the operator's app to book. Enabled per operator on request.
Vehicle Promotions endpoint now accepts a vehicle ID filter: The /front/promotions endpoint now accepts a vehicleId parameter and returns all promotions (including free-minute promotions) active for that vehicle at the time of the request. Integration partners and frontend clients can use this to display vehicle-specific promotions to riders before they start a rental.