Latest Activity...
New Property: Travel Insurance information on Bookings
[Change effective April 2, 2025]
The GET v2/bookings/{id}
endpoint and GET v2/bookings
endpoint now include a travel_insurance
property containing information about the availability of Travel Insurance for a specific booking.
Example:
"travel_insurance": { "can_purchase": true, "is_purchased": true, "purchase_url": "sample string 1" }
Hi Deb, thank you for writing in. Unfortunately, I don't believe you will be able to edit content within the widget iframe using JavaScript due to cross-origin restrictions. If you'd like to make a feature request for a separate property search URL from the public URL, you can do so by adding a post to our feature request forum.
Regarding the script here, I did not run into that error, but did have issues with a couple of other items. The first was that to use the url parameter in querySelector, backticks must be used instead of single quotes.const iframe = document.querySelector(`iframe[src^="${url}"]`);
The other issue is that to access the button in the iframe, it needs to be fetched from the iframe document. This would look something like the following:
const iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
if (iframeDoc) {
const link = iframeDoc.querySelector('.btn.btn-default');
<your code>
Hi folks! I'm trying to update the href of the details button on the availability widget. I want to send it to a specific page when results come back and not to the page that is configured under the property URL. This is what I have so far
Hi, is there a way using javascript to update the link on the details button located in the availability widget? I have this so far:
const url = 'https://';
const iframe = document.querySelector('iframe[src^="${url}"]');
iframe.addEventListener('load', function() {
const link = document.getElementsByClassName('btn btn-default');
var txtQS = window.location.search;
var newURL='https://glencairnknoll.com/book-glencairn-knoll/' + txtQS;
link.setAttribute('href', newURL);
});
I'm getting this error in chrome: Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
Breaking Change: v1.1 Quotes Arrival and Departure dates should not include time values
[Change effective February 12, 2025]
This is a validation change to the legacy v1.1 API. Prior to this change, if a user submitted a Quote value to v1/quotes
containing Arrival and Departure dates that also included timestamps, we would not error but would attempt to store those time values. This caused problems downstream because Arrival and Departure are only intended to be timeless dates.
We have modified the PUT
, POST
, and TEST
verbs on v1/quotes
to validate that Arrival and Departure parameters do not include a timestamp. If a timestamp is included, a 400 error will be returned.
Patch 250212
GET v2/properties?include_fields=true
Hello developer community! Welcome to the API Bug Fix Log. This topic is dedicated to documenting bug fixes for the OwnerRez APIs. You may watch this topic if you are interested in being alerted about fixes that may impact your applications.
Happy coding!
Breaking Change: Required Field "currency" on SpotRates
[This change was announced on January 6, 2025 and goes into effect on March 1, 2025]
The PATCH v2/spotrates
endpoint now requires currency to be explicitly specified for each rate. With this update, every rate entry must include a 3-character currency specification.
Example:
{ "property_id": 123, "date": "yyyy-mm-dd", "amount": 123.00, "currency": "USD" }
This change ensures the currency provided matches the property's configured currency. The purpose of this change is to avoid mis-pricing issues caused by differences in configuration between the rate supplier and OwnerRez.
You may begin sending requests containing currency immediately, but validation will only be enforced starting on March 1.
From March 1, any patch requests to SpotRates that do not include a currency value will result in an error. Additionally, any patch requests that contain a currency value different from the property's configured currency in OwnerRez will result in an error.
Hello developer community! Welcome to the API Change Log. This topic is dedicated to important updates about the OwnerRez APIs. We recommend you watch this topic to be alerted about changes that may impact your applications.
Happy coding!
Hey Chad!
We checked with our engineering team, and it sounds like it will be released in phases once we roll out the new BDC API. When it's first released, it will only sync over basic property content. That isn't to say that RTB won't be an option on the BDC API at some point, but RTB will not be a part of the initial content API release.
I am also very interested in this. I have mulitiple HA connected properties and mutiple OR properties. I am happy to help test. I am not a coder but have done Product Management and have done a lot of work in the intersection of Short-Term Rental and Home Automation.
Can each of you that replied give a brief update of the current status? Does it make sense to coordinate a zoom call to discuss?
Any updates on if/when we can now set up the API with BDC for RTB rather than IB? BDC has had the RTB feature for some time now. But their API connection previously hasn't jived with OwnerRez. The last update or comment I saw in other forums was back in the beginning of October, so thought I would follow-up again. TY
Hi Brittany & Andrew- It looks like there is a script loading on your site that causes a delay before the widgets and some other elements start loading. You can try removing scripts/plugins on your site one at a time to see if you can narrow down the culprit. If you need additional assistance with this, feel free to reach out to our Helpdesk.
If you have any suggestions for the widget design, consider sharing those on our feature requests forum. We always appreciate constructive feedback that helps us improve the app.
Any way to get the Embedded Widget to load faster? My widgets are taking 3-5 seconds to load on the page. Unfortunately, with the way the widgets are built, it doesnt look like I have access to the full code for the widget.
Im considering going the API route and building my own form for the website (the widget UI is a bit dated), but curious if anyone has found any other solutions before I do that.
Using WordPress with Elementor if it helps!
Taxes are not currently available, but you can get a single Surcharge from the legacy API: https://app.ownerrez.com/help/api/get-api-surcharges-id-get We've not yet ported this endpoint to v2.
I see that in the v2.BookingChargeModel there are a surcharge_id and tax_id exposed, is there anywhere to get the complete list of surcharges and taxes defined for a user?
Use case is- continuing to plod along on a chunk of middleware that ties ownerrez into xero. Currently have ownerrez pushing guests (and updates) into xero, now eyeing up the invoice generation side of things and eyeing up how to map the ownerrez (individual taxes listed as line items applicable to the entire invoice) to xero (tax category per line item).
Thanks for the clarification- the way that article was worded led me to believe that site was specific to channel integrations but it's exactly what I'm looking for!
- Brendan
To test your integration, register for an OwnerRez account on our stage environment.
This document outlines the info:
https://www.ownerrez.com/support/articles/api-channel-integration-setup-configuration#sandbox
I'm currently writing a wrapper for the API in ruby (with the ultimate goal of building a service to sync guest info and invoices into Xero-- maybe payments too if those become accessible. Just curious if there is a sandbox API I can use to test against or if I have to do it against my personal account.
Duh. I just found the "since_utc" parameter in the API, which is exactly what I needed. Never mind....
Here's the problem: I pull booking data for a date range, let's say daily or weekly or monthly and put it into SQL
Then, someone gives a refund to a guest a few days after checkout. My data is now obsolete.
The only way to avoid this that I can see is to continually pull old data in case it's changed.
Ideally, each record would have a "last modified" timestamp (I suspect this might already be the case, but only internally). The API would allow me to specify a "modified since" parameter, and only return data modified since that date. Then, I can update my data.
This would reduce the load on both servers, and provide a better "API experience"
Tim
Thank you for your suggestion! I've forwarded it to our team responsible for the Change Logs. In the meantime, be sure to look for our Monthly Product Update Blog Posts for complete release information!
Hi
I would like to make a suggestion for https://www.ownerrez.com/support/latestupdates
rather than bullet points per change it would look much nicer if you had 3 sections, + ADDED Feature, * Fix/Change, - Removed
for example the below snipper is from June 5th 2024 log:
I think it would look nicer as
+ Implement "Mark as Spam" on inquiries and evaluate comment bodies using Akismet for spam detection
+Add Damage Protection opt-out for Whimstay
* Merchant of Record (MoR) channel API integration enhancements - part 1
* Update {MYTWITTER} field code Name and Description on the Account tab to refer to "X"
* Increase cap for line item pivot report
*Fix multiple guests being created for Vrbo Messages
*Fix "do not retry" trigger retrying same day
*Fix issue with forums authentication
- Remove obsolete TripAdvisor description fields
This way I can easily see whats new by PLUS symbol, Star for Fixes, Minus for things removed
A good example of this can be seen here https://docs.plesk.com/release-notes/obsidian/change-log/
Yes, since by definition if you manually entered a booking, we don't really know where it came from. There has been discussion over the years about adding "manual" as its own listing site entry, but that's never seemed quite satisfactory either.
I also found a booking with NULL listing_site. When I looked in OR it was a manual quote and manual booking that I had made. Is this also expected?
Tim
Yes, this is normal. Bookings booked through your own website don't have a platform reservation number, because they weren't booked on a booking platform (Airbnb, Vrbo, etc.) - they were booked directly on your website. The relevant number for them is the ORB number that all bookings of every type have, which is in the id column.
When using the API to retrieve bookings, AirBNB and VRBO come in with a correct platform_reservation_number.
But bookings made through my personal website have no reservation number
Here is a screenshot of the data dumped into Excel
Hi,
We do have an availability/property search widget which has a location drop down. Once selected the widget will only show properties that match the criteria chosen by a potential guest, and then once that property is selected it generally would take the guest to a page where they can book that property.
If this still isn't quite what you're looking for, I'd recommend reaching out to our helpdesk with more specific details as to what you're trying to accomplish and we'll see if we can work with you any.
~Caleb
I have my own website and have the booking widget on it but there is not a search option for location. We have properties across NC so this is very important to us and in fact, the website capability is one of the main reasons we chose OwnerRez. At this point I am considering changing to Guesty unless someone has a work around?
Hey Tim,
I've done a bit of work on this, but it got put on the shelf during the holidays. Would love to collaborate with you and anyone else looking for this type of integration!
Best, Paul
Hi Tim,
Thank you for the suggestions. I've passed those along to our product management team for consideration. Let us know if you think of any other response fields that you would like to see for any of the API endpoints and we can look into those as well.