
Smarter Voucher and Subscription Handling: Several billing-correctness fixes ship this week covering pause-time charging on free-minute vouchers, subscription renewal for force-assigned plans, weekly voucher expiry around time zone boundaries, and rental endings blocked by custom customer care vouchers without a product attached.
Vehicle Error Intelligence for Operations Teams: The Service App now parses the raw binary error codes transmitted by OKAI vehicles into human-readable labels such as "Brake Fault" or "Motor Sensor Failure", enabling automatic repair-ticket categorisation and faster triage by street teams.
Requires the latest app version. Contact your Customer Success Manager for details.
Invoice downloads work again in the rental overview: Riders can once again download invoices directly from the trip history in the app. The persistent loading spinner and error that appeared on downloads have been resolved.
Import a GeoJSON area without drawing one first: When creating a new branch, operators can now import an existing GeoJSON file directly without first drawing a placeholder area on the map. The previous workaround of drawing a random area before importing has been eliminated.

Event log in the customer detail panel loads reliably: The customer events tab in the operator back office no longer times out under migration-era data volumes. The request now returns within a reasonable time instead of hanging until the gateway returns a 504 error.
Ending a rental from the Dashboard no longer returns an internal server error: Operators can now end active rentals from the rental detail panel without receiving a "Creation failed" error. The affected rentals could not be ended from the app either, so riders were also stuck.
Custom voucher value and expiry configurable when adding to a user: Support agents assigning a customer care voucher from the user side panel can now set a custom monetary value or a custom number of free minutes, as well as a specific expiration date.

Vehicle card permissions corrected: Operators whose roles include vehicle card access but not identity document access can now list and create vehicle cards without being blocked. A mismatch between the permission checked by the system and the permission granted by the role had been silently preventing this.
Rental-state repair job no longer resets vehicles in use on another platform: The scheduled task that corrects vehicles stuck in an incorrect parking state now skips vehicles that are reserved or rented on a connected platform. Previously it could set those vehicles back to available, creating state conflicts across platforms.
Free-minute vouchers now cover pause time, not just riding time: Riders with a free-minute balance no longer get charged in cash for the paused portion of a trip. Previously, only the riding segment before the first pause was drawn from the minute balance; any paused time and subsequent riding were billed directly.
Force-assigned subscriptions renew correctly regardless of user tags: Subscriptions assigned by a support agent with an eligibility override now renew as expected. The renewal was re-running the tag eligibility check without the override, causing subscriptions to expire.
Weekly voucher validity no longer expires a week early near midnight: A timezone handling bug in the weekly validity window calculation has been corrected. Riders in non-UTC timezones were losing a week of voucher validity because the day-of-week check was evaluated against UTC rather than the branch's local time.
Back-office event log rejects invalid event types cleanly: Requesting the event log with an unrecognised event type now returns a proper 400 error instead of crashing the request with a 500.
MaaS partners can manage business accounts through dedicated API endpoints: A new set of MaaS group endpoints allows MaaS integration partners to create, update, and manage business accounts programmatically, including switching a business account to invoiced billing. Previously this was only possible through the impersonated user API, which requires acting as the end user rather than the partner.
MaaS business accounts exempt from the active group limit: The cap on how many active groups a user can belong to no longer applies to MaaS-linked business accounts. Because MaaS users are already counted as members of the provider's umbrella account, the limit could block them from joining or creating additional business accounts.
MaaS users can only join business accounts from their own provider: When a MaaS user joins a business account, the system now verifies that the account belongs to users of the same MaaS provider. This prevents cross-provider access and also excludes native tenant business accounts from the joinable set, which is the intended boundary for MaaS integrations.
GBFS station status feed no longer references an undeclared vehicle type: The GBFS validator error caused by stations listing a "default" vehicle type that was absent from the vehicle types catalogue has been resolved. The two feeds now derive their vehicle type lists from the same source.
GBFS system information now publishes app store links correctly: The GBFS system information endpoint now returns the configured iOS and Android store URIs in the rental_apps field. They were previously always returned as empty objects due to a key-naming mismatch between how the setting is stored and how it is read.
GBFS free-bike-status responds faster: A query performance fix reduces the response time of the free-bike-status endpoint.
Booking branch filter and city count now agree on what counts as a booking station: The branch filter used in the booking flow and the cities list endpoint now evaluate "booking station" from the same field. Previously, branches whose operation mode was set correctly but whose legacy type flags had not been updated were counted by the cities endpoint and silently dropped by the branch filter, producing mismatched results.
Revenue answers default to net revenue, excluding VAT: When you ask about revenue without saying gross or net, Wunder AI answers with net rental revenue, after discounts and excluding VAT, so the figure reads lower than a gross answer would. Each answer states which basis it shows, and asking for gross revenue by name still returns gross. Try it: "Show revenue by month for the last 3 months"
Active customers means customers who rented in the period: Ask Wunder AI for active customers or active users and you get the number of distinct customers who completed at least one rental in the period you asked about, with that definition stated in the answer. Sign-ups are a separate figure, and you get it when you ask for sign-ups. Try it: "Show active customers by month for the last 3 months"
Answers tell you when a number needs context: When a figure depends on something you should know, such as a month still in progress, the date range the data covers, or a measure whose definition is not yet final, Wunder AI says so next to the number. A group with no activity is shown as having no data, not as scoring 0%, and revenue answers say which revenue they cover, rental or billed.
Vehicle error codes translated into readable fault labels: The Service App now interprets the binary error codes transmitted by OKAI vehicles and displays them as human-readable labels such as "Brake Fault" or "Motor Sensor Failure". Operations teams no longer see raw hex values and can use these labels to categorise and route repair tickets automatically.