{"id":323767,"date":"2026-06-24T18:52:18","date_gmt":"2026-06-24T18:52:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/transportalo-booking-calculator\/"},"modified":"2026-07-08T22:17:40","modified_gmt":"2026-07-08T22:17:40","slug":"transportalo-booking-calculator","status":"publish","type":"plugin","link":"https:\/\/test.wordpress.org\/plugins\/transportalo-booking-calculator\/","author":23513378,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.91","stable_tag":"1.1.91","tested":"7.0.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Transportalo Booking Calculator","header_author":"Marks Media","header_description":"Booking calculator, quote form, tariffs and admin dashboard for transport and courier services.","assets_banners_color":"aaabd6","last_updated":"2026-07-08 22:17:40","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":214,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.52":{"tag":"1.1.52","author":"marksmedia","date":"2026-06-24 18:51:45"},"1.1.54":{"tag":"1.1.54","author":"marksmedia","date":"2026-06-24 19:24:24"},"1.1.55":{"tag":"1.1.55","author":"marksmedia","date":"2026-06-24 21:53:53"},"1.1.57":{"tag":"1.1.57","author":"marksmedia","date":"2026-07-07 19:09:20"},"1.1.58":{"tag":"1.1.58","author":"marksmedia","date":"2026-07-07 19:47:40"},"1.1.63":{"tag":"1.1.63","author":"marksmedia","date":"2026-07-07 21:28:17"},"1.1.64":{"tag":"1.1.64","author":"marksmedia","date":"2026-07-07 22:38:26"},"1.1.65":{"tag":"1.1.65","author":"marksmedia","date":"2026-07-07 22:56:23"},"1.1.89":{"tag":"1.1.89","author":"marksmedia","date":"2026-07-08 20:40:44"},"1.1.91":{"tag":"1.1.91","author":"marksmedia","date":"2026-07-08 22:17:40"}},"upgrade_notice":{"1.1.54":"<p>Saved default texts are re-localized when they still match original plugin defaults.<\/p>","1.1.53":"<p>Improves localization consistency and readme formatting.<\/p>","1.1.32":"<p>WordPress.org review update with unique internal prefixes for plugin declarations and stored data.<\/p>","1.1.28":"<p>Maintenance update for WordPress.org Plugin Check compatibility.<\/p>","1.1.27":"<ul>\n<li>Improved WordPress.org Plugin Check compatibility for escaping, internationalization and readme headers.<\/li>\n<\/ul>","1.1.26":"<p>WordPress.org preparation update with expanded documentation, external service disclosure and suggested privacy policy content.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3585438,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3585438,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3585438,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3585438,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.52","1.1.54","1.1.55","1.1.57","1.1.58","1.1.63","1.1.64","1.1.65","1.1.89","1.1.91"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3585438,"resolution":"1","location":"assets","locale":"","width":1008,"height":567},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3585438,"resolution":"2","location":"assets","locale":"","width":1579,"height":1700},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3599511,"resolution":"3","location":"assets","locale":"","width":992,"height":1320},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3585438,"resolution":"4","location":"assets","locale":"","width":1579,"height":1657},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3585438,"resolution":"5","location":"assets","locale":"","width":1579,"height":1716},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3585438,"resolution":"6","location":"assets","locale":"","width":1579,"height":3252},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3585438,"resolution":"7","location":"assets","locale":"","width":1579,"height":1547},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3585438,"resolution":"8","location":"assets","locale":"","width":1579,"height":3926}},"screenshots":{"1":"Frontend Step 1 price inquiry form with pickup, destination and vehicle selection.","2":"Frontend Step 2 booking form with customer details and cost summary.","3":"Frontend Step 2 mobile layout with booking form and cost summary.","4":"Admin vehicle and tariff settings.","5":"Admin transport content settings.","6":"Admin additional options settings.","7":"Admin design settings for colors, font sizes, layout and dark mode.","8":"Admin general settings, time and holiday settings, company data and text settings."}},"plugin_section":[],"plugin_tags":[269,716,5567,24151,15372],"plugin_category":[40,59],"plugin_contributors":[268775],"plugin_business_model":[],"class_list":["post-323767","plugin","type-plugin","status-publish","hentry","plugin_tags-booking","plugin_tags-calculator","plugin_tags-courier","plugin_tags-logistics","plugin_tags-transport","plugin_category-calendar-and-events","plugin_category-utilities-and-tools","plugin_contributors-marksmedia","plugin_committers-marksmedia"],"banners":{"banner":"https:\/\/ps.w.org\/transportalo-booking-calculator\/assets\/banner-772x250.png?rev=3585438","banner_2x":"https:\/\/ps.w.org\/transportalo-booking-calculator\/assets\/banner-1544x500.png?rev=3585438","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/transportalo-booking-calculator\/assets\/icon-128x128.png?rev=3585438","icon_2x":"https:\/\/ps.w.org\/transportalo-booking-calculator\/assets\/icon-256x256.png?rev=3585438","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/transportalo-booking-calculator\/assets\/screenshot-1.png?rev=3585438","caption":"Frontend Step 1 price inquiry form with pickup, destination and vehicle selection."},{"src":"https:\/\/ps.w.org\/transportalo-booking-calculator\/assets\/screenshot-2.png?rev=3585438","caption":"Frontend Step 2 booking form with customer details and cost summary."},{"src":"https:\/\/ps.w.org\/transportalo-booking-calculator\/assets\/screenshot-3.png?rev=3599511","caption":"Frontend Step 2 mobile layout with booking form and cost summary."},{"src":"https:\/\/ps.w.org\/transportalo-booking-calculator\/assets\/screenshot-4.png?rev=3585438","caption":"Admin vehicle and tariff settings."},{"src":"https:\/\/ps.w.org\/transportalo-booking-calculator\/assets\/screenshot-5.png?rev=3585438","caption":"Admin transport content settings."},{"src":"https:\/\/ps.w.org\/transportalo-booking-calculator\/assets\/screenshot-6.png?rev=3585438","caption":"Admin additional options settings."},{"src":"https:\/\/ps.w.org\/transportalo-booking-calculator\/assets\/screenshot-7.png?rev=3585438","caption":"Admin design settings for colors, font sizes, layout and dark mode."},{"src":"https:\/\/ps.w.org\/transportalo-booking-calculator\/assets\/screenshot-8.png?rev=3585438","caption":"Admin general settings, time and holiday settings, company data and text settings."}],"raw_content":"<!--section=description-->\n<p>Transportalo Booking Calculator is a configurable booking and quote request plugin for transport companies, courier services and local delivery providers.<\/p>\n\n<p>The plugin provides frontend forms for transport requests, an admin booking overview, vehicle and tariff settings, configurable company details, legal links, email texts and design options. It can be used in two calculation modes:<\/p>\n\n<ul>\n<li>Price inquiry mode: visitors request an individual offer. No Google Routes API route calculation is required.<\/li>\n<li>Booking request mode: visitors submit a booking request with live route-based price calculation using Google Maps Platform services.<\/li>\n<\/ul>\n\n<p>The plugin is neutral and can be configured with your own company name, sender details, legal URLs, email texts, vehicle groups, transport contents and additional options.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>Transport request form for pickup and destination data.<\/li>\n<li>Optional intermediate stops.<\/li>\n<li>Vehicle groups with configurable tariffs and minimum prices.<\/li>\n<li>Transport contents and additional options.<\/li>\n<li>Optional live route calculation with Google Routes API.<\/li>\n<li>Optional Google Places address autocomplete.<\/li>\n<li>Quote request mode without required Google API usage.<\/li>\n<li>Admin booking overview with customer, route and request details.<\/li>\n<li>Customer and administrator email notifications.<\/li>\n<li>Configurable sender data, legal links and confirmation texts.<\/li>\n<li>Configurable frontend design settings.<\/li>\n<li>Translation-ready text domain: transportalo-booking-calculator.<\/li>\n<\/ul>\n\n<h3>Shortcodes<\/h3>\n\n<p>Use these shortcodes on your pages:<\/p>\n\n<p>[transportalo_step1]<\/p>\n\n<p>[transportalo_booking_form]<\/p>\n\n<h3>Configuration<\/h3>\n\n<p>After activation, open the Transportalo settings in the WordPress admin area.<\/p>\n\n<p>The most important settings are:<\/p>\n\n<ul>\n<li>Calculation mode: choose between price inquiry mode and booking request mode with live price calculation.<\/li>\n<li>Google Maps API key: required only when live price calculation or Google address autocomplete is used.<\/li>\n<li>Company data and legal links: used in frontend checkboxes, emails and footer areas.<\/li>\n<li>Confirmation texts: separate success messages for price inquiries and booking requests.<\/li>\n<li>Vehicles and tariffs: configure vehicle names, minimum prices, kilometer prices and additional fees.<\/li>\n<li>Transport contents and options: configure which options are available for selected vehicle and content combinations.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin can use Google Maps Platform services when the site administrator enables live price calculation and enters a Google Maps API key.<\/p>\n\n<p>When enabled, the plugin can load the Google Maps JavaScript API with Places Autocomplete from Google servers. This is used to assist visitors while entering addresses.<\/p>\n\n<p>When live route calculation is used, the plugin can send route data such as pickup address, destination address and intermediate stop addresses to Google Routes API in order to calculate route distance and route-based prices.<\/p>\n\n<p>If the plugin is used in price inquiry mode without API requirement, Google Routes API route calculation is not required. Depending on the configured settings and whether an API key is present, Google address autocomplete may also be disabled by not entering an API key.<\/p>\n\n<p>Google Maps Platform Terms of Service: https:\/\/cloud.google.com\/maps-platform\/terms\nGoogle Privacy Policy: https:\/\/policies.google.com\/privacy\nGoogle Maps Platform Documentation: https:\/\/developers.google.com\/maps<\/p>\n\n<p>Site owners are responsible for configuring their own Google Maps Platform API key, billing settings and API restrictions in their Google account.<\/p>\n\n<h3>Privacy<\/h3>\n\n<p>Transportalo Booking Calculator can process personal data submitted through the transport request form. Depending on the configuration and request, this may include:<\/p>\n\n<ul>\n<li>Customer name, company name, address, phone number and email address.<\/li>\n<li>Pickup and destination contact data.<\/li>\n<li>Pickup address, destination address and intermediate stop addresses.<\/li>\n<li>Transport content, selected additional options and remarks.<\/li>\n<li>Request date, pickup date and pickup time.<\/li>\n<li>User agent information and a hashed IP address.<\/li>\n<\/ul>\n\n<p>The plugin stores submitted booking and quote request data in the local WordPress database. The plugin also sends request details by email to the configured administrator and customer email addresses.<\/p>\n\n<p>If live price calculation is enabled, route-related address data may be sent to Google Maps Platform services for address autocomplete and route calculation. See the External services section for details.<\/p>\n\n<p>The plugin adds suggested privacy policy text to the WordPress privacy policy guide in the admin area.<\/p>\n\n<p>Site owners are responsible for informing visitors about their own data processing, retention periods, legal basis and any connected third-party services.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/transportalo-booking-calculator\/<\/code> directory or install the plugin ZIP through the WordPress admin area.<\/li>\n<li>Activate the plugin through the Plugins screen in WordPress.<\/li>\n<li>Open the Transportalo menu in the WordPress admin area.<\/li>\n<li>Configure company data, legal links, email sender data and confirmation texts.<\/li>\n<li>Configure vehicles, tariffs, transport contents and additional options.<\/li>\n<li>Choose the calculation mode in the plugin settings.<\/li>\n<li>Add the shortcodes to the desired WordPress pages.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20the%20plugin%20require%20google%20maps%20or%20google%20routes%20api%3F\"><h3>Does the plugin require Google Maps or Google Routes API?<\/h3><\/dt>\n<dd><p>No. The plugin includes a price inquiry mode that can be used without Google Routes API route calculation. A Google Maps API key is only needed for live price calculation and address autocomplete features.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20price%20inquiry%20and%20booking%20request%20mode%3F\"><h3>What is the difference between price inquiry and booking request mode?<\/h3><\/dt>\n<dd><p>In price inquiry mode, the visitor sends request details so the provider can prepare an individual offer. In booking request mode, the visitor sends a booking request with live route-based price calculation and expects the transport request to be reviewed for confirmation.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20emails%3F\"><h3>Does the plugin send emails?<\/h3><\/dt>\n<dd><p>Yes. The plugin can send email notifications to the configured administrator address and to the customer address submitted in the form.<\/p><\/dd>\n<dt id=\"where%20are%20requests%20stored%3F\"><h3>Where are requests stored?<\/h3><\/dt>\n<dd><p>Requests are stored in custom database tables in the local WordPress installation and are displayed in the Transportalo admin area.<\/p><\/dd>\n<dt id=\"can%20i%20delete%20plugin%20data%20on%20uninstall%3F\"><h3>Can I delete plugin data on uninstall?<\/h3><\/dt>\n<dd><p>The plugin includes an uninstall option. Site owners should check the plugin settings before uninstalling and decide whether stored request data should be removed.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.91<\/h4>\n\n<ul>\n<li>Completed bundled translations for all included language packs.<\/li>\n<li>Added missing translations for privacy texts, offer labels, Google API help texts and booking request labels.<\/li>\n<\/ul>\n\n<h4>1.1.90<\/h4>\n\n<ul>\n<li>Added a manual route review fallback when Google cannot automatically calculate a route.<\/li>\n<li>Customers can now submit the request even if an entered address cannot be resolved by Google.<\/li>\n<li>Manual route review requests are saved with distance and price set to zero and a note in the request remarks.<\/li>\n<li>Updated bundled translation files for the new fallback messages.<\/li>\n<\/ul>\n\n<h4>1.1.89<\/h4>\n\n<ul>\n<li>Finalized the dashboard chart with a canvas-based renderer.<\/li>\n<li>Added separate chart lines for bookings and abandoned form starts.<\/li>\n<li>Improved chart tooltip display and prevented clipping in the dashboard card.<\/li>\n<li>Removed temporary test data and restored real database-backed dashboard values.<\/li>\n<li>Updated bundled translation files for the new dashboard labels.<\/li>\n<\/ul>\n\n<h4>1.1.84<\/h4>\n\n<ul>\n<li>Added a low-data state for the dashboard request chart when there are not enough request days for a meaningful trend.<\/li>\n<li>Prevented misleading trend spikes when a selected period contains only one active request day.<\/li>\n<\/ul>\n\n<h4>1.1.83<\/h4>\n\n<ul>\n<li>Simplified the dashboard request chart into a clean professional line chart.<\/li>\n<li>Removed oversized week\/month group pills and improved axis label behavior for all periods.<\/li>\n<\/ul>\n\n<h4>1.1.82<\/h4>\n\n<ul>\n<li>Rebuilt the dashboard request chart as a clean daily trend chart with y-axis labels, grid lines and professional group bands.<\/li>\n<li>Removed the previous mixed bar\/line layout and improved x-axis readability for all dashboard periods.<\/li>\n<\/ul>\n\n<h4>1.1.81<\/h4>\n\n<ul>\n<li>Rebuilt the dashboard trend chart from the ground up as a clean daily line chart.<\/li>\n<li>Added readable week\/month group bands and cleaner axis labeling for 7, 30, 90 and 365 day periods.<\/li>\n<\/ul>\n\n<h4>1.1.80<\/h4>\n\n<ul>\n<li>Refined the dashboard trend chart styling with a thinner trend line and subtle background bars.<\/li>\n<li>Added an explicit x-axis explanation for daily, weekly and monthly dashboard chart views.<\/li>\n<\/ul>\n\n<h4>1.1.79<\/h4>\n\n<ul>\n<li>Improved dashboard trend chart labels for 365-day periods.<\/li>\n<li>Replaced long month labels with compact month\/year groups and hid compressed week labels in yearly view.<\/li>\n<\/ul>\n\n<h4>1.1.78<\/h4>\n\n<ul>\n<li>Reworked the dashboard request chart to show a trend line instead of thick aggregated bars.<\/li>\n<li>Kept day\/week trend points while grouping the chart background by week or month for readability.<\/li>\n<\/ul>\n\n<h4>1.1.77<\/h4>\n\n<ul>\n<li>Renamed the dashboard vehicle group box to booked vehicles.<\/li>\n<li>Made the frontend toll note display conditional on a configured toll rate greater than zero.<\/li>\n<\/ul>\n\n<h4>1.1.76<\/h4>\n\n<ul>\n<li>Improved the dashboard request chart with grouped background labels for weeks and months.<\/li>\n<li>Shortened daily chart labels to day numbers for 30-day periods.<\/li>\n<li>Added localized week labels for chart groups.<\/li>\n<\/ul>\n\n<h4>1.1.75<\/h4>\n\n<ul>\n<li>Improved the dashboard request chart by automatically grouping 90-day periods by week and 365-day periods by month.<\/li>\n<li>Added localized chart grouping labels and runtime fallbacks.<\/li>\n<\/ul>\n\n<h4>1.1.74<\/h4>\n\n<ul>\n<li>Fixed a dashboard fatal error caused by a missing vehicle statistics helper method.<\/li>\n<\/ul>\n\n<h4>1.1.73<\/h4>\n\n<ul>\n<li>Fixed dashboard chart width for long periods such as 365 days.<\/li>\n<li>Dashboard vehicle group statistics now include all configured vehicle groups, even with zero bookings.<\/li>\n<\/ul>\n\n<h4>1.1.72<\/h4>\n\n<ul>\n<li>Added German runtime fallbacks for all dashboard labels so the dashboard is localized even before WordPress.org language packs update.<\/li>\n<\/ul>\n\n<h4>1.1.71<\/h4>\n\n<ul>\n<li>Renamed the Statistics admin menu item to Dashboard.<\/li>\n<li>Reworked the dashboard with KPI cards, request charts, latest bookings, vehicle distribution, transport contents and device usage.<\/li>\n<li>Added German fallbacks and bundled translation updates for new admin and currency option strings.<\/li>\n<\/ul>\n\n<h4>1.1.70<\/h4>\n\n<ul>\n<li>Added currency position options for amounts before or after the number with or without spacing.<\/li>\n<li>Applied the new currency spacing options in frontend, admin and email price formatting.<\/li>\n<\/ul>\n\n<h4>1.1.69<\/h4>\n\n<ul>\n<li>Fixed email price formatting so rounded prices keep two decimal places and use the configured decimal and thousands separators.<\/li>\n<\/ul>\n\n<h4>1.1.68<\/h4>\n\n<ul>\n<li>Removed the Step 1 price hint below the estimated price.<\/li>\n<\/ul>\n\n<h4>1.1.67<\/h4>\n\n<ul>\n<li>Reduced the mobile outer spacing for Step 1 and Step 2 to 10px.<\/li>\n<\/ul>\n\n<h4>1.1.66<\/h4>\n\n<ul>\n<li>Fixed the distance unit setting label and options in the admin settings when plugin language files are not loaded yet.<\/li>\n<\/ul>\n\n<h4>1.1.65<\/h4>\n\n<ul>\n<li>Added localized JavaScript fallbacks for newly added frontend strings.<\/li>\n<li>Added PHP locale fallbacks for route distance, phone number and distance unit strings.<\/li>\n<li>Updated bundled translation files for frontend and admin strings.<\/li>\n<\/ul>\n\n<h4>1.1.64<\/h4>\n\n<ul>\n<li>Added a Step 2 route map toggle in the form display settings.<\/li>\n<li>Disabled the route map toggle when price inquiry mode is selected.<\/li>\n<li>Changed rounded frontend prices to keep two decimal places.<\/li>\n<li>Shortened the calculated route distance text.<\/li>\n<li>Updated bundled translations for newly added admin and frontend strings.<\/li>\n<\/ul>\n\n<h4>1.1.63<\/h4>\n\n<ul>\n<li>Added a locale fallback for the calculated route distance text in frontend JavaScript data.<\/li>\n<li>Matched the Step 2 sidebar price color with the Step 1 estimated price color.<\/li>\n<\/ul>\n\n<h4>1.1.62<\/h4>\n\n<ul>\n<li>Repositioned the Step 1 calculated route distance text below the estimated price.<\/li>\n<li>Added the calculated route distance note in the Step 2 sidebar.<\/li>\n<li>Added an optional 300px Google route map in Step 2 when live route calculation is available.<\/li>\n<\/ul>\n\n<h4>1.1.61<\/h4>\n\n<ul>\n<li>Completed distance unit translations for kilometer and mile tariff labels.<\/li>\n<li>Removed the internal WordPress options table notice from the admin screen.<\/li>\n<li>Added route distance information above the Step 1 subtitle.<\/li>\n<\/ul>\n\n<h4>1.1.60<\/h4>\n\n<ul>\n<li>Updated all bundled language files for the distance unit setting and distance-based tariff labels.<\/li>\n<\/ul>\n\n<h4>1.1.59<\/h4>\n\n<ul>\n<li>Added the distance unit setting with kilometer and mile support.<\/li>\n<li>Added kilometer\/mile handling for frontend distance display, email summaries and admin booking details.<\/li>\n<li>Added dynamic kilometer\/mile labels for distance price fields and toll fields.<\/li>\n<li>Converted Google route distances from meters into the selected distance unit without converting configured prices.<\/li>\n<\/ul>\n\n<h4>1.1.58<\/h4>\n\n<ul>\n<li>Adjusted toll fee display logic so the sidebar toll notice only appears when the selected vehicle has a toll rate.<\/li>\n<li>Removed the duplicate toll fee note from the transport vehicle box.<\/li>\n<\/ul>\n\n<h4>1.1.57<\/h4>\n\n<ul>\n<li>Fixed untranslated address placeholders in frontend step 1 and booking form.<\/li>\n<li>Added missing frontend translations for phone-number placeholders and submit\/route error fallbacks.<\/li>\n<li>Updated bundled language files and regenerated MO files.<\/li>\n<\/ul>\n\n<h4>1.1.56<\/h4>\n\n<ul>\n<li>Updated shortcode readme formatting and screenshot descriptions for WordPress.org assets.<\/li>\n<\/ul>\n\n<h4>1.1.54<\/h4>\n\n<ul>\n<li>Relocalize saved default texts when they still match known plugin defaults from another language.<\/li>\n<\/ul>\n\n<h4>1.1.53<\/h4>\n\n<ul>\n<li>Removed hard-coded German JavaScript fallback texts and normalized shortcode readme formatting.<\/li>\n<\/ul>\n\n<h4>1.1.52<\/h4>\n\n<ul>\n<li>Fixed Plugin Check escaping warnings for shortcode configuration attributes and prefixed uninstall cleanup variables.<\/li>\n<\/ul>\n\n<h4>1.1.51<\/h4>\n\n<ul>\n<li>Corrected vehicle info line break rendering for saved literal \\n sequences.<\/li>\n<\/ul>\n\n<h4>1.1.32<\/h4>\n\n<ul>\n<li>Replaced short internal MTB PHP prefixes with unique Transportalo Booking Calculator prefixes for WordPress.org review.<\/li>\n<li>Replaced plugin option, database table, AJAX action, menu slug, script handle and class names with unique prefixed names.<\/li>\n<li>Removed legacy non-prefixed shortcode aliases.<\/li>\n<\/ul>\n\n<h4>1.1.28<\/h4>\n\n<ul>\n<li>Added missing translator comment for the terms and privacy acceptance text.<\/li>\n<\/ul>\n\n<h4>1.1.27<\/h4>\n\n<ul>\n<li>Improved WordPress.org Plugin Check compatibility for escaping, internationalization and readme headers.<\/li>\n<\/ul>\n\n<h4>1.1.26<\/h4>\n\n<ul>\n<li>Expanded WordPress.org readme documentation.<\/li>\n<li>Added external service disclosure for Google Maps Platform services.<\/li>\n<li>Added suggested privacy policy content for WordPress privacy tools.<\/li>\n<li>Updated plugin metadata for WordPress.org preparation.<\/li>\n<\/ul>\n\n<h4>1.1.25<\/h4>\n\n<ul>\n<li>Added separate configurable confirmation texts for price inquiries and booking requests.<\/li>\n<li>Changed the frontend submit button text to a neutral request label.<\/li>\n<li>Updated calculation mode wording in the admin settings.<\/li>\n<\/ul>\n\n<h4>1.1.24<\/h4>\n\n<ul>\n<li>Added spacing below frontend error messages before the submit button.<\/li>\n<li>Changed new booking numbers to a YYMM plus four-digit monthly sequence format.<\/li>\n<li>Added customer Reply-To headers to admin emails.<\/li>\n<li>Shows additional option prices gross in quote request mode and net in live price mode.<\/li>\n<\/ul>\n\n<h4>1.1.23<\/h4>\n\n<ul>\n<li>Made pickup time a required field in the booking form.<\/li>\n<\/ul>\n\n<h4>1.1.22<\/h4>\n\n<ul>\n<li>Made pickup date a required field in the booking form.<\/li>\n<li>Strengthened wording between price inquiry and booking request modes.<\/li>\n<\/ul>\n\n<h4>1.1.21<\/h4>\n\n<ul>\n<li>Improved price inquiry mode display logic.<\/li>\n<li>Removed empty price and distance placeholders where no route calculation is used.<\/li>\n<li>Improved administrator email sending reliability.<\/li>\n<\/ul>\n\n<h4>1.1.8<\/h4>\n\n<ul>\n<li>Fixed frontend booking form fatal error by restoring select and date field helpers.<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Added currency position setting with spacing before or after the amount.<\/li>\n<li>Reorganized general settings into route calculation, prices and currency, legal links and system cards.<\/li>\n<li>Updated money formatting in frontend, admin and emails to respect the currency position setting.<\/li>\n<li>Updated language packs.<\/li>\n<\/ul>\n\n<h4>1.0.65<\/h4>\n\n<ul>\n<li>Options now use raw saved vehicle names from tariffs without translating default labels.<\/li>\n<li>Saving a vehicle name in non-first tabs no longer jumps back to the first tab while typing.<\/li>\n<li>Deleting all vehicles in tariffs can now leave the vehicle list empty instead of restoring defaults.<\/li>\n<\/ul>\n\n<h4>1.0.33<\/h4>\n\n<ul>\n<li>Added quote request mode without API requirement.<\/li>\n<li>Added German translation files.<\/li>\n<li>Google route calculation is now optional.<\/li>\n<\/ul>\n\n<h4>1.0.28<\/h4>\n\n<ul>\n<li>Renamed plugin to Transportalo Booking Calculator.<\/li>\n<li>Updated visible plugin texts to English.<\/li>\n<li>Added Transportalo shortcode aliases.<\/li>\n<li>Kept company texts configurable in the admin area.<\/li>\n<\/ul>\n\n<h4>1.0.27<\/h4>\n\n<ul>\n<li>Neutral plugin version without hard-coded company data.<\/li>\n<li>Company data and texts made configurable in the admin area.<\/li>\n<\/ul>","raw_excerpt":"Create configurable transport quote requests and booking requests with optional Google route-based live price calculation.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/323767","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=323767"}],"author":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/marksmedia"}],"wp:attachment":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=323767"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=323767"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=323767"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=323767"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=323767"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=323767"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}