{"id":301890,"date":"2026-05-15T14:06:51","date_gmt":"2026-05-15T14:06:51","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/odeva-booking\/"},"modified":"2026-05-15T15:06:46","modified_gmt":"2026-05-15T15:06:46","slug":"odeva-booking","status":"publish","type":"plugin","link":"https:\/\/es-ar.wordpress.org\/plugins\/odeva-booking\/","author":23483084,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0.3","stable_tag":"1.0.3","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Odeva Booking","header_author":"Odeva","header_description":"Embed the Odeva Booking widget on any page using a Gutenberg block or shortcode.","assets_banners_color":"","last_updated":"2026-05-15 15:06:46","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/booking.odeva.app","header_author_uri":"https:\/\/odeva.app","rating":0,"author_block_rating":0,"active_installs":0,"downloads":52,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"odevalabs","date":"2026-05-15 14:06:33"},"1.0.2":{"tag":"1.0.2","author":"odevalabs","date":"2026-05-15 14:23:18"},"1.0.3":{"tag":"1.0.3","author":"odevalabs","date":"2026-05-15 15:06:46"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3533141,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3533141,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":{"odeva-booking\/widget":{"name":"odeva-booking\/widget","title":"Odeva Booking"}},"tagged_versions":["1.0.1","1.0.2","1.0.3"],"block_files":[],"assets_screenshots":[],"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[13685,269,15606,722,6467],"plugin_category":[40],"plugin_contributors":[263075],"plugin_business_model":[],"class_list":["post-301890","plugin","type-plugin","status-publish","hentry","plugin_tags-accommodation","plugin_tags-booking","plugin_tags-campsite","plugin_tags-reservation","plugin_tags-vacation-rental","plugin_category-calendar-and-events","plugin_contributors-odevalabs","plugin_committers-odevalabs"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/odeva-booking\/assets\/icon-128x128.png?rev=3533141","icon_2x":"https:\/\/ps.w.org\/odeva-booking\/assets\/icon-256x256.png?rev=3533141","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Odeva Booking connects WordPress to Odeva, an external SaaS reservation platform. It adds a booking widget so visitors can search accommodations, view details, and make reservations directly on your pages.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Gutenberg block with visual configuration<\/li>\n<li>Classic editor shortcode support<\/li>\n<li>Full theme customisation via colours, border radius, and font family<\/li>\n<li>Global defaults via Settings page; override per block or shortcode<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to Odeva, an external SaaS reservation platform. The widget JavaScript is bundled with the plugin. The visitor's browser connects to Odeva only when an Odeva Booking block or shortcode is rendered and used.<\/p>\n\n<p>Service endpoints used by the bundled widget:<\/p>\n\n<ul>\n<li><code>https:\/\/booking.odeva.app\/graphql<\/code> - used to fetch accommodation data, availability, pricing, and to create reservation checkout sessions.<\/li>\n<li><code>https:\/\/booking.odeva.app\/checkout<\/code> - used when a visitor proceeds to the hosted checkout flow.<\/li>\n<li>Image URLs returned by the Odeva API - used to display accommodation and unit images.<\/li>\n<\/ul>\n\n<p>Data sent to Odeva may include the configured organisation slug, search dates, guest counts, selected accommodation or unit IDs, and the guest contact and reservation details entered in the booking form. This data is used to provide availability, pricing, reservation, and checkout functionality.<\/p>\n\n<p>Service links:<\/p>\n\n<ul>\n<li>Privacy Policy: <code>https:\/\/odeva.app\/privacy-policy<\/code><\/li>\n<li>Service website: <code>https:\/\/odeva.app<\/code><\/li>\n<\/ul>\n\n<h3>Shortcode<\/h3>\n\n<pre><code>[odeva_booking org=\"my-org\" color_primary=\"#16a34a\" border_radius=\"0.25rem\"]\n<\/code><\/pre>\n\n<p>All attributes are optional if you've set defaults in the settings page. Available attributes:<\/p>\n\n<ul>\n<li><code>org<\/code> \u2014 Organisation slug (required if not set in defaults)<\/li>\n<li><code>api_url<\/code> \u2014 Override GraphQL API URL<\/li>\n<li><code>checkout_url<\/code> \u2014 Override checkout URL<\/li>\n<li><code>color_primary<\/code>, <code>color_secondary<\/code>, <code>color_accent<\/code> \u2014 Theme colours<\/li>\n<li><code>color_background<\/code>, <code>color_surface<\/code>, <code>color_text<\/code>, <code>color_text_muted<\/code> \u2014 Surface colours<\/li>\n<li><code>border_radius<\/code> \u2014 Corner radius (e.g., <code>0.5rem<\/code>)<\/li>\n<li><code>font_family<\/code> \u2014 Font stack<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>odeva-booking<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the Plugins menu<\/li>\n<li>Go to Settings \u2192 Odeva Booking and enter your organisation slug<\/li>\n<li>Add the \"Odeva Booking\" block to any page, or use the shortcode: <code>[odeva_booking org=\"your-org\"]<\/code><\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20odeva%20account%3F\"><h3>Do I need an Odeva account?<\/h3><\/dt>\n<dd><p>Yes. Odeva Booking is a connector for the Odeva SaaS reservation system and requires a valid organisation slug.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20add%20frontend%20credits%20or%20backlinks%20by%20default%3F\"><h3>Does this plugin add frontend credits or backlinks by default?<\/h3><\/dt>\n<dd><p>No. The plugin does not inject \"powered by\" links on the public site by default.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Remove incorrect contributor attribution from readme.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Trim packaging: exclude test fixtures and monorepo metadata from the bundled <code>source\/<\/code> review directory. No functional changes.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Bundle the Odeva widget JavaScript with the plugin instead of loading remote executable code.<\/li>\n<li>Improve external service disclosure and WordPress.org review packaging.<\/li>\n<li>Improve sanitization, escaping, and translation readiness.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Embed the Odeva Booking widget on any WordPress page.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/es-ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/301890","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/es-ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/es-ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/es-ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=301890"}],"author":[{"embeddable":true,"href":"https:\/\/es-ar.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/odevalabs"}],"wp:attachment":[{"href":"https:\/\/es-ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=301890"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/es-ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=301890"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/es-ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=301890"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/es-ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=301890"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/es-ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=301890"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/es-ar.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=301890"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}