{"id":10526,"date":"2026-05-15T22:30:10","date_gmt":"2026-05-15T14:30:10","guid":{"rendered":"https:\/\/aeosub.com\/odeva-booking\/"},"modified":"2026-05-15T22:30:10","modified_gmt":"2026-05-15T14:30:10","slug":"odeva-booking","status":"publish","type":"post","link":"https:\/\/aeosub.com\/zh\/odeva-booking\/","title":{"rendered":"Odeva Booking"},"content":{"rendered":"<div class=\"plugin-info-card\" style=\"border: 1px solid #e2e8f0;border-radius: 10px;overflow: hidden;margin-bottom: 30px;font-family: -apple-system, system-ui, sans-serif;background: #fff\">\n<table style=\"width: 100%;border-collapse: collapse;font-size: 14px\">\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 15px 20px;text-align: left;width: 35%;color: #4a5568;background: #fcfcfc\"><img decoding=\"async\" src=\"https:\/\/s.w.org\/plugins\/geopattern-icon\/odeva-booking.svg\" style=\"width: 40px;height: 40px;border-radius: 6px;margin-right: 12px;vertical-align: middle\"> Developer<\/th>\n<td style=\"padding: 15px 20px;font-weight: 500\"><a href=\"https:\/\/profiles.wordpress.org\/odevalabs\/\" target=\"_blank\" rel=\"noopener\">odevalabs<\/a><\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Version<\/th>\n<td style=\"padding: 12px 20px\">v1.0.2<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Active Installs<\/th>\n<td style=\"padding: 12px 20px\">0 +<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Requires \/ Tested<\/th>\n<td style=\"padding: 12px 20px\">6.0 \/ 6.9.4<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Last Updated<\/th>\n<td style=\"padding: 12px 20px\">2026-05-15 2:23pm GMT<\/td>\n<\/tr>\n<tr>\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Official Link<\/th>\n<td style=\"padding: 12px 20px\"><a href=\"https:\/\/wordpress.org\/plugins\/odeva-booking\/\" target=\"_blank\" style=\"text-decoration: none;color: #4a3bca;font-weight: bold\" rel=\"noopener\">View Details \u2192<\/a><\/td>\n<\/tr>\n<\/table><\/div>\n<div class=\"plugin-short-desc\" style=\"margin: 20px 0;padding: 12px 15px;background: #f9fafb;border-left: 4px solid #4a3bca;border-radius: 6px;font-style: italic;color: #4a5568\">Embed the Odeva Booking widget on any WordPress page.<\/div>\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<p><strong>Features:<\/strong><\/p>\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<h3>External services<\/h3>\n<p>This plugin connects to Odeva, an external SaaS reservation platform. The widget JavaScript is bundled with the plugin. The visitor&#8217;s browser connects to Odeva only when an Odeva Booking block or shortcode is rendered and used.<\/p>\n<p>Service endpoints used by the bundled widget:<\/p>\n<ul>\n<li><code>https:\/\/booking.odeva.app\/graphql<\/code> &#8211; used to fetch accommodation data, availability, pricing, and to create reservation checkout sessions.<\/li>\n<li><code>https:\/\/booking.odeva.app\/checkout<\/code> &#8211; used when a visitor proceeds to the hosted checkout flow.<\/li>\n<li>Image URLs returned by the Odeva API &#8211; used to display accommodation and unit images.<\/li>\n<\/ul>\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<p>Service links:<\/p>\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<h3>Shortcode<\/h3>\n<pre><code>[odeva_booking org=\"my-org\" color_primary=\"#16a34a\" border_radius=\"0.25rem\"]\n<\/code><\/pre>\n<p>All attributes are optional if you&#8217;ve set defaults in the settings page. Available attributes:<\/p>\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","protected":false},"excerpt":{"rendered":"<p>Embed the Odeva Booking widget on any WordPress page.<\/p>","protected":false},"author":1,"featured_media":9317,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[252],"tags":[798,799,800,801,802,555],"class_list":["post-10526","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-trends","tag-accommodation","tag-booking","tag-campsite","tag-reservation","tag-vacation-rental","tag-wordpress-plugin"],"_links":{"self":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10526","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/comments?post=10526"}],"version-history":[{"count":0,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10526\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media\/9317"}],"wp:attachment":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media?parent=10526"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/categories?post=10526"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/tags?post=10526"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}