{"id":217,"date":"2025-03-20T07:47:00","date_gmt":"2025-03-20T07:47:00","guid":{"rendered":"https:\/\/documentation.iqonic.design\/handyman\/?p=217"},"modified":"2026-04-28T09:06:33","modified_gmt":"2026-04-28T09:06:33","slug":"recent-updates","status":"publish","type":"post","link":"https:\/\/documentation.iqonic.design\/handyman\/recent-updates\/","title":{"rendered":"Handyman Service App Recent Updates"},"content":{"rendered":"<div class=\"nolwrap\">\n<pre class=\"wp-block-preformatted\">Estimated reading: 2 minutes<\/pre>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\u26a1 Framework Compatibility (Laravel &amp; Flutter SDK)<br>\u27a1\ufe0f Supported PHP: 8.2 <br>\u27a1\ufe0f Supported Flutter SDK: 3.41.x (Stable)<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/service.iqonic.design\/services\/handyman-service-flutter-app-with-laravel-backend\/\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"100\" src=\"https:\/\/documentation.iqonic.design\/handyman\/wp-content\/uploads\/sites\/9\/2025\/03\/installation_banner.png\" alt=\"\" class=\"wp-image-80\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>[v11.17.0]&nbsp;&#8211; 28 Apr 2026<\/strong><\/h2>\n\n\n\n<p><strong>Web <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>New \u2013 Launched Nearby Providers map feature to help users discover providers by location<\/li>\n\n\n\n<li>New \u2013 Introduced automatic free subscription trail enabling during registration with invoice generation support<\/li>\n\n\n\n<li>New \u2013 Introduced subscription details section with comprehensive localization across all supported languages<\/li>\n\n\n\n<li>New \u2013 Added Admin Panel Shortcuts for faster navigation and improved usability during admin operations<\/li>\n\n\n\n<li>New \u2013 Added image zoom functionality for viewing documents and helpdesk query attachments<\/li>\n\n\n\n<li>Update \u2013 Redesigned shop detail page with improved layout, business hours presentation, and language support<\/li>\n\n\n\n<li>Update \u2013 Enhanced promotional banner sections with improved campaign imagery<\/li>\n\n\n\n<li>Update \u2013 Improved subscription lifecycle management including auto free trial, plan upgrade\/downgrade, and proration calculations<\/li>\n\n\n\n<li>Update \u2013 Implemented unified international phone input handler across web forms<\/li>\n\n\n\n<li>Update \u2013 Added shop status support in listing and detail APIs with consistent status handling<\/li>\n\n\n\n<li>Update \u2013 Enhanced booking invoice PDFs with dynamic branding including business name, logo, website URL, and copyright text<\/li>\n\n\n\n<li>Update \u2013 Refactored Google Maps API key retrieval to support settings table configuration with .env fallback<\/li>\n\n\n\n<li>Update \u2013 Added Bootstrap tooltips for labels and improved data table styling for RTL languages<\/li>\n\n\n\n<li>Update \u2013 Improved demo login restrictions to prevent changes to critical settings when demo mode is enabled<\/li>\n\n\n\n<li>Update \u2013 Enhanced notification templates with dynamic support for modules like forgot password and authentication<\/li>\n\n\n\n<li>Fix \u2013 Resolved email verification issues for custom-role users and improved SMTP error handling<\/li>\n\n\n\n<li>Fix \u2013 Resolved issue where booked slots were blocked for all future days, allowing users to rebook the same time slot correctly<\/li>\n\n\n\n<li>Fix \u2013 Fixed undefined provider display name variable on landing page after data deletion<\/li>\n\n\n\n<li>Fix \u2013 Fixed booking status handling to properly recognize rejected and failed states<\/li>\n\n\n\n<li>Fix \u2013 Resolved plan upgrade, downgrade, and cancellation charge calculation inconsistencies<\/li>\n\n\n\n<li>Fix \u2013 Fixed search functionality for services and shops for multilanguage feature<\/li>\n\n\n\n<li>Fix \u2013 Corrected provider detail display errors and visibility issues<\/li>\n\n\n\n<li>Fix \u2013 Resolved comprehensive translation issues across all 7 modules with proper name and key handling<\/li>\n\n\n\n<li>Fix \u2013 Corrected featured service selection and display inconsistencies<\/li>\n\n\n\n<li>Fix \u2013 Fixed cash payment approval status handling in admin panel<\/li>\n\n\n\n<li>Fix \u2013 Resolved zone filter issues on website and improved location-based filtering accuracy<\/li>\n<\/ul>\n\n\n\n<p><strong>Mobile App<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>New &#8211; Added nearby providers search with radius-based filtering and service listing in the user app<\/li>\n\n\n\n<li>New &#8211; Introduced voice search with expanded multi-language support in the user dashboard<\/li>\n\n\n\n<li>New &#8211; Added business hours and shop schedule localization in both user and provider apps<\/li>\n\n\n\n<li>New &#8211; Added shop status selection for providers in the add\/edit shop flow<\/li>\n\n\n\n<li>New &#8211; Implemented document upload improvements with the updated file picker integration<\/li>\n\n\n\n<li>Update &#8211; Added support for Flutter 3.41.x to ensure compatibility with the latest stable framework version<\/li>\n\n\n\n<li>Update &#8211; Enhanced user booking item UI and user data model handling for smoother booking management<\/li>\n\n\n\n<li>Update &#8211; Improved authentication flow and service components with refined provider-side logic<\/li>\n\n\n\n<li>Update &#8211; Improved phone number formatting and validation across user and provider applications<\/li>\n\n\n\n<li>Update &#8211; Enhanced date range picker localization and RTL calendar support<\/li>\n\n\n\n<li>Update &#8211; Improved chat connection handling and unread message updates for better messaging performance<\/li>\n\n\n\n<li>Update &#8211; Improved subscription detail and pricing plan screens with clearer information display<\/li>\n\n\n\n<li>Fix &#8211; Replaced old force update popup logic with native in-app update handling<\/li>\n\n\n\n<li>Fix &#8211; Corrected provider service address validation and error handling<\/li>\n\n\n\n<li>Fix &#8211; Resolved layout and padding issues across provider pricing and subscription screens<\/li>\n\n\n\n<li>Fix &#8211; Improved notification handling for Firebase messaging in the provider app<\/li>\n\n\n\n<li>Fix &#8211; Corrected mobile number validation and permission-based job request visibility in the user app<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>[v11.16.1]&nbsp;&#8211; 22 Jan 202<\/strong>6<\/h2>\n\n\n\n<p><strong>Web <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Update &#8211; Added admin panel control to manage PhonePe SDK compatibility (V1\/V2) in the payment methods<\/li>\n<\/ul>\n\n\n\n<p><strong>Mobile App<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Update &#8211; Implemented PhonePe payment gateway compatibility with the latest V2 SDK<\/li>\n\n\n\n<li>Update &#8211; General performance improvements and bug fixes for a smoother user experience<\/li>\n\n\n\n<li>Fix &#8211; Razorpay payment gateway issue to ensure smoother transactions<\/li>\n\n\n\n<li>Fix &#8211; Resolved Shop Detail page provider not found issue on click<\/li>\n\n\n\n<li>Fix &#8211; Help Desk screen filter issue after processing items from the \u201cAll\u201d tab<\/li>\n\n\n\n<li>Fix &#8211; Updated Booking screen filter UI for better visibility in Dark Mode<\/li>\n\n\n\n<li>Fix &#8211; Improved chat screen loading for a smoother experience<\/li>\n<\/ul>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Estimated reading: 2 minutes \u26a1 Framework Compatibility (Laravel &amp; Flutter SDK)\u27a1\ufe0f Supported PHP: 8.2 \u27a1\ufe0f Supported Flutter SDK: 3.41.x (Stable) [v11.17.0]&nbsp;&#8211; 28 Apr 2026 Web Mobile App [v11.16.1]&nbsp;&#8211; 22 Jan 2026 Web Mobile App<\/p>\n","protected":false},"author":11,"featured_media":0,"parent":215,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-217","post","type-post","status-publish","format-standard","hentry","category-handyman-services"],"featured_image_src":null,"author_info":{"display_name":"laraveladminiq","author_link":"https:\/\/documentation.iqonic.design\/handyman\/author\/laraveladminiq\/"},"children":[],"_links":{"self":[{"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/posts\/217","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/comments?post=217"}],"version-history":[{"count":38,"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/posts\/217\/revisions"}],"predecessor-version":[{"id":2179,"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/posts\/217\/revisions\/2179"}],"up":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/posts\/215"}],"wp:attachment":[{"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/media?parent=217"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/categories?post=217"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/handyman\/wp-json\/wp\/v2\/tags?post=217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}