{"id":397226,"date":"2026-11-13T17:20:52","date_gmt":"2026-11-13T17:20:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/tourivo\/"},"modified":"2026-11-13T17:20:24","modified_gmt":"2026-11-13T17:20:24","slug":"the-readscope-tour-and-accommodation-booking","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/the-readscope-tour-and-accommodation-booking\/","author":23382200,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.4","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"The Readscope Tour and Accommodation Booking","header_author":"The Readscope","header_description":"The Next-Gen Travel, Tour & Accommodation Booking Engine for WordPress.","last_updated":"2026-11-13 17:20:24","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/thereadscope.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":56,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"itsmanzur","date":"2026-11-13 17:20:24","revision":3800914}},"upgrade_notice":{"1.0.0":"<p>Initial release of Readscope Booking.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3800912,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3800912,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3800912,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3800912,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3800912,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"tourivo\/tour-grid":{"name":"tourivo\/tour-grid","title":"Readscope Tour Grid"},"tourivo\/hotel-grid":{"name":"tourivo\/hotel-grid","title":"Readscope Hotel Grid"},"tourivo\/search-bar":{"name":"tourivo\/search-bar","title":"Readscope Search Bar"},"tourivo\/filter-search":{"name":"tourivo\/filter-search","title":"Readscope Filter & Search Grid"},"tourivo\/booking-panel":{"name":"tourivo\/booking-panel","title":"Readscope Booking Panel"},"tourivo\/booking-lookup":{"name":"tourivo\/booking-lookup","title":"Readscope Track My Booking"},"tourivo\/wishlist":{"name":"tourivo\/wishlist","title":"Readscope Traveler Wishlist"},"tourivo\/my-bookings":{"name":"tourivo\/my-bookings","title":"Readscope My Bookings Portal"}},"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3800912,"resolution":"1","location":"assets","locale":"","width":1440,"height":720},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3800912,"resolution":"2","location":"assets","locale":"","width":1440,"height":1000},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3800912,"resolution":"3","location":"assets","locale":"","width":1440,"height":1150},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3800912,"resolution":"4","location":"assets","locale":"","width":1440,"height":1790},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3800912,"resolution":"5","location":"assets","locale":"","width":1440,"height":1230}},"screenshots":{"1":"Readscope Booking Admin Dashboard with Live Booking KPIs and Quick Actions.","2":"Tabbed Tour Settings Editor with Day-by-Day Itinerary Builder.","3":"Single Tour Page with Sticky Interactive Booking Sidebar.","4":"Hotel &amp; Room Listings with Individual Nightly Rates.","5":"Search Bar and Responsive Tour Grid."}},"plugin_section":[],"plugin_tags":[13685,4487,4486,149455,249],"plugin_category":[39],"plugin_contributors":[267144,260148],"plugin_business_model":[],"class_list":["post-397226","plugin","type-plugin","status-publish","hentry","plugin_tags-accommodation","plugin_tags-booking-engine","plugin_tags-hotel-booking","plugin_tags-tour-booking","plugin_tags-travel","plugin_category-business","plugin_contributors-itsmanzur","plugin_contributors-readscope","plugin_committers-itsmanzur"],"banners":{"banner":"https:\/\/ps.w.org\/the-readscope-tour-and-accommodation-booking\/assets\/banner-772x250.png?rev=3800912","banner_2x":"https:\/\/ps.w.org\/the-readscope-tour-and-accommodation-booking\/assets\/banner-1544x500.png?rev=3800912","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/the-readscope-tour-and-accommodation-booking\/assets\/icon.svg?rev=3800912","icon":"https:\/\/ps.w.org\/the-readscope-tour-and-accommodation-booking\/assets\/icon.svg?rev=3800912","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/the-readscope-tour-and-accommodation-booking\/assets\/screenshot-1.png?rev=3800912","caption":"Readscope Booking Admin Dashboard with Live Booking KPIs and Quick Actions."},{"src":"https:\/\/ps.w.org\/the-readscope-tour-and-accommodation-booking\/assets\/screenshot-2.png?rev=3800912","caption":"Tabbed Tour Settings Editor with Day-by-Day Itinerary Builder."},{"src":"https:\/\/ps.w.org\/the-readscope-tour-and-accommodation-booking\/assets\/screenshot-3.png?rev=3800912","caption":"Single Tour Page with Sticky Interactive Booking Sidebar."},{"src":"https:\/\/ps.w.org\/the-readscope-tour-and-accommodation-booking\/assets\/screenshot-4.png?rev=3800912","caption":"Hotel &amp; Room Listings with Individual Nightly Rates."},{"src":"https:\/\/ps.w.org\/the-readscope-tour-and-accommodation-booking\/assets\/screenshot-5.png?rev=3800912","caption":"Search Bar and Responsive Tour Grid."}],"raw_content":"<!--section=description-->\n<p><strong>The Readscope Tour and Accommodation Booking<\/strong> is an all-in-one, modern travel management and booking plugin designed for tour operators, travel agencies, boutique hotels, resorts, and vacation rentals.<\/p>\n\n<p>Unlike traditional heavy booking plugins, The Readscope Tour and Accommodation Booking is built with a <strong>Zero-jQuery lightweight reactive frontend<\/strong>, <strong>modern PSR-4 architecture<\/strong>, and <strong>relational database schema<\/strong> designed to handle high-traffic bookings without slowing down your website.<\/p>\n\n<h3>\ud83c\udf1f Key Features<\/h3>\n\n<ul>\n<li><strong>Dual Engine in One Plugin:<\/strong> Seamlessly manage Tour Packages (Single-day, Multi-day, Hourly, Fixed departure) and Hotels\/Accommodations units in the same system.<\/li>\n<li><strong>Smart Inventory &amp; Anti-Double-Booking:<\/strong> Built-in concurrency-safe capacity engine with database transactions and row-level locking.<\/li>\n<li><strong>Interactive Frontend Booking Panel:<\/strong> Real-time price breakdown, date range selector, and guest (+ \/ -) counters with instant calculations.<\/li>\n<li><strong>Day-by-Day Itinerary Builder:<\/strong> Dynamic repeater for structuring multi-day trip itineraries with included meals and activity highlights.<\/li>\n<li><strong>Inclusions &amp; Exclusions Manager:<\/strong> Visual checklist of included and excluded items for each tour.<\/li>\n<li><strong>Hotel &amp; Room Hierarchy:<\/strong> Link multiple room units to parent hotels with individual pricing, bed configurations, and capacity limits.<\/li>\n<li><strong>Direct Offline Checkout:<\/strong> Allow travelers to book instantly with cash on delivery, bank transfer, or custom payment instructions.<\/li>\n<li><strong>Automated Email Notifications:<\/strong> Professional responsive HTML booking confirmations sent to both customers and administrators.<\/li>\n<li><strong>Gutenberg &amp; Elementor Integration:<\/strong> Server-rendered Gutenberg Core Blocks and dedicated Elementor Widgets for Tour Grids, Hotel Grids, Search Bars, and Booking Panels.<\/li>\n<li><strong>Theme Developer Friendly:<\/strong> Override any single tour, single hotel, or booking panel template in your theme's <code>\/tourivo\/<\/code> directory.<\/li>\n<\/ul>\n\n\n\n<h3>\ud83c\udfe0 Optional Travel Homepage<\/h3>\n\n<p>Readscope Booking never changes your homepage, footer or menus on its own. If you want a ready-made travel storefront, turn on <strong>Travel Homepage Layout<\/strong> in the Setup Wizard or under <strong>Readscope Booking -&gt; Settings<\/strong>: it adds the search bar, destinations, open tours and hotels to the homepage and fills empty theme placeholder menus with booking links.<\/p>\n\n<h3>\ud83d\ude80 Readscope Booking Pro (Separate Paid Add-on)<\/h3>\n\n<p>Everything above is free and fully functional. <strong>Readscope Booking Pro<\/strong> is a separate plugin that adds:\n* <strong>WooCommerce Payment Bridge:<\/strong> Take payment through any WooCommerce payment gateway; the booking is confirmed when the order is paid.\n* <strong>Paid Extras &amp; Add-ons:<\/strong> Sell extras such as airport transfers or extra beds, priced per booking, per night, per person or per person per night.\n* <strong>Child &amp; Infant Rates, Group and Seasonal Pricing:<\/strong> Separate traveler rates, group discounts and seasonal or weekend price rules.\n* <strong>Promo Codes &amp; Custom Checkout Fields:<\/strong> Coupons with usage limits and expiry, plus extra fields on the booking form.\n* <strong>PDF Invoices, Tickets &amp; QR Check-in:<\/strong> Downloadable PDF documents with a QR code staff can scan to check guests in.\n* <strong>iCal Room Sync:<\/strong> Import and export room calendars with Airbnb, Booking.com, VRBO and Google Calendar.\n* <strong>Customer Dashboard:<\/strong> A traveler portal for trips, tickets and cancellation requests.<\/p>\n\n<h4>Shortcodes<\/h4>\n\n<p>Readscope Booking comes with built-in shortcodes to embed anywhere in your posts or pages:<\/p>\n\n<ul>\n<li><code>[tourivo_tours columns=\"3\" count=\"6\" destination=\"bali\"]<\/code> \u2013 Display tour packages in a responsive grid.<\/li>\n<li><code>[tourivo_hotels columns=\"3\" count=\"6\" destination=\"maldives\"]<\/code> \u2013 Display hotels &amp; resorts in a grid.<\/li>\n<li><code>[tourivo_search_bar]<\/code> \u2013 Embed the destination, date, and traveler filter search bar.<\/li>\n<li><code>[tourivo_filter_search type=\"tour\"]<\/code> \u2013 Search page with live destination, price and rating filters.<\/li>\n<li><code>[tourivo_booking_panel item_id=\"123\" item_type=\"tour\"]<\/code> \u2013 Embed the interactive booking panel for a specific item.<\/li>\n<li><code>[tourivo_booking_lookup]<\/code> \u2013 Let travelers look up a booking by code and email and print the voucher.<\/li>\n<li><code>[tourivo_thank_you]<\/code> \u2013 Booking confirmation page.<\/li>\n<li><code>[tourivo_my_bookings per_page=\"10\" show_stats=\"yes\"]<\/code> \u2013 Customer account portal for travelers to manage bookings, vouchers, and cancellations.<\/li>\n<li><code>[tourivo_wishlist]<\/code> \u2013 Traveler wishlist of saved tours and hotels.<\/li>\n<li><code>[tourivo_currency_switcher]<\/code> \u2013 Let visitors view prices in another currency.<\/li>\n<\/ul>\n\n\n\n<h3>External Services<\/h3>\n\n<p>Readscope Booking contains an optional Outbound Webhook Integration feature that connects to user-configured external endpoints (e.g. Zapier, Make.com, n8n, custom CRMs, Slack).<\/p>\n\n<ul>\n<li><strong>What data is sent:<\/strong> Traveler full name, email address, phone number, booked tour or room item details (title, dates, guest counts), booking reference code, payment status, financial totals, and inquiry message content.<\/li>\n<li><strong>Where data is sent:<\/strong> Exclusively to the HTTPS endpoint URL configured by the site administrator in Readscope Booking Settings.<\/li>\n<li><strong>When data is sent:<\/strong> Automatically when a new booking is created (<code>booking.created<\/code>), when a booking status changes (<code>booking.status_changed<\/code>), or when a traveler inquiry is submitted (<code>inquiry.created<\/code>), as well as manually when clicking \"Send Test Ping Payload\" in settings.<\/li>\n<li><strong>Privacy &amp; Control:<\/strong> This service is completely <strong>optional and disabled by default<\/strong>. No data is transmitted to external endpoints unless a webhook URL is explicitly configured and enabled in plugin settings.<\/li>\n<li><strong>Local &amp; Intranet Webhook Endpoints:<\/strong> Readscope Booking uses <code>wp_safe_remote_post()<\/code> which protects against SSRF attacks by blocking local IP ranges. If you are developing locally or testing with a local n8n\/webhook server (e.g., <code>http:\/\/127.0.0.1:5678<\/code>), allow local requests via WordPress's native filter:\n  add_filter('http_request_host_is_external', function($is_external, $host) { return $host === 'localhost' || $host === '127.0.0.1' ? true : $is_external; }, 10, 2);<\/li>\n<\/ul>\n\n\n\n<h3>Privacy &amp; GDPR Compliance<\/h3>\n\n<p>Readscope Booking is engineered from the ground up for strict privacy regulations (GDPR, CCPA, and statutory accounting rules):<\/p>\n\n<ul>\n<li><strong>User Consent (Opt-in):<\/strong> Optional explicit consent checkboxes on frontend booking panels and inquiry forms with automated versioning (SHA-256 hash) and timestamp audit tracking (<code>consent_at<\/code>, <code>consent_version<\/code>).<\/li>\n<li><strong>WordPress Privacy Tools Integration:<\/strong>\n\n<ul>\n<li><strong>Personal Data Exporter:<\/strong> Integrated with WordPress Core Export Personal Data tool with 50-item batched pagination for customer bookings and inquiries.<\/li>\n<li><strong>Personal Data Eraser:<\/strong> Integrated with WordPress Core Erase Personal Data tool. Anonymizes customer identifiers (<code>customer_name<\/code>, <code>customer_email<\/code>, <code>customer_phone<\/code>, <code>billing_address<\/code>, <code>customer_notes<\/code>, <code>ip_address<\/code>) while legally retaining financial transaction lines for statutory tax accounting obligations. Deletes inquiries and traveler wishlist metadata.<\/li>\n<\/ul><\/li>\n<li><strong>Data Minimization &amp; IP Collection Control:<\/strong> Configurable <code>store_ip<\/code> setting allowing operators to disable IP address storage entirely. Endpoint rate limits continue to operate using temporary, hashed transients without persisting raw IP addresses.<\/li>\n<li><strong>Scheduled Data Retention:<\/strong> A daily job (<code>tourivo_daily_privacy_retention<\/code>, off until you set a period) anonymizes bookings a set number of days after the trip has ended, and deletes inquiries older than a set number of months. You choose which booking statuses are anonymized (completed and cancelled by default; pending, on hold and confirmed can be added) under <strong>Readscope Booking -&gt; Settings<\/strong>. Each run handles at most 200 bookings and 200 inquiries.<\/li>\n<\/ul>\n\n\n\n<h3>Credits<\/h3>\n\n<p>Readscope Booking is developed and maintained by itsmanzur (The Readscope).<\/p>\n\n<ul>\n<li>Source code: https:\/\/github.com\/itsmanzur\/readscope-tour-accommodation-booking<\/li>\n<\/ul>\n\n<p>Third-party resources bundled with the plugin:<\/p>\n\n<ul>\n<li><strong>Anek Bangla Font<\/strong> by The Anek Project Authors \/ Ek Type (https:\/\/github.com\/EkType\/Anek), licensed under SIL Open Font License 1.1 (assets\/fonts\/OFL.txt). Served from your own site; nothing is loaded from Google Fonts or any other CDN.<\/li>\n<\/ul>\n\n<p>No other third-party libraries are bundled: the booking panel, calendar and photo lightbox are written for Readscope Booking, and admin icons come from the Dashicons set that ships with WordPress.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>the-readscope-tour-and-accommodation-booking<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install directly via the WordPress Plugins menu.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Go to <strong>Readscope Booking -&gt; Dashboard<\/strong> to import sample data or start adding your Tours and Hotels.<\/li>\n<li>Configure your preferred currency and settings in <strong>Readscope Booking -&gt; Settings<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20readscope%20booking%20require%20woocommerce%20to%20work%3F\"><h3>Does Readscope Booking require WooCommerce to work?<\/h3><\/dt>\n<dd><p>No! The free version of Readscope Booking includes its own standalone direct booking and checkout engine (supporting offline payments, bank transfers, and cash on delivery). Readscope Booking Pro provides an optional WooCommerce bridge for users who want to use WooCommerce gateways.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20single%20tour%20and%20single%20hotel%20layouts%3F\"><h3>Can I customize the single tour and single hotel layouts?<\/h3><\/dt>\n<dd><p>Yes. Readscope Booking uses a clean template hierarchy. Simply copy <code>templates\/single-tour.php<\/code> or <code>templates\/single-hotel.php<\/code> to <code>your-theme\/tourivo\/<\/code> to customize the layout.<\/p><\/dd>\n<dt id=\"will%20readscope%20booking%20change%20my%20homepage%20or%20footer%3F\"><h3>Will Readscope Booking change my homepage or footer?<\/h3><\/dt>\n<dd><p>No. Readscope Booking only adds its own pages, blocks and shortcodes. The optional <strong>Travel Homepage Layout<\/strong> setting (off by default) is the only thing that changes the homepage, footer tagline, theme credit and empty placeholder menus, and it can be switched off again at any time.<\/p><\/dd>\n<dt id=\"what%20is%20the%20minimum%20php%20version%20required%3F\"><h3>What is the minimum PHP version required?<\/h3><\/dt>\n<dd><p>Readscope Booking requires PHP 8.0 or higher (fully compatible with PHP 8.1, 8.2, and 8.3+).<\/p><\/dd>\n<dt id=\"how%20does%20the%20anti-double-booking%20system%20work%3F\"><h3>How does the anti-double-booking system work?<\/h3><\/dt>\n<dd><p>Readscope Booking uses custom relational database tables (<code>wp_tourivo_inventories<\/code>) with MySQL row-level transaction locks (<code>SELECT ... FOR UPDATE<\/code>), ensuring that concurrent users cannot book the same seat or room simultaneously.<\/p>\n\n<\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<li>Tours and hotels in one plugin: custom post types, destinations, activities, amenities, day-by-day itineraries, room types with their own prices and capacity.<\/li>\n<li>Concurrency-safe availability engine with row locking, so two travelers cannot book the last seat or room.<\/li>\n<li>Booking panel without jQuery: live price breakdown, date range and traveler counters, open-date search across all listings.<\/li>\n<li>Offline checkout (bank transfer, cash on arrival, custom instructions), customer and admin emails, booking lookup with printable voucher, My Bookings portal with self-cancellation.<\/li>\n<li>Admin: bookings list with filters and CSV export, inquiries, reports, setup wizard, sample data importer.<\/li>\n<li>Gutenberg blocks, Elementor widgets and shortcodes for tours, hotels, search, booking panel, wishlist and currency switcher.<\/li>\n<li>Privacy: consent checkbox with audit trail, WordPress personal data export and erase, optional IP storage, scheduled anonymization and inquiry purge.<\/li>\n<li>Optional outbound webhooks, optional travel homepage layout (off by default).<\/li>\n<li>Developer hooks under <code>tourivo\/*<\/code> (for example <code>tourivo\/booking\/created<\/code>, <code>tourivo\/booking\/status_changed<\/code>, <code>tourivo\/inquiry\/created<\/code>).<\/li>\n<li>Bundled Anek Bangla font for Bengali and Latin text.<\/li>\n<\/ul>","raw_excerpt":"The Next-Gen Travel, Tour &amp; Accommodation Booking Engine for WordPress. Dual-engine architecture for tours and hotel stays.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/397226","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=397226"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/itsmanzur"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=397226"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=397226"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=397226"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=397226"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=397226"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=397226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}