Account API Overview
We offer a simple yet powerful RESTful API that provides programmatic access to account data. You can import and export data, as well as receive notifications when changes occur.
Below you will find a complete reference manual for the MyVR Account API. For each RESTful API endpoint, we detail the actions available and the data exposed or expected.
Some general rules our Account API abides by:
- All request and response content is JSON.
- All endpoint names are plural. That is, "properties", not "property"
- All field names are camelCase.
- HATEOAS
- OPTIONS requests will give a machine-readable representation of the JSON schema we expect.
- GET requests for lists are paginated.
- Date and Time fields follow the ISO-8601 standard.
- If an ISO-8601 datetime does not specify a timezone, assume UTC.
Authentication
If you are a MyVR account holder looking to access the Account API, you will use our Basic Authentication method. If you are a 3rd party application developer using MyVR Connect to access the Account API, authentication is handled with an access token you retrieve from our standard OAuth flow.
Basic Authentication
In order to access the Account API, you'll need an API access key. Account API access keys can be created and managed from within your MyVR account. You can generate Live or Test access keys, depending on whether you want to access live data or test data.
To get started, generate an access key for your account. You'll need to pass this access key in your Account API calls as an Authentication Header.
MyVR Connect Authentication (OAuth)
If you are a developer of a MyVR Connect application, you will need to connect to an account using our MyVR Connect OAuth flow. Upon connecting, we'll provide you with an access key you can use to make Account API requests against the associated account. Authentication using a MyVR Connect access key is very similar to authenticating with a standard Account API access keys. Instead of using Basic HTTP authentication, you'll pass a bearer authentication token as an HTTP header.
Basic Authentication Example
curl https://api.myvr.com/v1/properties/ -u YOUR_API_KEY:
The
-u
flag is used to provide authentication credentials to the
curl
command. Including your access key followed by a colon
signifies no password is required.
MyVR Connect OAuth Example
curl https://api.myvr.com/v1/properties/ -H "Authorization: Bearer ACCESS_TOKEN"
The
ACCESS_TOKEN
above should be replaced with the ACCESS_TOKEN
you retrieved from our standard OAuth flow.
Webhooks
Webhooks are notifications of changes to your account data. When a change occurs we'll push a notification to a webhook URL you setup in your account. This notification will include the type of event that occurred, the account associated with the event, and the associated event data.
Technically, we'll make an HTTP POST to your webhook url and
include a JSON serialized version of the object in the body of
the POST. We'll include two HTTP headers with the POST'ed data -
an
Event
header which identifies the type of event and an
Account-Id
header which identifies the account associated with the event.
Webhooks are incredibly useful for keeping your application up-to-date with changes in your MyVR account. Instead of repeatedly requesting data from our Account API and checking for changes, notifications are sent to you immediately when changes occur. For example, you may be interested in knowing when a property's rates are updated or when a reservation payment is received. Our Webhooks handle this and much more.
Below you'll find a list of webhook events we support
and the data we include with each notification. Webhook
event names follow a pattern of:
resource.action
or
resource.action.event
-
resource
will be the name of the object the event pertains to -
action
will be a standard operation performed on that resource, either `created`, `updated`, or `deleted`. -
event
a specific event that triggered the action (optional).
Events
channel_account.created
returns a ChannelConnection object |
Occurs when a new channel account is created. |
channel_account.deleted
returns a ChannelConnection object |
Occurs when a channel account is deleted. |
channel_account.updated
returns a ChannelConnection object |
Occurs when a channel account is updated. |
channel_listing.created
returns a ChannelListing object |
Occurs when a new channel listing is created. |
channel_listing.updated.activated
returns a ChannelListing object |
Occurs when a channel listing is activated. |
channel_listing.updated.canceled
returns a ChannelListing object |
Occurs when a channel listing is canceled. |
channel_listing.updated.paused
returns a ChannelListing object |
Occurs when an active channel listing is paused. |
channel_listing.updated.published
returns a ChannelListing object |
Occurs when health check detects listing is live after being down |
channel_listing.updated.resumed
returns a ChannelListing object |
Occurs when a channel listing is resumed. |
channel_listing.updated.suspended
returns a ChannelListing object |
Occurs when a channel listing is paused by the system. |
channel_listing.updated.unpublished
returns a ChannelListing object |
Occurs when health check detects listing is down after being live |
contact.created
returns a Contact object |
This event is triggered when a new contact is created. |
contact.updated
returns a Contact object |
This event is triggered when a contact is updated. |
event_listener.created
returns a EventListener object |
Occurs when an EventListener is created. |
event_listener.deleted
returns a EventListener object |
Occurs when an EventListener is deleted. |
event_listener.updated.activated
returns a EventListener object |
Occurs when an EventListener is activated. |
event_listener.updated.paused
returns a EventListener object |
Occurs when an EventListener is paused. |
inquiry_message.created
returns a InquiryMessage object |
This event is triggered when a new inquiry message is created. |
inquiry.created
returns a Inquiry object |
This event is triggered when a new inquiry is created. |
issue.created
returns a Issue object |
Occurs when a new issue is created. |
issue.updated.resolved
returns a Issue object |
Occurs when an issue is resolved. |
job_assignment.created
returns a JobAssignment object |
Occurs when a job assignment is created. |
job_assignment.deleted
returns a JobAssignment object |
Occurs when a worker is unassigned from a job. |
job_assignment.updated
returns a JobAssignment object |
Occurs when a job assignment is updated. |
job_assignment.updated.accepted
returns a JobAssignment object |
Occurs when a job assignment is accepted. |
job_assignment.updated.declined
returns a JobAssignment object |
Occurs when a job assignment is declined. |
job_automation.created
returns a JobAutomation object |
Occurs when a job automation is created. |
job_automation.updated
returns a JobAutomation object |
Occurs when a job automation is updated. |
job_template.created
returns a Job object |
Occurs when a new job template is created. |
job_template.updated
returns a Job object |
Occurs when a job template is updated. |
job.created
returns a Job object |
Occurs when a new job is created. |
job.deleted
returns a Job object |
Occurs when a Job is deleted from an account. |
job.updated
returns a Job object |
Occurs when a job is updated. |
job.updated.canceled
returns a Job object |
Occurs when a Job is canceled. |
job.updated.completed
returns a Job object |
Occurs when a job is completed. |
job.updated.started
returns a Job object |
Occurs when a job is started. |
jobnote.created
returns a JobNote object |
Occurs when a new job type is created. |
jobnote.updated
returns a JobNote object |
Occurs when a job type is updated. |
jobtype.created
returns a JobType object |
Occurs when a new job type is created. |
jobtype.updated
returns a JobType object |
Occurs when a job type is updated. |
property.created
returns a Property object |
This event is triggered when a new property is created. |
property.deleted
returns a Property object |
This event is triggered when a property is deleted. |
property.updated
returns a Property object |
This event is triggered when a property's content is updated (excludes rates, fees, availability, amenities, rooms, reviews and photos, which have separate events). |
property.updated.activated
returns a Property object |
This event is triggered when a property is activated. |
property.updated.amenities
returns a Property object |
This event is triggered when a property's amenities are updated. |
property.updated.availability
returns a Property object |
This event is triggered when a property's availability is updated. |
property.updated.deactivated
returns a Property object |
This event is triggered when a property is deactivated. |
property.updated.fees
returns a Property object |
This event is triggered when a property's fees are updated. |
property.updated.photos
returns a Property object |
This event is triggered when a property's photos are updated. |
property.updated.rates
returns a Property object |
This event is triggered when property rates are updated. |
property.updated.reviews
returns a Property object |
This event is triggered when a property's reviews are updated. |
property.updated.rooms
returns a Property object |
This event is triggered when a property's rooms are updated. |
rate_plan.updated.rates_reset
returns a ListingRatePlan object |
This event is triggered when a rate plan's rates are fully reset. |
reservation_payment.updated.failed
returns a ReservationPayment object |
Occurs when an attempt to process a reservation payment fails. |
reservation_payment.updated.processed
returns a ReservationPayment object |
Occurs when a reservation payment is processed. |
reservation_payment.updated.recorded
returns a ReservationPayment object |
Occurs when a reservation payment is recorded as paid. |
reservation_payment.updated.unrecorded
returns a ReservationPayment object |
Occurs when a recorded reservation payment is unrecorded. |
reservation_payment.updated.voided
returns a ReservationPayment object |
Occurs when a processed reservation payment is voided. |
reservation_refund.created.processed
returns a ReservationRefund object |
Occurs when a reservation refund is processed. |
reservation_refund.created.recorded
returns a ReservationRefund object |
Occurs when a reservation refund is recorded. |
reservation_refund.deleted
returns a ReservationRefund object |
Occurs when a recorded reservation refund is deleted. |
reservation.created
returns a Reservation object |
Occurs when a new reservation is created. |
reservation.created.booked
returns a Reservation object |
Occurs when a new reservation is booked by a renter. |
reservation.created.requested
returns a Reservation object |
Occurs when a new reservation is requested by a renter and needs review. |
reservation.custom.check_in_time
returns a Reservation object |
Occurs at the time guests are allowed to arrive for this reservation. |
reservation.custom.check_out_time
returns a Reservation object |
Occurs at the time guests are expected to depart for this reservation. |
reservation.custom.upcoming_check_in
returns a Reservation object |
Occurs 1 week before arrival or at time of booking, ifwithin one week. |
reservation.deleted
returns a Reservation object |
Occurs when a reservation is deleted from an account. |
reservation.updated
returns a Reservation object |
Occurs when a reservation is updated - such as a change to the dates, property, or status. |
reservation.updated.allocated
returns a Reservation object |
Occurs when a unit-type reservation is allocated to a unit. |
reservation.updated.allocation_finalized
returns a Reservation object |
Occurs when a unit-type reservation's allocation is finalized, indicating its safe to inform the guest of the unit associated with the reservation. |
reservation.updated.approved
returns a Reservation object |
Occurs when a requested reservation is approved. |
reservation.updated.canceled
returns a Reservation object |
Occurs when a reservation is canceled. |
reservation.updated.declined
returns a Reservation object |
Occurs when a requested reservation is declined. |
reservation.updated.overbooking
returns a Reservation object |
Occurs when a unit-type reservation cannot be allocated to a unit |
reservation.updated.terms
returns a Reservation object |
Occurs when reservation terms are set or modified. |
reservation.updated.unallocated
returns a Reservation object |
Occurs when a unit-type reservation is unallocated from a unit. |
reservation.updated.uncanceled
returns a Reservation object |
Occurs when a reservation is uncanceled. |
worker.created
returns a Worker object |
Occurs when a worker is created. |
worker.deleted
returns a Worker object |
Occurs when a worker is unassigned from a job. |
worker.updated
returns a Worker object |
Occurs when a worker is updated. |
Paused Webhook Listeners
If attempts to notify a webhook listener continually fail, MyVR may pause the webhook listener and stop sending future webhook notifications. If your webhook listener is paused, you can reactivate it from the API Access section of your account.
Responses
MyVR uses standard HTTP response codes to indicate the status of an API request. A complete list of response codes and their meaning can be found below.
A high level breakdown of response codes goes as follows:
-
2xx
Successful -
3xx
Redirect -
4xx
Client Error -
5xx
Server Error
Response Status Codes
200
|
Successful | Your request was successful. |
201
|
Created | Your object was created successfully. |
202
|
Accepted | Your object modification was success. |
204
|
No Content | Returned when an object is deleted successfully. |
301
|
Moved Permanently | The resource you're requesting has been moved to a new location. |
400
|
Bad Request | An invalid request was submitted, likely with data in a format we do not accept or missing a required field. |
401
|
Unauthorized Request | The request does not contain a valid access key. |
403
|
Forbidden | You do not have the authorization to access the requested resource. |
404
|
Not Found | The object you have requested was not found. |
429
|
Too Many Requests | You have exceeded the maximum allowable number of requests. |
50x
|
Server Error | MyVR encountered an error processing your request. |
Error Response
The most common error you'll receive is a
400
response when creating or updating an object.
When we receive a request with data we cannot validate, we do
our best to return a response that helps you diagnose the error.
In addition to returning an error status code, we'll return
a JSON dictionary outlining all fields that had an error
and the nature of the errors.
Example Error Response
HTTP/1.1 400 Bad Request
Content-Type: application/json
Content-Length: 88
{
"name": ["This field may not be blank."],
"bedrooms": ["A valid integer is required."]
}
Pagination
When a list of objects is requested, a paginated result is returned. We use a limit/offset pagination approach.
Pagination Attributes
limit
|
The maximum number of items to return.
Default:
20
|
offset
|
The starting position of the result set in relation
to the complete set of unpaginated objects.
Default:
0
|
Request 100 objects starting from the 200th object (ie objects 201-300)
curl https://api.myvr.com/v1/properties/?limit=100&offset=200 -u YOUR_API_KEY:
Properties
A Property Object represents a residence you rent. Property data is central to your MyVR account and is leveraged by many other objects in the system. It's the primary data you should provide when setting up your MyVR account.
The core attributes of a property are managed through this Property endpoint (e.g. number of bedrooms and bathrooms). Other related attributes are managed through separate API endpoints (e.g. rates, fees, photos etc.)
Events
property.created
returns a Property object |
This event is triggered when a new property is created. |
property.deleted
returns a Property object |
This event is triggered when a property is deleted. |
property.updated
returns a Property object |
This event is triggered when a property's content is updated (excludes rates, fees, availability, amenities, rooms, reviews and photos, which have separate events). |
property.updated.activated
returns a Property object |
This event is triggered when a property is activated. |
property.updated.amenities
returns a Property object |
This event is triggered when a property's amenities are updated. |
property.updated.availability
returns a Property object |
This event is triggered when a property's availability is updated. |
property.updated.deactivated
returns a Property object |
This event is triggered when a property is deactivated. |
property.updated.fees
returns a Property object |
This event is triggered when a property's fees are updated. |
property.updated.photos
returns a Property object |
This event is triggered when a property's photos are updated. |
property.updated.rates
returns a Property object |
This event is triggered when property rates are updated. |
property.updated.reviews
returns a Property object |
This event is triggered when a property's reviews are updated. |
property.updated.rooms
returns a Property object |
This event is triggered when a property's rooms are updated. |
The Property Object
Attributes
uriuri |
The uniform resource identifier for the object.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
idstring |
The unique identifier of the object in MyVR. This can be used to retrieve the object.
Deprecated
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
keystring |
The unique identifier of the object in MyVR. This can be used to retrieve the object.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
accessDescriptionstring |
A description of which parts of the property the guests can access.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
accommodatesinteger |
The number of people the property can accommodate/sleep.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
activeboolean |
Flag indicating if the property is active in your account. Only active properties can receive inquiries, take bookings, and appear on websites.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
addressOnestring |
The primary street address of the property.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
addressTwostring |
The secondary street address of the property.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
allowTurnsboolean |
A flag that indicates the property can accept check-ins on the same day as check-outs for back to back reservations. This affects your calendar availability.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
amenitiesuri |
A resource URI for a list of amenities associated with this property.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
averageNightlyRateboolean |
The average nightly rate for the property. The average nightly rate is calculated for the forward looking year. If you are requesting a list of properties and filtering by a date range, the average nightly rate will be calculated using the date range supplied.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
automaticallyApproveboolean |
Whether booking requests for this property are automatically approved.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
baseNightlyRatedecimal |
The base nightly rate for the property, determined from the property's rates.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
baseRatenested |
The complete base rate for the property.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bathroomsdecimal |
The number of bathrooms in the property. Include half baths as 0.5, full baths as 1.0
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bedroomsinteger |
The number of bedrooms in the property.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bookingPolicystring |
The Booking Policy used for the property. This field is currently read only.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
bookingUrluri |
A URL for starting the booking flow at this property.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
buildingstring |
The building this property belongs to, if applicable.
Feature: Unit-Type Inventory
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
buildingAccessstring |
A description of how the building is accessed (i.e. lock box code), if applicable.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
checkInMethodchoice |
How guests check-in to the property, selected from the list of choices below.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
checkInInstructionsstring |
Instructions for your guests to check-in.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
checkInTimetime |
The standard check-in time for this property.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
checkOutInstructionsstring |
Instructions for your guests to check-out.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
checkOutTimetime |
The standard check-out time for this property.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
childPropertiesstring |
List of active child properties associated with this unit-type, if applicable.
Feature: Unit-Type Inventory
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
citystring |
The city in which the property is located.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
commissionStructurenested |
The commission structure this property is using, if set.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
countryCodestring |
The two-letter ISO country code for the property.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
createddatetime |
The ISO-8601 datetime the object was created in MyVR.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
currencychoice |
The currency to use for all rates and fees. We expect a 3 character ISO 4217 currency code.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
customFieldsstring |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
descriptionstring |
A long form description of the property.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
drivingDirectionsstring |
Directions for how guests should drive to the property.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
feePlanstring |
The Fee Plan for the property. For create operations, this field is not allowed. For update operations, this can be the URI or key of a valid Fee Plan to use. Leaving this blank will retain the current fee plan.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
headlinestring |
A short, catchy one sentence description of your property. This is used and required by some marketing channels.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
houseRulesstring |
A breakdown of rules for renters of the property.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
instantBookingsEnabledboolean |
Whether this property can be instantly booked.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
latdecimal |
The latitude of the property, as determined from the provided address.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
levelchoice |
The level of the property when using Unit-Type Inventory.A Property can either be a Building , a Unit-Type , or a Unit . Unit s are individual rooms/apartments/condos where guests stay (eg: 'Unit 301A'). Unit-Type s are representative of a collection of units (eg: '2BD Apartment') that guests can book. Building s are the physical structures located at a single address that contain the units.
Feature: Unit-Type Inventory
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
localAreaDescriptionstring |
A description of the local area.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
londecimal |
The longitude of the property, as determined from the provided address.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lowestNightlyRatedecimal |
The lowest nightly rate for the property, determined from the property's rates.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
manualstring |
General manual for your guests on how to operate items in the house.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
modifieddatetime |
The ISO-8601 datetime the object was last modified in MyVR.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
namestring |
The name of the property, as presented to renters.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ownerstring |
The contact who is the owner of the property.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
parkingInformationstring |
A description of on-property or nearby parking options.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
photostring |
The primary Photo for the property.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
postalCodestring |
The postal code associated with the properties address.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ratePlanstring |
The Rate Plan for the property. For create operations, this field is not allowed. For update operations, this can be the URI or key of a valid Rate Plan to use. Leaving this blank will retain the current rate plan.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ratePlanLockedboolean |
Flag indicating if the current rate plan selection is locked. When the current rate plan selection is locked, calls made to the Property Rates Reset endpoint WILL update the rates on the appropriate rate plan but WILL NOT automatically select that rate plan for the property. Properties that have their rate plan selection locked require account holders to manually change the rate plan selection.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
regionstring |
The geographical region/state/province of the property. EG: 'California'
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
shortCodestring |
A 3 character short code for the property. Used as property identifier when generating reservation and quote keys.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sizeinteger |
The size of the property in square feet.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
slugstring |
A human readable unique identifier for the property.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
suitableElderlychoice |
Is this property suitable for elderly renters?
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
suitableEventschoice |
Is this property suitable for events?
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
suitableGroupschoice |
Is this property suitable for large group rentals?
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
suitableHandicapchoice |
Is this property suitable for handicap renters?
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
suitableInfantschoice |
Is this property suitable for renters with infants?
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
suitableKidschoice |
Is this property suitable for renters with kids?
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
suitablePetschoice |
Is this property suitable for renters with pets?
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
suitableSmokingchoice |
Is this property suitable for renters that smoke?
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
transitDescriptionstring |
A description of nearby transit options for guests.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
typechoice |
The type of property, selected from the list of choices below.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
weekendNightsstring |
The days of the week that count as weekend nights when calculating rates. ISO standard values are used: 1 = Monday, 2 = Tuesday, ... 7 = Sunday.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wifiNetworkstring |
The name of the Wifi network for the property.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
wifiPasswordstring |
The password for the Wifi network.
|
Example Response
{
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"key": "b6b0f2fe278f612b",
"accessDescription": null,
"accommodates": 11,
"active": false,
"addressOne": "11496 Zermatt Dr",
"addressTwo": null,
"allowTurns": true,
"amenities": "https://api.myvr.com/v1/property-amenities/?propertyId=b6b0f2fe278f612b",
"averageNightlyRate": null,
"automaticallyApprove": false,
"baseNightlyRate": "395.00",
"baseRate": {
"uri": "https://api.myvr.com/v1/rates/660c299d4785c32e/",
"id": "660c299d4785c32e",
"key": "660c299d4785c32e",
"externalId": null,
"baseRate": true,
"changeoverDay": null,
"created": "2019-01-19T08:02:36Z",
"currency": "USD",
"endDate": "2020-01-18",
"maxStay": null,
"minStay": 3,
"modified": "2019-01-19T08:02:36Z",
"monthly": 0,
"name": "Base Rate",
"weekNight": 39500,
"nightly": 39500,
"position": 0,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"ratePlan": {
"uri": "https://api.myvr.com/v1/rate-plans/862caa3f5267602d/",
"key": "862caa3f5267602d",
"name": "Default Rates for Property"
},
"repeat": true,
"startDate": "2020-01-18",
"weekend": 0,
"weekendNight": 0,
"weekly": 250000
},
"bathrooms": "4.0",
"bedrooms": 4,
"bookingPolicy": {
"uri": "https://api.myvr.com/v1/booking-policies/c995cdd998621495/",
"key": "c995cdd998621495"
},
"bookingUrl": "https://myvr.com/reservation/redirect/booking/b6b0f2fe278f612b/",
"building": null,
"buildingAccess": null,
"checkInMethod": null,
"checkInInstructions": null,
"checkInTime": "16:00:00",
"checkOutInstructions": null,
"checkOutTime": "10:00:00",
"childProperties": [],
"city": "Truckee",
"commissionStructure": null,
"countryCode": "US",
"created": "2016-01-19T00:01:48Z",
"currency": "USD",
"customFields": {},
"description": "Luxurious living, scenic mountain setting, entertainment galore. Located on a quiet street in Tahoe Donner, our well equipped modern home is nestled into the wilderness. A babbling creek greets visitors approaching the front step as it collects into a small pond with a cascading waterfall. <br/>\n<br/>\nInside, over 3,000 sqft of luxurious living space divides itself between two floors. On the first floor, a beautiful kitchen with granite counters, gas stove and stainless steel appliances opens to a large great room centered around a wood burning fireplace and featuring 30' soaring ceilings. A spacious loft overlooks the great room, showcasing a large poker/card table. Upstairs features a large entertainment room, complete with wet bar, shuffleboard table, and state-of-the-art television setup with surround sound. The scenic backyard is accessible from a large deck featuring a new hot tub with seating for 7.",
"drivingDirections": null,
"externalId": null,
"feePlan": {
"uri": "https://api.myvr.com/v1/fee-plans/4d1c44383755051b/",
"key": "4d1c44383755051b",
"name": "Default Fees for Listing"
},
"headline": "Beautiful Four Bedroom Lake Front Property",
"houseRules": null,
"instantBookingsEnabled": false,
"lat": "39.3422523000",
"level": "unit",
"localAreaDescription": "Tahoe Donner is a year round activity resort. The amenities include private beach/boat launching facilities, pools, recreation center, tennis, horseback riding, golf, downhill skiing as well as cross country skiing. Truckee is a historical mining town-having a western feel but also has museums, theaters, fine dining plus 2 large supermarkets-all less than 3 miles from the house. Our home is also located within a 15 minute drive to 4 major ski resorts. Downtown Reno is a short 40 minute drive away for those seeking a night on the town or the thrill of a Nevada casino.",
"lon": "-120.2271947000",
"lowestNightlyRate": "395.00",
"manual": "",
"modified": "2019-10-18T17:18:43Z",
"name": "API Demo Property",
"owner": null,
"parkingInformation": null,
"photo": {
"downloadUrl": "https://image.myvr.com/b45b80f1d8764037/729dc028c692c4a0/a391b295c6.jpg",
"uri": "https://api.myvr.com/v1/photos/6448434688411bc1123dbd84eb4119e4/",
"key": "6448434688411bc1123dbd84eb4119e4"
},
"postalCode": "96161",
"ratePlan": {
"uri": "https://api.myvr.com/v1/rate-plans/862caa3f5267602d/",
"key": "862caa3f5267602d",
"name": "Default Rates for Property"
},
"ratePlanLocked": false,
"region": "CA",
"shortCode": "API",
"size": 3000,
"slug": "api-demo-property",
"suitableElderly": "yes",
"suitableEvents": "unknown",
"suitableGroups": "yes",
"suitableHandicap": "no",
"suitableInfants": "unknown",
"suitableKids": "yes",
"suitablePets": "no",
"suitableSmoking": "no",
"transitDescription": null,
"type": "house",
"weekendNights": [
5,
6
],
"wifiNetwork": null,
"wifiPassword": null
}
Create Property
Create a new property on your MyVR account. When a property
is created, it will be assigned a key
.
Newly created properties will start out inactive and can be activated from within your account.
Endpoint
POST https://api.myvr.com/v1/properties/
Arguments
accessDescriptionstring |
A description of which parts of the property the guests can access.
|
accommodatesinteger |
The number of people the property can accommodate/sleep.
Default:
2
|
addressOnestring |
The primary street address of the property.
|
addressTwostring |
The secondary street address of the property.
|
allowTurnsboolean |
A flag that indicates the property can accept check-ins on the same day as check-outs for back to back reservations. This affects your calendar availability.
Default:
True
|
bathroomsdecimal |
The number of bathrooms in the property. Include half baths as 0.5, full baths as 1.0
|
buildingAccessstring |
A description of how the building is accessed (i.e. lock box code), if applicable.
|
checkInMethodchoice |
How guests check-in to the property, selected from the list of choices below.
|
checkInInstructionsstring |
Instructions for your guests to check-in.
|
checkInTimetime |
The standard check-in time for this property.
Default:
4 p.m.
|
checkOutInstructionsstring |
Instructions for your guests to check-out.
|
checkOutTimetime |
The standard check-out time for this property.
Default:
10 a.m.
|
citystring |
The city in which the property is located.
|
countryCodestring |
The two-letter ISO country code for the property.
|
currencychoice |
The currency to use for all rates and fees. We expect a 3 character ISO 4217 currency code.
Default:
USD
|
customFieldsstring |
|
descriptionstring |
A long form description of the property.
|
drivingDirectionsstring |
Directions for how guests should drive to the property.
|
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
feePlanstring |
The Fee Plan for the property. For create operations, this field is not allowed. For update operations, this can be the URI or key of a valid Fee Plan to use. Leaving this blank will retain the current fee plan.
|
headlinestring |
A short, catchy one sentence description of your property. This is used and required by some marketing channels.
|
houseRulesstring |
A breakdown of rules for renters of the property.
|
latdecimal |
The latitude of the property, as determined from the provided address.
|
levelchoice |
The level of the property when using Unit-Type Inventory.A Property can either be a Building , a Unit-Type , or a Unit . Unit s are individual rooms/apartments/condos where guests stay (eg: 'Unit 301A'). Unit-Type s are representative of a collection of units (eg: '2BD Apartment') that guests can book. Building s are the physical structures located at a single address that contain the units.
Default:
unit
Feature: Unit-Type Inventory
|
localAreaDescriptionstring |
A description of the local area.
|
londecimal |
The longitude of the property, as determined from the provided address.
|
manualstring |
General manual for your guests on how to operate items in the house.
|
namestring |
The name of the property, as presented to renters.
Required
|
ownerstring |
The contact who is the owner of the property.
|
parkingInformationstring |
A description of on-property or nearby parking options.
|
postalCodestring |
The postal code associated with the properties address.
|
ratePlanstring |
The Rate Plan for the property. For create operations, this field is not allowed. For update operations, this can be the URI or key of a valid Rate Plan to use. Leaving this blank will retain the current rate plan.
|
regionstring |
The geographical region/state/province of the property. EG: 'California'
|
shortCodestring |
A 3 character short code for the property. Used as property identifier when generating reservation and quote keys.
|
sizeinteger |
The size of the property in square feet.
|
suitableElderlychoice |
Is this property suitable for elderly renters?
Default:
unknown
|
suitableEventschoice |
Is this property suitable for events?
Default:
unknown
|
suitableGroupschoice |
Is this property suitable for large group rentals?
Default:
unknown
|
suitableHandicapchoice |
Is this property suitable for handicap renters?
Default:
unknown
|
suitableInfantschoice |
Is this property suitable for renters with infants?
Default:
unknown
|
suitableKidschoice |
Is this property suitable for renters with kids?
Default:
unknown
|
suitablePetschoice |
Is this property suitable for renters with pets?
Default:
unknown
|
suitableSmokingchoice |
Is this property suitable for renters that smoke?
Default:
unknown
|
transitDescriptionstring |
A description of nearby transit options for guests.
|
typechoice |
The type of property, selected from the list of choices below.
Default:
house
|
weekendNightsstring |
The days of the week that count as weekend nights when calculating rates. ISO standard values are used: 1 = Monday, 2 = Tuesday, ... 7 = Sunday.
Default:
[5, 6]
|
wifiNetworkstring |
The name of the Wifi network for the property.
|
wifiPasswordstring |
The password for the Wifi network.
|
Example Request
curl https://api.myvr.com/v1/properties/ -u YOUR_API_KEY:
-d name="API Demo Property"
Response
key
. You can use this key
to retrieve or
update the Property in the future. If creation fails, an http error will
be returned.
Example Response
{
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"key": "b6b0f2fe278f612b",
"accessDescription": null,
"accommodates": 11,
"active": false,
"addressOne": "11496 Zermatt Dr",
"addressTwo": null,
"allowTurns": true,
"amenities": "https://api.myvr.com/v1/property-amenities/?propertyId=b6b0f2fe278f612b",
"averageNightlyRate": null,
"automaticallyApprove": false,
"baseNightlyRate": "395.00",
"baseRate": {
"uri": "https://api.myvr.com/v1/rates/660c299d4785c32e/",
"id": "660c299d4785c32e",
"key": "660c299d4785c32e",
"externalId": null,
"baseRate": true,
"changeoverDay": null,
"created": "2019-01-19T08:02:36Z",
"currency": "USD",
"endDate": "2020-01-18",
"maxStay": null,
"minStay": 3,
"modified": "2019-01-19T08:02:36Z",
"monthly": 0,
"name": "Base Rate",
"weekNight": 39500,
"nightly": 39500,
"position": 0,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"ratePlan": {
"uri": "https://api.myvr.com/v1/rate-plans/862caa3f5267602d/",
"key": "862caa3f5267602d",
"name": "Default Rates for Property"
},
"repeat": true,
"startDate": "2020-01-18",
"weekend": 0,
"weekendNight": 0,
"weekly": 250000
},
"bathrooms": "4.0",
"bedrooms": 4,
"bookingPolicy": {
"uri": "https://api.myvr.com/v1/booking-policies/c995cdd998621495/",
"key": "c995cdd998621495"
},
"bookingUrl": "https://myvr.com/reservation/redirect/booking/b6b0f2fe278f612b/",
"building": null,
"buildingAccess": null,
"checkInMethod": null,
"checkInInstructions": null,
"checkInTime": "16:00:00",
"checkOutInstructions": null,
"checkOutTime": "10:00:00",
"childProperties": [],
"city": "Truckee",
"commissionStructure": null,
"countryCode": "US",
"created": "2016-01-19T00:01:48Z",
"currency": "USD",
"customFields": {},
"description": "Luxurious living, scenic mountain setting, entertainment galore. Located on a quiet street in Tahoe Donner, our well equipped modern home is nestled into the wilderness. A babbling creek greets visitors approaching the front step as it collects into a small pond with a cascading waterfall. <br/>\n<br/>\nInside, over 3,000 sqft of luxurious living space divides itself between two floors. On the first floor, a beautiful kitchen with granite counters, gas stove and stainless steel appliances opens to a large great room centered around a wood burning fireplace and featuring 30' soaring ceilings. A spacious loft overlooks the great room, showcasing a large poker/card table. Upstairs features a large entertainment room, complete with wet bar, shuffleboard table, and state-of-the-art television setup with surround sound. The scenic backyard is accessible from a large deck featuring a new hot tub with seating for 7.",
"drivingDirections": null,
"externalId": null,
"feePlan": {
"uri": "https://api.myvr.com/v1/fee-plans/4d1c44383755051b/",
"key": "4d1c44383755051b",
"name": "Default Fees for Listing"
},
"headline": "Beautiful Four Bedroom Lake Front Property",
"houseRules": null,
"instantBookingsEnabled": false,
"lat": "39.3422523000",
"level": "unit",
"localAreaDescription": "Tahoe Donner is a year round activity resort. The amenities include private beach/boat launching facilities, pools, recreation center, tennis, horseback riding, golf, downhill skiing as well as cross country skiing. Truckee is a historical mining town-having a western feel but also has museums, theaters, fine dining plus 2 large supermarkets-all less than 3 miles from the house. Our home is also located within a 15 minute drive to 4 major ski resorts. Downtown Reno is a short 40 minute drive away for those seeking a night on the town or the thrill of a Nevada casino.",
"lon": "-120.2271947000",
"lowestNightlyRate": "395.00",
"manual": "",
"modified": "2019-10-18T17:18:43Z",
"name": "API Demo Property",
"owner": null,
"parkingInformation": null,
"photo": {
"downloadUrl": "https://image.myvr.com/b45b80f1d8764037/729dc028c692c4a0/a391b295c6.jpg",
"uri": "https://api.myvr.com/v1/photos/6448434688411bc1123dbd84eb4119e4/",
"key": "6448434688411bc1123dbd84eb4119e4"
},
"postalCode": "96161",
"ratePlan": {
"uri": "https://api.myvr.com/v1/rate-plans/862caa3f5267602d/",
"key": "862caa3f5267602d",
"name": "Default Rates for Property"
},
"ratePlanLocked": false,
"region": "CA",
"shortCode": "API",
"size": 3000,
"slug": "api-demo-property",
"suitableElderly": "yes",
"suitableEvents": "unknown",
"suitableGroups": "yes",
"suitableHandicap": "no",
"suitableInfants": "unknown",
"suitableKids": "yes",
"suitablePets": "no",
"suitableSmoking": "no",
"transitDescription": null,
"type": "house",
"weekendNights": [
5,
6
],
"wifiNetwork": null,
"wifiPassword": null
}
Retrieve Property
Endpoint
GET https://api.myvr.com/v1/properties/{KEY}/
Arguments
keystring |
The identifier of the Property to retrieve. The identifier can be a MyVR
Property key , which is provided after you create a Property,
or an externalId you've set on the Property.
Required
|
Example Request
curl https://api.myvr.com/v1/properties/{KEY}/ -u YOUR_API_KEY:
Example Response
{
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"key": "b6b0f2fe278f612b",
"accessDescription": null,
"accommodates": 11,
"active": false,
"addressOne": "11496 Zermatt Dr",
"addressTwo": null,
"allowTurns": true,
"amenities": "https://api.myvr.com/v1/property-amenities/?propertyId=b6b0f2fe278f612b",
"averageNightlyRate": null,
"automaticallyApprove": false,
"baseNightlyRate": "395.00",
"baseRate": {
"uri": "https://api.myvr.com/v1/rates/660c299d4785c32e/",
"id": "660c299d4785c32e",
"key": "660c299d4785c32e",
"externalId": null,
"baseRate": true,
"changeoverDay": null,
"created": "2019-01-19T08:02:36Z",
"currency": "USD",
"endDate": "2020-01-18",
"maxStay": null,
"minStay": 3,
"modified": "2019-01-19T08:02:36Z",
"monthly": 0,
"name": "Base Rate",
"weekNight": 39500,
"nightly": 39500,
"position": 0,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"ratePlan": {
"uri": "https://api.myvr.com/v1/rate-plans/862caa3f5267602d/",
"key": "862caa3f5267602d",
"name": "Default Rates for Property"
},
"repeat": true,
"startDate": "2020-01-18",
"weekend": 0,
"weekendNight": 0,
"weekly": 250000
},
"bathrooms": "4.0",
"bedrooms": 4,
"bookingPolicy": {
"uri": "https://api.myvr.com/v1/booking-policies/c995cdd998621495/",
"key": "c995cdd998621495"
},
"bookingUrl": "https://myvr.com/reservation/redirect/booking/b6b0f2fe278f612b/",
"building": null,
"buildingAccess": null,
"checkInMethod": null,
"checkInInstructions": null,
"checkInTime": "16:00:00",
"checkOutInstructions": null,
"checkOutTime": "10:00:00",
"childProperties": [],
"city": "Truckee",
"commissionStructure": null,
"countryCode": "US",
"created": "2016-01-19T00:01:48Z",
"currency": "USD",
"customFields": {},
"description": "Luxurious living, scenic mountain setting, entertainment galore. Located on a quiet street in Tahoe Donner, our well equipped modern home is nestled into the wilderness. A babbling creek greets visitors approaching the front step as it collects into a small pond with a cascading waterfall. <br/>\n<br/>\nInside, over 3,000 sqft of luxurious living space divides itself between two floors. On the first floor, a beautiful kitchen with granite counters, gas stove and stainless steel appliances opens to a large great room centered around a wood burning fireplace and featuring 30' soaring ceilings. A spacious loft overlooks the great room, showcasing a large poker/card table. Upstairs features a large entertainment room, complete with wet bar, shuffleboard table, and state-of-the-art television setup with surround sound. The scenic backyard is accessible from a large deck featuring a new hot tub with seating for 7.",
"drivingDirections": null,
"externalId": null,
"feePlan": {
"uri": "https://api.myvr.com/v1/fee-plans/4d1c44383755051b/",
"key": "4d1c44383755051b",
"name": "Default Fees for Listing"
},
"headline": "Beautiful Four Bedroom Lake Front Property",
"houseRules": null,
"instantBookingsEnabled": false,
"lat": "39.3422523000",
"level": "unit",
"localAreaDescription": "Tahoe Donner is a year round activity resort. The amenities include private beach/boat launching facilities, pools, recreation center, tennis, horseback riding, golf, downhill skiing as well as cross country skiing. Truckee is a historical mining town-having a western feel but also has museums, theaters, fine dining plus 2 large supermarkets-all less than 3 miles from the house. Our home is also located within a 15 minute drive to 4 major ski resorts. Downtown Reno is a short 40 minute drive away for those seeking a night on the town or the thrill of a Nevada casino.",
"lon": "-120.2271947000",
"lowestNightlyRate": "395.00",
"manual": "",
"modified": "2019-10-18T17:18:43Z",
"name": "API Demo Property",
"owner": null,
"parkingInformation": null,
"photo": {
"downloadUrl": "https://image.myvr.com/b45b80f1d8764037/729dc028c692c4a0/a391b295c6.jpg",
"uri": "https://api.myvr.com/v1/photos/6448434688411bc1123dbd84eb4119e4/",
"key": "6448434688411bc1123dbd84eb4119e4"
},
"postalCode": "96161",
"ratePlan": {
"uri": "https://api.myvr.com/v1/rate-plans/862caa3f5267602d/",
"key": "862caa3f5267602d",
"name": "Default Rates for Property"
},
"ratePlanLocked": false,
"region": "CA",
"shortCode": "API",
"size": 3000,
"slug": "api-demo-property",
"suitableElderly": "yes",
"suitableEvents": "unknown",
"suitableGroups": "yes",
"suitableHandicap": "no",
"suitableInfants": "unknown",
"suitableKids": "yes",
"suitablePets": "no",
"suitableSmoking": "no",
"transitDescription": null,
"type": "house",
"weekendNights": [
5,
6
],
"wifiNetwork": null,
"wifiPassword": null
}
Update Property
key
or externalId
in the URL.
Endpoint
PUT or PATCH https://api.myvr.com/v1/properties/{KEY}/
Arguments
keystring |
The identifier of the Property to update. The identifier can be a MyVR
Property key , which is provided after you create a Property,
or an externalId you've set on the Property.
|
accessDescriptionstring |
A description of which parts of the property the guests can access.
|
accommodatesinteger |
The number of people the property can accommodate/sleep.
|
addressOnestring |
The primary street address of the property.
|
addressTwostring |
The secondary street address of the property.
|
allowTurnsboolean |
A flag that indicates the property can accept check-ins on the same day as check-outs for back to back reservations. This affects your calendar availability.
|
bathroomsdecimal |
The number of bathrooms in the property. Include half baths as 0.5, full baths as 1.0
|
buildingAccessstring |
A description of how the building is accessed (i.e. lock box code), if applicable.
|
checkInMethodchoice |
How guests check-in to the property, selected from the list of choices below.
|
checkInInstructionsstring |
Instructions for your guests to check-in.
|
checkInTimetime |
The standard check-in time for this property.
|
checkOutInstructionsstring |
Instructions for your guests to check-out.
|
checkOutTimetime |
The standard check-out time for this property.
|
citystring |
The city in which the property is located.
|
countryCodestring |
The two-letter ISO country code for the property.
|
currencychoice |
The currency to use for all rates and fees. We expect a 3 character ISO 4217 currency code.
|
customFieldsstring |
|
descriptionstring |
A long form description of the property.
|
drivingDirectionsstring |
Directions for how guests should drive to the property.
|
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
feePlanstring |
The Fee Plan for the property. For create operations, this field is not allowed. For update operations, this can be the URI or key of a valid Fee Plan to use. Leaving this blank will retain the current fee plan.
|
headlinestring |
A short, catchy one sentence description of your property. This is used and required by some marketing channels.
|
houseRulesstring |
A breakdown of rules for renters of the property.
|
latdecimal |
The latitude of the property, as determined from the provided address.
|
levelchoice |
The level of the property when using Unit-Type Inventory.A Property can either be a Building , a Unit-Type , or a Unit . Unit s are individual rooms/apartments/condos where guests stay (eg: 'Unit 301A'). Unit-Type s are representative of a collection of units (eg: '2BD Apartment') that guests can book. Building s are the physical structures located at a single address that contain the units.
Feature: Unit-Type Inventory
|
localAreaDescriptionstring |
A description of the local area.
|
londecimal |
The longitude of the property, as determined from the provided address.
|
manualstring |
General manual for your guests on how to operate items in the house.
|
namestring |
The name of the property, as presented to renters.
|
ownerstring |
The contact who is the owner of the property.
|
parkingInformationstring |
A description of on-property or nearby parking options.
|
postalCodestring |
The postal code associated with the properties address.
|
ratePlanstring |
The Rate Plan for the property. For create operations, this field is not allowed. For update operations, this can be the URI or key of a valid Rate Plan to use. Leaving this blank will retain the current rate plan.
|
regionstring |
The geographical region/state/province of the property. EG: 'California'
|
shortCodestring |
A 3 character short code for the property. Used as property identifier when generating reservation and quote keys.
|
sizeinteger |
The size of the property in square feet.
|
suitableElderlychoice |
Is this property suitable for elderly renters?
|
suitableEventschoice |
Is this property suitable for events?
|
suitableGroupschoice |
Is this property suitable for large group rentals?
|
suitableHandicapchoice |
Is this property suitable for handicap renters?
|
suitableInfantschoice |
Is this property suitable for renters with infants?
|
suitableKidschoice |
Is this property suitable for renters with kids?
|
suitablePetschoice |
Is this property suitable for renters with pets?
|
suitableSmokingchoice |
Is this property suitable for renters that smoke?
|
transitDescriptionstring |
A description of nearby transit options for guests.
|
typechoice |
The type of property, selected from the list of choices below.
|
weekendNightsstring |
The days of the week that count as weekend nights when calculating rates. ISO standard values are used: 1 = Monday, 2 = Tuesday, ... 7 = Sunday.
|
wifiNetworkstring |
The name of the Wifi network for the property.
|
wifiPasswordstring |
The password for the Wifi network.
|
Example Request
curl https://api.myvr.com/v1/properties/{KEY}/ -u YOUR_API_KEY: -X PATCH
-d accessDescription=null
Example Response
{
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"key": "b6b0f2fe278f612b",
"accessDescription": null,
"accommodates": 11,
"active": false,
"addressOne": "11496 Zermatt Dr",
"addressTwo": null,
"allowTurns": true,
"amenities": "https://api.myvr.com/v1/property-amenities/?propertyId=b6b0f2fe278f612b",
"averageNightlyRate": null,
"automaticallyApprove": false,
"baseNightlyRate": "395.00",
"baseRate": {
"uri": "https://api.myvr.com/v1/rates/660c299d4785c32e/",
"id": "660c299d4785c32e",
"key": "660c299d4785c32e",
"externalId": null,
"baseRate": true,
"changeoverDay": null,
"created": "2019-01-19T08:02:36Z",
"currency": "USD",
"endDate": "2020-01-18",
"maxStay": null,
"minStay": 3,
"modified": "2019-01-19T08:02:36Z",
"monthly": 0,
"name": "Base Rate",
"weekNight": 39500,
"nightly": 39500,
"position": 0,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"ratePlan": {
"uri": "https://api.myvr.com/v1/rate-plans/862caa3f5267602d/",
"key": "862caa3f5267602d",
"name": "Default Rates for Property"
},
"repeat": true,
"startDate": "2020-01-18",
"weekend": 0,
"weekendNight": 0,
"weekly": 250000
},
"bathrooms": "4.0",
"bedrooms": 4,
"bookingPolicy": {
"uri": "https://api.myvr.com/v1/booking-policies/c995cdd998621495/",
"key": "c995cdd998621495"
},
"bookingUrl": "https://myvr.com/reservation/redirect/booking/b6b0f2fe278f612b/",
"building": null,
"buildingAccess": null,
"checkInMethod": null,
"checkInInstructions": null,
"checkInTime": "16:00:00",
"checkOutInstructions": null,
"checkOutTime": "10:00:00",
"childProperties": [],
"city": "Truckee",
"commissionStructure": null,
"countryCode": "US",
"created": "2016-01-19T00:01:48Z",
"currency": "USD",
"customFields": {},
"description": "Luxurious living, scenic mountain setting, entertainment galore. Located on a quiet street in Tahoe Donner, our well equipped modern home is nestled into the wilderness. A babbling creek greets visitors approaching the front step as it collects into a small pond with a cascading waterfall. <br/>\n<br/>\nInside, over 3,000 sqft of luxurious living space divides itself between two floors. On the first floor, a beautiful kitchen with granite counters, gas stove and stainless steel appliances opens to a large great room centered around a wood burning fireplace and featuring 30' soaring ceilings. A spacious loft overlooks the great room, showcasing a large poker/card table. Upstairs features a large entertainment room, complete with wet bar, shuffleboard table, and state-of-the-art television setup with surround sound. The scenic backyard is accessible from a large deck featuring a new hot tub with seating for 7.",
"drivingDirections": null,
"externalId": null,
"feePlan": {
"uri": "https://api.myvr.com/v1/fee-plans/4d1c44383755051b/",
"key": "4d1c44383755051b",
"name": "Default Fees for Listing"
},
"headline": "Beautiful Four Bedroom Lake Front Property",
"houseRules": null,
"instantBookingsEnabled": false,
"lat": "39.3422523000",
"level": "unit",
"localAreaDescription": "Tahoe Donner is a year round activity resort. The amenities include private beach/boat launching facilities, pools, recreation center, tennis, horseback riding, golf, downhill skiing as well as cross country skiing. Truckee is a historical mining town-having a western feel but also has museums, theaters, fine dining plus 2 large supermarkets-all less than 3 miles from the house. Our home is also located within a 15 minute drive to 4 major ski resorts. Downtown Reno is a short 40 minute drive away for those seeking a night on the town or the thrill of a Nevada casino.",
"lon": "-120.2271947000",
"lowestNightlyRate": "395.00",
"manual": "",
"modified": "2019-10-18T17:18:43Z",
"name": "API Demo Property",
"owner": null,
"parkingInformation": null,
"photo": {
"downloadUrl": "https://image.myvr.com/b45b80f1d8764037/729dc028c692c4a0/a391b295c6.jpg",
"uri": "https://api.myvr.com/v1/photos/6448434688411bc1123dbd84eb4119e4/",
"key": "6448434688411bc1123dbd84eb4119e4"
},
"postalCode": "96161",
"ratePlan": {
"uri": "https://api.myvr.com/v1/rate-plans/862caa3f5267602d/",
"key": "862caa3f5267602d",
"name": "Default Rates for Property"
},
"ratePlanLocked": false,
"region": "CA",
"shortCode": "API",
"size": 3000,
"slug": "api-demo-property",
"suitableElderly": "yes",
"suitableEvents": "unknown",
"suitableGroups": "yes",
"suitableHandicap": "no",
"suitableInfants": "unknown",
"suitableKids": "yes",
"suitablePets": "no",
"suitableSmoking": "no",
"transitDescription": null,
"type": "house",
"weekendNights": [
5,
6
],
"wifiNetwork": null,
"wifiPassword": null
}
Delete Property
Endpoint
DELETE https://api.myvr.com/v1/properties/{KEY}/
Arguments
keystring |
The identifier of the Property to delete. The identifier can be a MyVR
Property key , which is provided after you create a Property,
or an externalId you've set on the Property.
Required
|
Example Request
curl https://api.myvr.com/v1/properties/{KEY}/ -u YOUR_API_KEY: -X DELETE
Response
Example Response
{}
List Properties
Endpoint
GET https://api.myvr.com/v1/properties/
Arguments
idstring |
Find results by id, uri, or externalId.
Optional
|
modifiedstring |
Find results modified after this date and time.
Optional
|
namestring |
Search for property by name.
Optional
|
accommodatesinteger |
Filter properties by the minimum number of accommodated guests.
Optional
|
groupstring |
Filter properties belonging to the specified group. Groups can be identified by id or externalId . Multiple groups can be specified using a comma delimiter.
Optional
|
ownerstring |
Filter properties belonging to the specified owner. Owners can be identified by id or externalId . Multiple owners can be specified using a comma delimiter.
Optional
|
activeboolean |
Filter properties by their active status.
Optional
|
instantBookingsEnabledboolean |
Filter the list of properties by ability to be instantly booked. This field is cached and updated asynchronously, so may have slight lag behind real time data.
Optional
|
automaticallyApproveboolean |
Filter properties by whether their bookings are instantly approved.
Optional
|
datesstring |
Show properties that are available during a given date range. The date range must be given as an ISO_8601 time interval: YYYY-MM-DD/YYYY-MM-DD
Optional
|
minBedroomsinteger |
Filter properties with a number of bedrooms greater than or equal to the specified minimum.
Optional
|
maxBedroomsinteger |
Filter properties with a number of bedrooms less than or equal to the specified maximum.
Optional
|
minBathroomsinteger |
Filter properties with a number of bathrooms greater than or equal to the specified minimum.
Optional
|
maxBathroomsinteger |
Filter properties with a number of bathrooms less than or equal to the specified maximum.
Optional
|
minLowestNightlyRateinteger |
Filter properties with a lowest nightly rate greater than or equal to the specified minimum.
Optional
|
maxLowestNightlyRateinteger |
Filter properties with a lowest nightly rate less than or equal to the specified maximum.
Optional
|
minBaseNightlyRateinteger |
Filter properties with a base nightly rate greater than or equal to the specified minimum.
Optional
|
maxBaseNightlyRateinteger |
Filter properties with a base nightly rate less than or equal to the specified maximum.
Optional
|
minLatitudeinteger |
Filter properties with a latitude greater than or equal to the specified minimum.
Optional
|
maxLatitudeinteger |
Filter properties with a latitude less than or equal to the specified maximum.
Optional
|
minLongitudeinteger |
Filter properties with a longitude greater than or equal to the specified minimum.
Optional
|
maxLongitudeinteger |
Filter properties with a longitude less than or equal to the specified maximum.
Optional
|
citystring |
Filter properties within a given city.
Optional
|
statestring |
Filter properties within a given state or province.
Optional
|
orderBystring |
Sort the property results by the field name
provided here. Valid options are: name ,
key , created ,
externalId ,
lowestNightlyRate ,
baseNightlyRate ,
groupPosition .
Note: filtering by groupPosition requires passing in a group filter.
Optional
|
Example Request
curl https://api.myvr.com/v1/properties/ -u YOUR_API_KEY:
Response
Example Response
{
"count": 100,
"limit": 25,
"offset": 25,
"next": "https://api.myvr.com/v1/properties/?offset=50",
"previous": "https://api.myvr.com/v1/properties/?offset=0",
"results": [
{
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"key": "b6b0f2fe278f612b",
"accessDescription": null,
"accommodates": 11,
"active": false,
"addressOne": "11496 Zermatt Dr",
"addressTwo": null,
"allowTurns": true,
"amenities": "https://api.myvr.com/v1/property-amenities/?propertyId=b6b0f2fe278f612b",
"averageNightlyRate": null,
"automaticallyApprove": false,
"baseNightlyRate": "395.00",
"baseRate": {
"uri": "https://api.myvr.com/v1/rates/660c299d4785c32e/",
"id": "660c299d4785c32e",
"key": "660c299d4785c32e",
"externalId": null,
"baseRate": true,
"changeoverDay": null,
"created": "2019-01-19T08:02:36Z",
"currency": "USD",
"endDate": "2020-01-18",
"maxStay": null,
"minStay": 3,
"modified": "2019-01-19T08:02:36Z",
"monthly": 0,
"name": "Base Rate",
"weekNight": 39500,
"nightly": 39500,
"position": 0,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"ratePlan": {
"uri": "https://api.myvr.com/v1/rate-plans/862caa3f5267602d/",
"key": "862caa3f5267602d",
"name": "Default Rates for Property"
},
"repeat": true,
"startDate": "2020-01-18",
"weekend": 0,
"weekendNight": 0,
"weekly": 250000
},
"bathrooms": "4.0",
"bedrooms": 4,
"bookingPolicy": {
"uri": "https://api.myvr.com/v1/booking-policies/c995cdd998621495/",
"key": "c995cdd998621495"
},
"bookingUrl": "https://myvr.com/reservation/redirect/booking/b6b0f2fe278f612b/",
"building": null,
"buildingAccess": null,
"checkInMethod": null,
"checkInInstructions": null,
"checkInTime": "16:00:00",
"checkOutInstructions": null,
"checkOutTime": "10:00:00",
"childProperties": [],
"city": "Truckee",
"commissionStructure": null,
"countryCode": "US",
"created": "2016-01-19T00:01:48Z",
"currency": "USD",
"customFields": {},
"description": "Luxurious living, scenic mountain setting, entertainment galore. Located on a quiet street in Tahoe Donner, our well equipped modern home is nestled into the wilderness. A babbling creek greets visitors approaching the front step as it collects into a small pond with a cascading waterfall. <br/>\n<br/>\nInside, over 3,000 sqft of luxurious living space divides itself between two floors. On the first floor, a beautiful kitchen with granite counters, gas stove and stainless steel appliances opens to a large great room centered around a wood burning fireplace and featuring 30' soaring ceilings. A spacious loft overlooks the great room, showcasing a large poker/card table. Upstairs features a large entertainment room, complete with wet bar, shuffleboard table, and state-of-the-art television setup with surround sound. The scenic backyard is accessible from a large deck featuring a new hot tub with seating for 7.",
"drivingDirections": null,
"externalId": null,
"feePlan": {
"uri": "https://api.myvr.com/v1/fee-plans/4d1c44383755051b/",
"key": "4d1c44383755051b",
"name": "Default Fees for Listing"
},
"headline": "Beautiful Four Bedroom Lake Front Property",
"houseRules": null,
"instantBookingsEnabled": false,
"lat": "39.3422523000",
"level": "unit",
"localAreaDescription": "Tahoe Donner is a year round activity resort. The amenities include private beach/boat launching facilities, pools, recreation center, tennis, horseback riding, golf, downhill skiing as well as cross country skiing. Truckee is a historical mining town-having a western feel but also has museums, theaters, fine dining plus 2 large supermarkets-all less than 3 miles from the house. Our home is also located within a 15 minute drive to 4 major ski resorts. Downtown Reno is a short 40 minute drive away for those seeking a night on the town or the thrill of a Nevada casino.",
"lon": "-120.2271947000",
"lowestNightlyRate": "395.00",
"manual": "",
"modified": "2019-10-18T17:18:43Z",
"name": "API Demo Property",
"owner": null,
"parkingInformation": null,
"photo": {
"downloadUrl": "https://image.myvr.com/b45b80f1d8764037/729dc028c692c4a0/a391b295c6.jpg",
"uri": "https://api.myvr.com/v1/photos/6448434688411bc1123dbd84eb4119e4/",
"key": "6448434688411bc1123dbd84eb4119e4"
},
"postalCode": "96161",
"ratePlan": {
"uri": "https://api.myvr.com/v1/rate-plans/862caa3f5267602d/",
"key": "862caa3f5267602d",
"name": "Default Rates for Property"
},
"ratePlanLocked": false,
"region": "CA",
"shortCode": "API",
"size": 3000,
"slug": "api-demo-property",
"suitableElderly": "yes",
"suitableEvents": "unknown",
"suitableGroups": "yes",
"suitableHandicap": "no",
"suitableInfants": "unknown",
"suitableKids": "yes",
"suitablePets": "no",
"suitableSmoking": "no",
"transitDescription": null,
"type": "house",
"weekendNights": [
5,
6
],
"wifiNetwork": null,
"wifiPassword": null
}
]
}
NOTE: The above example response only shows one result
for brevity, whereas the meta info indicates it should
have 25.
Reset Property Rates
Please see Rate Plan - Reset Rates Endpoint for a simpler way to manage rates on a rate plan. This endpoint is maintained for backward compatibility, which leads to an unfortunate level of complexity, documented below.
Special bulk endpoint to reset rates for a property in an atomic request. Submit a collection of Rate Objects for an individual property, and all existing rates for that property will be replaced by those provided. The collection of rates should be submitted to the endpoint as an array of Rate Objects using an HTTP PUT.
The behavior of this endpoint varies depending on how you connect to it:
-
3rd Party Applications Using OAuth
When this endpoint is called by 3rd party applications using an OAuth connection, we'll reset the rates on a Rate Plan specific to your application, creating a new rate plan for this property if needed. We will automatically set the application Rate Plan as the active rate plan for the property, provided it's not locked.
-
API Keys
When calling this endpoint using an API Key, we'll reset the rates on the default Rate Plan for the property. We will automatically set default Rate Plan as the active rate plan for the property, provided it's not locked.
Property Rate Plan Selection Locks
Account holders have the option to lock which rate plan is selected for a property, preventing API calls from changing the selected rate plan. When the selected rate plan for a property is locked, calls to this endpoint WILL update the rates on the appropriate rate plan as expected (see above), but WILL NOT automatically switch the property to use the updated rate plan.
See the field ratePlanLocked
on the
Property Object
to determine if a property has locked the selection
of it's rate plan.
Endpoint
PUT https://api.myvr.com/v1/properties/{KEY}/rates/
Arguments
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
baseRateboolean |
A flag indicating this rate is the base rate for the property. Each property should have one base rate that is used when no other rates apply.
|
changeoverDayinteger |
The changeover day is an optional settings that restricts rentals to weeklong increments. If a day of the week is specified, rentals must select this day as the check-in and check-out day. This is useful if you require Saturday to Saturday rentals, for example. ISO standard values are used: 1 = Monday, 2 = Tuesday, ... 7 = Sunday.
Min Value:
1
Max Value:
7
|
endDatedate |
The ending date for which the rate applies. Base rates do not require end dates, and if provided, are ignored. Repeating rates ignore the year portion of the end date.
|
maxStayinteger |
The maximum stay is an optional maximum number of nights allowed for a reservation with this rate.
Min Value:
1
|
minStayinteger |
The minimum number of nights required for a reservation with this rate.
|
monthlyinteger |
The amount to charge per month for this rate. Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
namestring |
The name of the rate, as presented to renters.
|
weekNightinteger |
[Deprecated, use `nightly`]. The nightly rate for a day that is classified as a week night. A day is classified as a week night based on the weekendNights setting of the associated property.Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
Deprecated
|
nightlyinteger |
The base nightly rate for for this rental period. Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
positioninteger |
The position of this rate relative to other rates for this property. The value of position is used to determine the order in which rates are shown to renters.
|
propertystring |
The property the rate belongs to. For create/update operations, this can be the URI , id , key , or externalId of the property. For create/update operations, you must specify either the ratePlan or property but never both. If the ratePlan is not provided but the property is, the rate will be assigned to the default rate plan for the property, even if it's not the active rate plan for the property.
|
ratePlanstring |
The plan this rate belongs to. For create/update operations, this can be the URI or key of the rate plan. For create/update operations, you must specify either the `ratePlan` or `property` but never both. If the `ratePlan` is not provided but the `property` is, the rate will be assigned to the default rate plan for the property, even if it's not the active rate plan for the property. |
repeatboolean |
A flag indicating the rate repeats every year on the same start and end date (month and day only). If true, the year portion of startDate and endDate are ignored.
|
startDatedate |
The starting date for which the rate applies. Base rates do not require start dates, and if provided, are ignored. Repeating rates ignore the year portion of the start date.
|
weekendinteger |
The amount to charge for an entire weekend for this rate.Weekends are determined by the weekendNights setting of the associated property.Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
weekendNightinteger |
The nightly rate for a day that is classified as a weekend night. A day is classified as a weekend night based on the weekendNights setting of the associated property. If provided, this rate supersedes the nightly rate for weekendNights .Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
weeklyinteger |
The amount to charge per week for this rate. Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
Example Request
curl https://api.myvr.com/v1/properties/{KEY}/rates/ -u YOUR_API_KEY: -X PUT
Response
If successful, all rates on the rate plan will be replace with the rates provided. If the rate plan on the property isn't currently locked, the updated rate plan will automatically be assigned to the property, updating the rates on the property.
Photos
A collection of photos of your property. These can be displayed on your website(s), 3rd party listings, and more.
The Photo Object
Attributes
uriuri |
The uniform resource identifier for the object.
|
||||||||
idstring |
The unique identifier of the object in MyVR. This can be used to retrieve the object.
Deprecated
|
||||||||
keystring |
The unique identifier of the object in MyVR. This can be used to retrieve the object.
|
||||||||
altTextstring |
Text that can be used to convey the same message as the image.
|
||||||||
captionstring |
A caption to accompany the image.
|
||||||||
createddatetime |
The ISO-8601 datetime the object was created in MyVR.
|
||||||||
downloadUrlstring |
A public URL on the MyVR platform where this photo can be downloaded from. When saving a new photo to MyVR, a new downloadUrl will be immediately returned, but it may take a few minutes for the photo to be processed before it works.
|
||||||||
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
||||||||
modifieddatetime |
The ISO-8601 datetime the object was last modified in MyVR.
|
||||||||
positioninteger |
The position of the photo. Photos are sorted by position on various marketing channels.
|
||||||||
propertystring |
The property this object relates to. For create and update operations, this can be the URI , key , or externalId .
|
||||||||
titlestring |
A title for the photo.
|
||||||||
uploadErrorstring |
If a photo upload fails, we'll report the error that occurred here.
|
||||||||
uploadStatuschoice |
The status of the photo upload. When you create a photo and provide a sourceUrl , we create the photo object within the initial request cycle and asynchronously trigger an upload of the photo to MyVR. The upload process happens outside of the initial API request cycle and will succeed or fail at a later point in time. You can check on the status of the asynchronous upload at any time after creation by fetching the photo and checking the uploadStatus , which will eventually be in a successful or failed state.
|
Example Response
{
"uri": "https://api.myvr.com/v1/photos/ca4bef0f8c60be55158aa2250e9d8330/",
"id": "ca4bef0f8c60be55158aa2250e9d8330",
"key": "ca4bef0f8c60be55158aa2250e9d8330",
"altText": null,
"caption": null,
"created": "2016-01-19T00:11:30Z",
"downloadUrl": "//image.myvr.com/b45b80f1d8764037/729dc028c692c4a0/house-front.jpg",
"externalId": null,
"modified": "2016-08-09T19:03:38Z",
"position": 2,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"title": null,
"uploadError": "",
"uploadStatus": "successful"
}
Create Photo
Create a new photo on your MyVR account. When a
photo is created, it will be assigned a
key
.
When you create a photo and provide a
sourceUrl
, we create the Photo Object
within the initial request cycle and asynchronously
trigger an upload of the photo to MyVR. The upload
process happens outside of the initial API request
cycle and will succeed or fail at a later point in time.
You can check on the status of the asynchronous upload
at any time after creation by fetching the photo and
checking the uploadStatus
, which will
eventually be in a successful
or
failed
state.
Endpoint
POST https://api.myvr.com/v1/photos/
Arguments
altTextstring |
Text that can be used to convey the same message as the image.
|
captionstring |
A caption to accompany the image.
|
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
positioninteger |
The position of the photo. Photos are sorted by position on various marketing channels.
|
propertystring |
The property this object relates to. For create and update operations, this can be the URI , key , or externalId .
Required
|
sourceUrlurl |
The source URL where the photo can be downloaded and imported from. This URL should be publicly accessible.
Required
|
titlestring |
A title for the photo.
|
Example Request
curl https://api.myvr.com/v1/photos/ -u YOUR_API_KEY:
-d property="b6b0f2fe278f612b"
-d sourceUrl=""
Response
If successfully created, a Photo Object is returned
with a newly assigned key
. You can use this
key
to retrieve or update the photo in the
future. If creation fails, an http error will be
returned.
When you create a photo and provide a
sourceUrl
, we create the Photo Object
within the initial request cycle and asynchronously
trigger an upload of the photo to MyVR. The upload
process happens outside of the initial API request
cycle and will succeed or fail at a later point in time.
You can check on the status of the asynchronous upload
at any time after creation by fetching the photo and
checking the uploadStatus
, which will
eventually be in a successful
or
failed
state.
Example Response
{
"uri": "https://api.myvr.com/v1/photos/ca4bef0f8c60be55158aa2250e9d8330/",
"id": "ca4bef0f8c60be55158aa2250e9d8330",
"key": "ca4bef0f8c60be55158aa2250e9d8330",
"altText": null,
"caption": null,
"created": "2016-01-19T00:11:30Z",
"downloadUrl": "//image.myvr.com/b45b80f1d8764037/729dc028c692c4a0/house-front.jpg",
"externalId": null,
"modified": "2016-08-09T19:03:38Z",
"position": 2,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"title": null,
"uploadError": "",
"uploadStatus": "successful"
}
Retrieve Photo
Endpoint
GET https://api.myvr.com/v1/photos/{KEY}/
Arguments
keystring |
The identifier of the Photo to retrieve. The identifier can be a MyVR
Photo key , which is provided after you create a Photo,
or an externalId you've set on the Photo.
Required
|
Example Request
curl https://api.myvr.com/v1/photos/{KEY}/ -u YOUR_API_KEY:
Example Response
{
"uri": "https://api.myvr.com/v1/photos/ca4bef0f8c60be55158aa2250e9d8330/",
"id": "ca4bef0f8c60be55158aa2250e9d8330",
"key": "ca4bef0f8c60be55158aa2250e9d8330",
"altText": null,
"caption": null,
"created": "2016-01-19T00:11:30Z",
"downloadUrl": "//image.myvr.com/b45b80f1d8764037/729dc028c692c4a0/house-front.jpg",
"externalId": null,
"modified": "2016-08-09T19:03:38Z",
"position": 2,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"title": null,
"uploadError": "",
"uploadStatus": "successful"
}
Update Photo
key
or externalId
in the URL.
Endpoint
PUT or PATCH https://api.myvr.com/v1/photos/{KEY}/
Arguments
keystring |
The identifier of the Photo to update. The identifier can be a MyVR
Photo key , which is provided after you create a Photo,
or an externalId you've set on the Photo.
|
altTextstring |
Text that can be used to convey the same message as the image.
|
captionstring |
A caption to accompany the image.
|
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
positioninteger |
The position of the photo. Photos are sorted by position on various marketing channels.
|
propertystring |
The property this object relates to. For create and update operations, this can be the URI , key , or externalId .
|
sourceUrlurl |
The source URL where the photo can be downloaded and imported from. This URL should be publicly accessible.
|
titlestring |
A title for the photo.
|
Example Request
curl https://api.myvr.com/v1/photos/{KEY}/ -u YOUR_API_KEY: -X PATCH
-d altText=null
Example Response
{
"uri": "https://api.myvr.com/v1/photos/ca4bef0f8c60be55158aa2250e9d8330/",
"id": "ca4bef0f8c60be55158aa2250e9d8330",
"key": "ca4bef0f8c60be55158aa2250e9d8330",
"altText": null,
"caption": null,
"created": "2016-01-19T00:11:30Z",
"downloadUrl": "//image.myvr.com/b45b80f1d8764037/729dc028c692c4a0/house-front.jpg",
"externalId": null,
"modified": "2016-08-09T19:03:38Z",
"position": 2,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"title": null,
"uploadError": "",
"uploadStatus": "successful"
}
Delete Photo
Endpoint
DELETE https://api.myvr.com/v1/photos/{KEY}/
Arguments
keystring |
The identifier of the Photo to delete. The identifier can be a MyVR
Photo key , which is provided after you create a Photo,
or an externalId you've set on the Photo.
Required
|
Example Request
curl https://api.myvr.com/v1/photos/{KEY}/ -u YOUR_API_KEY: -X DELETE
Response
Example Response
{}
List Photos
Endpoint
GET https://api.myvr.com/v1/photos/
Arguments
idstring |
Find results by id, uri, or externalId.
Optional
|
modifiedstring |
Find results modified after this date and time.
Optional
|
propertystring |
Find by key , uri or externalId of the associated property.
Optional
|
uploadStatuschoice |
Find photos matching the upload status.
Optional
|
Example Request
curl https://api.myvr.com/v1/photos/ -u YOUR_API_KEY:
Response
Example Response
{
"count": 100,
"limit": 25,
"offset": 25,
"next": "https://api.myvr.com/v1/photos/?offset=50",
"previous": "https://api.myvr.com/v1/photos/?offset=0",
"results": [
{
"uri": "https://api.myvr.com/v1/photos/ca4bef0f8c60be55158aa2250e9d8330/",
"id": "ca4bef0f8c60be55158aa2250e9d8330",
"key": "ca4bef0f8c60be55158aa2250e9d8330",
"altText": null,
"caption": null,
"created": "2016-01-19T00:11:30Z",
"downloadUrl": "//image.myvr.com/b45b80f1d8764037/729dc028c692c4a0/house-front.jpg",
"externalId": null,
"modified": "2016-08-09T19:03:38Z",
"position": 2,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"title": null,
"uploadError": "",
"uploadStatus": "successful"
}
]
}
NOTE: The above example response only shows one result
for brevity, whereas the meta info indicates it should
have 25.
Rooms
One of the most common questions asked by guests is 'how are the beds arranged by room'? You can define room objects with associated beds to answer this question for renters.
The Room Object
Attributes
uriuri |
The uniform resource identifier for the object.
|
||||||||||||||||||||||||||||||||||||||||||||||||
idstring |
The unique identifier of the object in MyVR. This can be used to retrieve the object.
Deprecated
|
||||||||||||||||||||||||||||||||||||||||||||||||
keystring |
The unique identifier of the object in MyVR. This can be used to retrieve the object.
|
||||||||||||||||||||||||||||||||||||||||||||||||
bedCountinteger |
The number of beds in the room.
|
||||||||||||||||||||||||||||||||||||||||||||||||
bedsnested |
The beds in the room.
|
||||||||||||||||||||||||||||||||||||||||||||||||
createddatetime |
The ISO-8601 datetime the object was created in MyVR.
|
||||||||||||||||||||||||||||||||||||||||||||||||
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
||||||||||||||||||||||||||||||||||||||||||||||||
modifieddatetime |
The ISO-8601 datetime the object was last modified in MyVR.
|
||||||||||||||||||||||||||||||||||||||||||||||||
propertystring |
The property this object relates to. For create and update operations, this can be the URI , key , or externalId .
|
||||||||||||||||||||||||||||||||||||||||||||||||
typechoice |
The type of bedroom.
|
Example Response
{
"uri": "https://api.myvr.com/v1/rooms/b025f414d1df50a6/",
"id": "b025f414d1df50a6",
"key": "b025f414d1df50a6",
"bedCount": 1,
"beds": [
{
"mattress": "box",
"size": "king",
"type": "standard"
}
],
"created": "2016-01-19T00:03:25Z",
"externalId": null,
"modified": "2016-01-19T00:05:21Z",
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"type": "master"
}
Create Room
Create a new Room on your MyVR account. When a Room is created,
it will be assigned a key
.
Endpoint
POST https://api.myvr.com/v1/rooms/
Arguments
bedsnested |
The beds in the room.
|
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
propertystring |
The property this object relates to. For create and update operations, this can be the URI , key , or externalId .
Required
|
typechoice |
The type of bedroom.
Default:
bedroom
|
Example Request
curl https://api.myvr.com/v1/rooms/ -u YOUR_API_KEY:
-d property="b6b0f2fe278f612b"
Response
key
. You can use this key
to retrieve or
update the Room in the future. If creation fails, an http error will
be returned.
Example Response
{
"uri": "https://api.myvr.com/v1/rooms/b025f414d1df50a6/",
"id": "b025f414d1df50a6",
"key": "b025f414d1df50a6",
"bedCount": 1,
"beds": [
{
"mattress": "box",
"size": "king",
"type": "standard"
}
],
"created": "2016-01-19T00:03:25Z",
"externalId": null,
"modified": "2016-01-19T00:05:21Z",
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"type": "master"
}
Retrieve Room
Endpoint
GET https://api.myvr.com/v1/rooms/{KEY}/
Arguments
keystring |
The identifier of the Room to retrieve. The identifier can be a MyVR
Room key , which is provided after you create a Room,
or an externalId you've set on the Room.
Required
|
Example Request
curl https://api.myvr.com/v1/rooms/{KEY}/ -u YOUR_API_KEY:
Example Response
{
"uri": "https://api.myvr.com/v1/rooms/b025f414d1df50a6/",
"id": "b025f414d1df50a6",
"key": "b025f414d1df50a6",
"bedCount": 1,
"beds": [
{
"mattress": "box",
"size": "king",
"type": "standard"
}
],
"created": "2016-01-19T00:03:25Z",
"externalId": null,
"modified": "2016-01-19T00:05:21Z",
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"type": "master"
}
Update Room
key
or externalId
in the URL.
Endpoint
PUT or PATCH https://api.myvr.com/v1/rooms/{KEY}/
Arguments
keystring |
The identifier of the Room to update. The identifier can be a MyVR
Room key , which is provided after you create a Room,
or an externalId you've set on the Room.
|
bedsnested |
The beds in the room.
|
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
propertystring |
The property this object relates to. For create and update operations, this can be the URI , key , or externalId .
|
typechoice |
The type of bedroom.
|
Example Request
curl https://api.myvr.com/v1/rooms/{KEY}/ -u YOUR_API_KEY: -X PATCH
-d bedCount=1
Example Response
{
"uri": "https://api.myvr.com/v1/rooms/b025f414d1df50a6/",
"id": "b025f414d1df50a6",
"key": "b025f414d1df50a6",
"bedCount": 1,
"beds": [
{
"mattress": "box",
"size": "king",
"type": "standard"
}
],
"created": "2016-01-19T00:03:25Z",
"externalId": null,
"modified": "2016-01-19T00:05:21Z",
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"type": "master"
}
Delete Room
Endpoint
DELETE https://api.myvr.com/v1/rooms/{KEY}/
Arguments
keystring |
The identifier of the Room to delete. The identifier can be a MyVR
Room key , which is provided after you create a Room,
or an externalId you've set on the Room.
Required
|
Example Request
curl https://api.myvr.com/v1/rooms/{KEY}/ -u YOUR_API_KEY: -X DELETE
Response
Example Response
{}
List Rooms
Endpoint
GET https://api.myvr.com/v1/rooms/
Arguments
idstring |
Find results by id, uri, or externalId.
Optional
|
modifiedstring |
Find results modified after this date and time.
Optional
|
propertystring |
Find by key , uri or externalId of the associated property.
Optional
|
Example Request
curl https://api.myvr.com/v1/rooms/ -u YOUR_API_KEY:
Response
Example Response
{
"count": 100,
"limit": 25,
"offset": 25,
"next": "https://api.myvr.com/v1/rooms/?offset=50",
"previous": "https://api.myvr.com/v1/rooms/?offset=0",
"results": [
{
"uri": "https://api.myvr.com/v1/rooms/b025f414d1df50a6/",
"id": "b025f414d1df50a6",
"key": "b025f414d1df50a6",
"bedCount": 1,
"beds": [
{
"mattress": "box",
"size": "king",
"type": "standard"
}
],
"created": "2016-01-19T00:03:25Z",
"externalId": null,
"modified": "2016-01-19T00:05:21Z",
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"type": "master"
}
]
}
NOTE: The above example response only shows one result
for brevity, whereas the meta info indicates it should
have 25.
Amenities
A property can have a number of defined amenities associated with it. This can be everything from a hot tub to a blender.
You can send a GET request to
https://api.myvr.com/v1/amenities/
to view a list of amenities that
you can register to a property.
The Amenity Object
Attributes
uriuri |
The uniform resource identifier for the object.
|
idstring |
The unique identifier of the object in MyVR. This can be used to retrieve the object.
Deprecated
|
keystring |
The unique identifier of the object in MyVR. This can be used to retrieve the object.
|
amenitystring |
The URI of the defined amenity in MyVR.
|
countinteger |
The number of occurrences of this amenity on the property.
|
createddatetime |
The ISO-8601 datetime the object was created in MyVR.
|
detailsstring |
Additional helpful details about the amenity.
|
modifieddatetime |
The ISO-8601 datetime the object was last modified in MyVR.
|
nameOverridestring |
Override the name of this amenity, if different from the defined amenity name.
|
propertystring |
The property this object relates to. For create and update operations, this can be the URI , key , or externalId .
|
Example Response
{
"uri": "https://api.myvr.com/v1/property-amenities/511aa5902ace5ab2/",
"id": "511aa5902ace5ab2",
"key": "511aa5902ace5ab2",
"amenity": {
"name": "Grill",
"externalId": null,
"uri": "https://api.myvr.com/v1/amenities/4db2e44fcc4cae7f/",
"key": "4db2e44fcc4cae7f",
"id": "4db2e44fcc4cae7f"
},
"count": 1,
"created": "2016-01-19T00:09:04Z",
"details": null,
"modified": "2016-01-19T00:09:04Z",
"nameOverride": "Grill",
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
}
}
Create Amenity
Create a new Amenity on your MyVR account. When a Amenity is created,
it will be assigned a key
.
Endpoint
POST https://api.myvr.com/v1/property-amenities/
Arguments
amenitystring |
The URI of the defined amenity in MyVR.
Required
|
countinteger |
The number of occurrences of this amenity on the property.
Min Value:
1
|
detailsstring |
Additional helpful details about the amenity.
|
nameOverridestring |
Override the name of this amenity, if different from the defined amenity name.
|
propertystring |
The property this object relates to. For create and update operations, this can be the URI , key , or externalId .
Required
|
Example Request
curl https://api.myvr.com/v1/property-amenities/ -u YOUR_API_KEY:
-d amenity="4db2e44fcc4cae7f"
-d property="b6b0f2fe278f612b"
Response
key
. You can use this key
to retrieve or
update the Amenity in the future. If creation fails, an http error will
be returned.
Example Response
{
"uri": "https://api.myvr.com/v1/property-amenities/511aa5902ace5ab2/",
"id": "511aa5902ace5ab2",
"key": "511aa5902ace5ab2",
"amenity": {
"name": "Grill",
"externalId": null,
"uri": "https://api.myvr.com/v1/amenities/4db2e44fcc4cae7f/",
"key": "4db2e44fcc4cae7f",
"id": "4db2e44fcc4cae7f"
},
"count": 1,
"created": "2016-01-19T00:09:04Z",
"details": null,
"modified": "2016-01-19T00:09:04Z",
"nameOverride": "Grill",
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
}
}
Retrieve Amenity
Endpoint
GET https://api.myvr.com/v1/property-amenities/{KEY}/
Arguments
keystring |
The identifier of the Amenity to retrieve. The identifier can be a MyVR
Amenity key , which is provided after you create a Amenity,
or an externalId you've set on the Amenity.
Required
|
Example Request
curl https://api.myvr.com/v1/property-amenities/{KEY}/ -u YOUR_API_KEY:
Example Response
{
"uri": "https://api.myvr.com/v1/property-amenities/511aa5902ace5ab2/",
"id": "511aa5902ace5ab2",
"key": "511aa5902ace5ab2",
"amenity": {
"name": "Grill",
"externalId": null,
"uri": "https://api.myvr.com/v1/amenities/4db2e44fcc4cae7f/",
"key": "4db2e44fcc4cae7f",
"id": "4db2e44fcc4cae7f"
},
"count": 1,
"created": "2016-01-19T00:09:04Z",
"details": null,
"modified": "2016-01-19T00:09:04Z",
"nameOverride": "Grill",
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
}
}
Update Amenity
key
or externalId
in the URL.
Endpoint
PUT or PATCH https://api.myvr.com/v1/property-amenities/{KEY}/
Arguments
keystring |
The identifier of the Amenity to update. The identifier can be a MyVR
Amenity key , which is provided after you create a Amenity,
or an externalId you've set on the Amenity.
|
amenitystring |
The URI of the defined amenity in MyVR.
|
countinteger |
The number of occurrences of this amenity on the property.
Min Value:
1
|
detailsstring |
Additional helpful details about the amenity.
|
nameOverridestring |
Override the name of this amenity, if different from the defined amenity name.
|
propertystring |
The property this object relates to. For create and update operations, this can be the URI , key , or externalId .
|
Example Request
curl https://api.myvr.com/v1/property-amenities/{KEY}/ -u YOUR_API_KEY: -X PATCH
-d amenity="4db2e44fcc4cae7f"
Example Response
{
"uri": "https://api.myvr.com/v1/property-amenities/511aa5902ace5ab2/",
"id": "511aa5902ace5ab2",
"key": "511aa5902ace5ab2",
"amenity": {
"name": "Grill",
"externalId": null,
"uri": "https://api.myvr.com/v1/amenities/4db2e44fcc4cae7f/",
"key": "4db2e44fcc4cae7f",
"id": "4db2e44fcc4cae7f"
},
"count": 1,
"created": "2016-01-19T00:09:04Z",
"details": null,
"modified": "2016-01-19T00:09:04Z",
"nameOverride": "Grill",
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
}
}
Delete Amenity
Endpoint
DELETE https://api.myvr.com/v1/property-amenities/{KEY}/
Arguments
keystring |
The identifier of the Amenity to delete. The identifier can be a MyVR
Amenity key , which is provided after you create a Amenity,
or an externalId you've set on the Amenity.
Required
|
Example Request
curl https://api.myvr.com/v1/property-amenities/{KEY}/ -u YOUR_API_KEY: -X DELETE
Response
Example Response
{}
List Amenities
Endpoint
GET https://api.myvr.com/v1/property-amenities/
Arguments
idstring |
Find results by id, uri, or externalId.
Optional
|
modifiedstring |
Find results modified after this date and time.
Optional
|
propertystring |
Find by key , uri or externalId of the associated property.
Optional
|
amenitystring |
Find by key , uri or externalId of the associated amenity.
Optional
|
Example Request
curl https://api.myvr.com/v1/property-amenities/ -u YOUR_API_KEY:
Response
Example Response
{
"count": 100,
"limit": 25,
"offset": 25,
"next": "https://api.myvr.com/v1/property-amenities/?offset=50",
"previous": "https://api.myvr.com/v1/property-amenities/?offset=0",
"results": [
{
"uri": "https://api.myvr.com/v1/property-amenities/511aa5902ace5ab2/",
"id": "511aa5902ace5ab2",
"key": "511aa5902ace5ab2",
"amenity": {
"name": "Grill",
"externalId": null,
"uri": "https://api.myvr.com/v1/amenities/4db2e44fcc4cae7f/",
"key": "4db2e44fcc4cae7f",
"id": "4db2e44fcc4cae7f"
},
"count": 1,
"created": "2016-01-19T00:09:04Z",
"details": null,
"modified": "2016-01-19T00:09:04Z",
"nameOverride": "Grill",
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
}
}
]
}
NOTE: The above example response only shows one result
for brevity, whereas the meta info indicates it should
have 25.
Calendar Events
A property's calendar is composed of calendar events. These events represent lengths of time that a property is available or unavailable for various reasons.
While calendar events are helpful for understanding a property's availability, they may not tell the whole story for Unit-Type Inventory. If you would like to retrieve the availability for a property, please use the Daily Availability endpoint.
The Calendar Event Object
Attributes
uriuri |
The uniform resource identifier for the object.
|
||||||||||
idstring |
The unique identifier of the object in MyVR. This can be used to retrieve the object.
Deprecated
|
||||||||||
keystring |
The unique identifier of the object in MyVR. This can be used to retrieve the object.
|
||||||||||
propertystring |
The property this object relates to. For create and update operations, this can be the URI , key , or externalId .
|
||||||||||
startDatedate |
The date at which the calendar event begins.
|
||||||||||
endDatedate |
The date at which the calendar event ends.
|
||||||||||
statuschoice |
The status of the event, selected from the list of choices below.
|
||||||||||
titlestring |
The title of the event.
|
||||||||||
editableboolean |
Whether or not this event can be updated or deleted via the API.
|
||||||||||
reservationstring |
The reservation this calendar event relates to, if applicable.
|
||||||||||
createddatetime |
The ISO-8601 datetime the object was created in MyVR.
|
Example Response
{
"uri": "https://api.myvr.com/v1/events/cd5dc8b7e8fd2512/",
"id": "cd5dc8b7e8fd2512",
"key": "cd5dc8b7e8fd2512",
"property": {
"uri": {
"externalId": null,
"uri": "https://api.myvr.com/v1/properties/789ca6a43a7d3a08/",
"key": "789ca6a43a7d3a08",
"id": "789ca6a43a7d3a08"
},
"externalId": null,
"id": "789ca6a43a7d3a08",
"key": "789ca6a43a7d3a08",
"name": "Tahoe Snow House"
},
"startDate": "2016-02-01",
"endDate": "2016-02-07",
"status": "reserved",
"title": "John Doe",
"editable": false,
"reservation": {
"externalId": null,
"uri": "https://api.myvr.com/v1/reservations/f1832913b3cc3d7d/",
"key": "f1832913b3cc3d7d",
"id": "f1832913b3cc3d7d"
},
"created": "2016-02-19T00:59:37Z"
}
Create Calendar Event
Create a new Calendar Event on your MyVR account. When a Calendar Event is created,
it will be assigned a key
.
Endpoint
POST https://api.myvr.com/v1/calendar-events/
Arguments
propertystring |
The property this object relates to. For create and update operations, this can be the URI , key , or externalId .
Required
|
startDatedate |
The date at which the calendar event begins.
Required
|
endDatedate |
The date at which the calendar event ends.
Required
|
statuschoice |
The status of the event, selected from the list of choices below.
Required
|
titlestring |
The title of the event.
|
Example Request
curl https://api.myvr.com/v1/calendar-events/ -u YOUR_API_KEY:
-d property="789ca6a43a7d3a08"
-d startDate="2016-02-01"
-d endDate="2016-02-07"
-d status="reserved"
Response
key
. You can use this key
to retrieve or
update the Calendar Event in the future. If creation fails, an http error will
be returned.
Example Response
{
"uri": "https://api.myvr.com/v1/events/cd5dc8b7e8fd2512/",
"id": "cd5dc8b7e8fd2512",
"key": "cd5dc8b7e8fd2512",
"property": {
"uri": {
"externalId": null,
"uri": "https://api.myvr.com/v1/properties/789ca6a43a7d3a08/",
"key": "789ca6a43a7d3a08",
"id": "789ca6a43a7d3a08"
},
"externalId": null,
"id": "789ca6a43a7d3a08",
"key": "789ca6a43a7d3a08",
"name": "Tahoe Snow House"
},
"startDate": "2016-02-01",
"endDate": "2016-02-07",
"status": "reserved",
"title": "John Doe",
"editable": false,
"reservation": {
"externalId": null,
"uri": "https://api.myvr.com/v1/reservations/f1832913b3cc3d7d/",
"key": "f1832913b3cc3d7d",
"id": "f1832913b3cc3d7d"
},
"created": "2016-02-19T00:59:37Z"
}
Retrieve Calendar Event
Endpoint
GET https://api.myvr.com/v1/calendar-events/{KEY}/
Arguments
keystring |
The identifier of the Calendar Event to retrieve. The identifier can be a MyVR
Calendar Event key , which is provided after you create a Calendar Event,
or an externalId you've set on the Calendar Event.
Required
|
Example Request
curl https://api.myvr.com/v1/calendar-events/{KEY}/ -u YOUR_API_KEY:
Example Response
{
"uri": "https://api.myvr.com/v1/events/cd5dc8b7e8fd2512/",
"id": "cd5dc8b7e8fd2512",
"key": "cd5dc8b7e8fd2512",
"property": {
"uri": {
"externalId": null,
"uri": "https://api.myvr.com/v1/properties/789ca6a43a7d3a08/",
"key": "789ca6a43a7d3a08",
"id": "789ca6a43a7d3a08"
},
"externalId": null,
"id": "789ca6a43a7d3a08",
"key": "789ca6a43a7d3a08",
"name": "Tahoe Snow House"
},
"startDate": "2016-02-01",
"endDate": "2016-02-07",
"status": "reserved",
"title": "John Doe",
"editable": false,
"reservation": {
"externalId": null,
"uri": "https://api.myvr.com/v1/reservations/f1832913b3cc3d7d/",
"key": "f1832913b3cc3d7d",
"id": "f1832913b3cc3d7d"
},
"created": "2016-02-19T00:59:37Z"
}
Update Calendar Event
key
or externalId
in the URL.
Endpoint
PUT or PATCH https://api.myvr.com/v1/calendar-events/{KEY}/
Arguments
keystring |
The identifier of the Calendar Event to update. The identifier can be a MyVR
Calendar Event key , which is provided after you create a Calendar Event,
or an externalId you've set on the Calendar Event.
|
propertystring |
The property this object relates to. For create and update operations, this can be the URI , key , or externalId .
|
startDatedate |
The date at which the calendar event begins.
|
endDatedate |
The date at which the calendar event ends.
|
statuschoice |
The status of the event, selected from the list of choices below.
|
titlestring |
The title of the event.
|
Example Request
curl https://api.myvr.com/v1/calendar-events/{KEY}/ -u YOUR_API_KEY: -X PATCH
-d property="789ca6a43a7d3a08"
Example Response
{
"uri": "https://api.myvr.com/v1/events/cd5dc8b7e8fd2512/",
"id": "cd5dc8b7e8fd2512",
"key": "cd5dc8b7e8fd2512",
"property": {
"uri": {
"externalId": null,
"uri": "https://api.myvr.com/v1/properties/789ca6a43a7d3a08/",
"key": "789ca6a43a7d3a08",
"id": "789ca6a43a7d3a08"
},
"externalId": null,
"id": "789ca6a43a7d3a08",
"key": "789ca6a43a7d3a08",
"name": "Tahoe Snow House"
},
"startDate": "2016-02-01",
"endDate": "2016-02-07",
"status": "reserved",
"title": "John Doe",
"editable": false,
"reservation": {
"externalId": null,
"uri": "https://api.myvr.com/v1/reservations/f1832913b3cc3d7d/",
"key": "f1832913b3cc3d7d",
"id": "f1832913b3cc3d7d"
},
"created": "2016-02-19T00:59:37Z"
}
Delete Calendar Event
Endpoint
DELETE https://api.myvr.com/v1/calendar-events/{KEY}/
Arguments
keystring |
The identifier of the Calendar Event to delete. The identifier can be a MyVR
Calendar Event key , which is provided after you create a Calendar Event,
or an externalId you've set on the Calendar Event.
Required
|
Example Request
curl https://api.myvr.com/v1/calendar-events/{KEY}/ -u YOUR_API_KEY: -X DELETE
Response
Example Response
{}
List Calendar Events
Endpoint
GET https://api.myvr.com/v1/calendar-events/
Arguments
idstring |
Find results by id, uri, or externalId.
Optional
|
modifiedstring |
Find results modified after this date and time.
Optional
|
propertystring |
The key or externalId of the property that the events are associated with.
Optional
|
startDatedate |
Only return calendar events that occur on or after the given date.
Optional
|
endDatedate |
Only return calendar events that occur on or before the given date.
Optional
|
editableboolean |
Only return editable calendar events when set to true . Exclude calendar events that are editable when set to false .
Optional
|
statusstring |
Restrict to calendar events with a specific status.
Optional
|
Example Request
curl https://api.myvr.com/v1/calendar-events/ -u YOUR_API_KEY:
Response
Example Response
{
"count": 100,
"limit": 25,
"offset": 25,
"next": "https://api.myvr.com/v1/calendar-events/?offset=50",
"previous": "https://api.myvr.com/v1/calendar-events/?offset=0",
"results": [
{
"uri": "https://api.myvr.com/v1/events/cd5dc8b7e8fd2512/",
"id": "cd5dc8b7e8fd2512",
"key": "cd5dc8b7e8fd2512",
"property": {
"uri": {
"externalId": null,
"uri": "https://api.myvr.com/v1/properties/789ca6a43a7d3a08/",
"key": "789ca6a43a7d3a08",
"id": "789ca6a43a7d3a08"
},
"externalId": null,
"id": "789ca6a43a7d3a08",
"key": "789ca6a43a7d3a08",
"name": "Tahoe Snow House"
},
"startDate": "2016-02-01",
"endDate": "2016-02-07",
"status": "reserved",
"title": "John Doe",
"editable": false,
"reservation": {
"externalId": null,
"uri": "https://api.myvr.com/v1/reservations/f1832913b3cc3d7d/",
"key": "f1832913b3cc3d7d",
"id": "f1832913b3cc3d7d"
},
"created": "2016-02-19T00:59:37Z"
}
]
}
NOTE: The above example response only shows one result
for brevity, whereas the meta info indicates it should
have 25.
Daily Availability
A breakdown of availability for a property by date. Includes rate information. This endpoint is the preferred method for retrieving availability for a property, particularly for Unit-Type Inventory, and provides more detailed information than the Calendar Events endpoint.
The Daily Availability Object
Attributes
datedate |
Date in ISO 8601 YYYY-MM-DD format.
|
nightlyRateinteger |
The nightly rate of the property for the specified date. Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
weeklyRateinteger |
The weekly rate of the property for the specified date. Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
monthlyRateinteger |
The monthly rate of the property for the specified date. Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
availableboolean |
If the property is available on this date.
|
minNightsinteger |
The minimum night stay required to book this date.
|
maxNightsinteger |
The maximum night stay allowed when booking this date.A value of zero indicates there is no limit.
|
closedForArrivalboolean |
If the property is unavailable for a check in on this day. If the property is a unit-type, closed for arrival is true if there are no units under the unit-type that can support an arrival on this day.
|
closedForDepartureboolean |
If the property is unavailable for a check out on this day.If the property is a unit-type, closed for departure is true if there are no units under the unit-type that can support a departure on this day.
|
unitsTotalinteger |
The total units potentially available for this date. This represents the total number of stays you can accommodate on this date without overbooking. If the number of unitsBooked exceeds the number of unitsTotal , the property is overbooked for the day. Note: This is helpful when retrieving availability for a unit-type property with multiple units underneath it.
Feature: Unit-Type Inventory
|
unitsAvailableinteger |
The total units currently available for this date. In other words, how many of the totalUnits are still available to be booked. This number will never be lower than zero, even when a property is over booked.Note: This is helpful when retrieving availability for a unit-type property with multiple units underneath it.
Feature: Unit-Type Inventory
|
unitsBookedinteger |
The total units currently booked for this date. This includes bookings made at the unit-type property as well as bookings made directly to individual units.If the unitsBooked exceeds unitsTotal , the property is overbooked for the date.Note: This is helpful when retrieving availability for a unit-type property with multiple units underneath it.
Feature: Unit-Type Inventory
|
List Daily Availability
Returns a list of Daily Availability Objects for a particular property and date range.
Endpoint
GET https://api.myvr.com/v1/availability/
Arguments
propertystring |
The property to retrieve availability for. This can be the URI , key , or externalId of the property.
Required
|
startDatedate |
The first day to retrieve availability for in ISO 8601 YYYY-MM-DD format. If not provided, the current date is assumed.
Optional
|
endDatedate |
The last day to retrieve availability for in ISO 8601 YYYY-MM-DD format. If not provided, 30 days from the startDate is assumed. A maximum of 1 year of availability can be retrieved in a single request.
Optional
|
Example Request
curl https://api.myvr.com/v1/availability/ -u YOUR_API_KEY:
Response
Property Hierarchy
A collection of hierarchy relationships between unit-type properties and the units that belong to them. Note: A single unit may belong to multiple unit-types simultaneously.
Feature Required: Unit-Type Inventory
The Property Hierarchy Object
Attributes
childPropertystring |
The child unit-level property in the hierarchy relationship.
|
parentPropertystring |
The parent unit-type property in the hierarchy relationship.
|
Example Response
{
"childProperty": {
"name": "Chestnut Street Suite",
"uri": "https://api.myvr.com/v1/properties/0b046adc9d108921/",
"id": "0b046adc9d108921",
"externalId": null,
"key": "0b046adc9d108921",
"slug": "chestnut-street-suite"
},
"parentProperty": {
"name": "Chestnut 1BR",
"uri": "https://api.myvr.com/v1/properties/8984b10486d3d67e/",
"id": "8984b10486d3d67e",
"externalId": null,
"key": "8984b10486d3d67e",
"slug": "chestnut-1br"
}
}
List Property Hierarchy
Returns a list of Property Hierarchy Objects matching the specified filters.
Endpoint
GET https://api.myvr.com/v1/property-hierarchy/
Arguments
childPropertystring |
Return all hierarchy entries with the provided property as the child. Use the key , uri or externalId of the associated property.
Optional
|
parentPropertystring |
Return all hierarchy entries with the provided property as the parent. Use the key , uri or externalId of the associated property.
Optional
|
idstring |
Find results by id, uri, or externalId.
Optional
|
modifiedstring |
Find results modified after this date and time.
Optional
|
Example Request
curl https://api.myvr.com/v1/property-hierarchy/ -u YOUR_API_KEY:
Response
Example Response
{
"count": 100,
"limit": 25,
"offset": 25,
"next": "https://api.myvr.com/v1/property-hierarchy/?offset=50",
"previous": "https://api.myvr.com/v1/property-hierarchy/?offset=0",
"results": [
{
"childProperty": {
"name": "Chestnut Street Suite",
"uri": "https://api.myvr.com/v1/properties/0b046adc9d108921/",
"id": "0b046adc9d108921",
"externalId": null,
"key": "0b046adc9d108921",
"slug": "chestnut-street-suite"
},
"parentProperty": {
"name": "Chestnut 1BR",
"uri": "https://api.myvr.com/v1/properties/8984b10486d3d67e/",
"id": "8984b10486d3d67e",
"externalId": null,
"key": "8984b10486d3d67e",
"slug": "chestnut-1br"
}
}
]
}
NOTE: The above example response only shows one result
for brevity, whereas the meta info indicates it should
have 25.
Reviews
A collection of reviews for properties. Reviews may be created by this endpoint, in the MyVR Dashboard, or imported from a channel.
The Review Object
Attributes
channelnested |
The channel the review was created on. A review with a channel cannot be modified.
|
contactstring |
The contact of the renter this review is for.
|
dateOfStaydate |
The date of the stay the review is for.
|
dateSubmitteddate |
The date the review was submitted to MyVR.
|
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
keystring |
The unique identifier of the object in MyVR. This can be used to retrieve the object.
|
lockedboolean |
The content fields of a locked reservation cannot be modified. The "publiclyVisible" can be modified regardless of lock status.
|
positioninteger |
The position of the review for display. Reviews are sorted by position and then creation time.
|
propertystring |
The property the review relates to. For create/update operations, this can be the URI , id , key , or externalId of the property.
|
publiclyVisibleboolean |
Whether this review is visible on the properties website.
|
ratinginteger |
The numerical rating assigned to the review.
|
reservationstring |
The reservation this review relates to. For create/update operations, this can be the URI , id , key , or externalId of the property.
|
responseTostring |
The review this review is a response to. For example a property manager replying to a renter's review.
|
reviewstring |
The textual review.
|
reviewerLocationstring |
The real world location of the reviewer
|
reviewerNamestring |
The name of the reviewer.
|
sourcestring |
The source of the review. If not provided, we'll assign a source of MyVR API.
|
titlestring |
The headline of the review.
|
uriuri |
The uniform resource identifier for the object.
|
Example Response
{
"channel": null,
"contact": null,
"dateOfStay": "2012-01-31",
"dateSubmitted": "2012-01-31",
"externalId": "",
"key": "f202e65d6868c95124bd032b3745883c",
"locked": null,
"position": 0,
"property": {
"name": "Tahoe Creek House",
"uri": "https://api.myvr.com/v1/properties/c20252028f3fb731/",
"id": "c20252028f3fb731",
"externalId": null,
"key": "c20252028f3fb731",
"slug": "tahoe-creek-house"
},
"publiclyVisible": true,
"rating": 5,
"reservation": null,
"responseTo": null,
"review": "I stayed here with a few friends and had an amazing time! The house is awesome: huge, clean, and very updated. It had everything we needed - from updated appliances to the hot tub and shuffleboard. The location was super convenient, too. We were minutes from everything.",
"reviewerLocation": null,
"reviewerName": "Brian M",
"source": null,
"title": "Awesome Place!",
"uri": "https://api.myvr.com/v1/reviews/f202e65d6868c95124bd032b3745883c/"
}
List Reviews
Returns a list of Reviews matching the specified filters.
Endpoint
GET https://api.myvr.com/v1/reviews/
Arguments
reservationstring |
The key or externalId of the reservation that reviews are associated with.
Optional
|
propertystring |
The key or externalId of the property that reviews are associated with.
Optional
|
idstring |
Find results by id, uri, or externalId.
Optional
|
modifiedstring |
Find results modified after this date and time.
Optional
|
Example Request
curl https://api.myvr.com/v1/reviews/ -u YOUR_API_KEY:
Response
Example Response
{
"count": 100,
"limit": 25,
"offset": 25,
"next": "https://api.myvr.com/v1/reviews/?offset=50",
"previous": "https://api.myvr.com/v1/reviews/?offset=0",
"results": [
{
"channel": null,
"contact": null,
"dateOfStay": "2012-01-31",
"dateSubmitted": "2012-01-31",
"externalId": "",
"key": "f202e65d6868c95124bd032b3745883c",
"locked": null,
"position": 0,
"property": {
"name": "Tahoe Creek House",
"uri": "https://api.myvr.com/v1/properties/c20252028f3fb731/",
"id": "c20252028f3fb731",
"externalId": null,
"key": "c20252028f3fb731",
"slug": "tahoe-creek-house"
},
"publiclyVisible": true,
"rating": 5,
"reservation": null,
"responseTo": null,
"review": "I stayed here with a few friends and had an amazing time! The house is awesome: huge, clean, and very updated. It had everything we needed - from updated appliances to the hot tub and shuffleboard. The location was super convenient, too. We were minutes from everything.",
"reviewerLocation": null,
"reviewerName": "Brian M",
"source": null,
"title": "Awesome Place!",
"uri": "https://api.myvr.com/v1/reviews/f202e65d6868c95124bd032b3745883c/"
}
]
}
NOTE: The above example response only shows one result
for brevity, whereas the meta info indicates it should
have 25.
Rate Plans
Rates can be grouped into reusable collections known as Rate Plans. Rate Plans can then be assigned to one or more properties in your account. Rate Plans are a great way to simplify rate management across similar units.
Rate Plans can be global in scope, meaning they can be applied to any property, or they can be property scoped, meaning they can only be used by a property and it's descendants.
By default, all properties have their own default, property-scoped Rate Plan. The property can optionally use this default Rate Plan or select an alternative Rate Plan.
Feature Required: Pricing Plans
Events
rate_plan.updated.rates_reset
returns a ListingRatePlan object |
This event is triggered when a rate plan's rates are fully reset. |
The Rate Plan Object
Attributes
uriuri |
The uniform resource identifier for the object.
|
||||
keystring |
The unique identifier of the object in MyVR. This can be used to retrieve the object.
|
||||
createddatetime |
The ISO-8601 datetime the object was created in MyVR.
|
||||
currencystring |
The currency being used for this plan. The currency is represented as a 3 character ISO 4217 currency code.
|
||||
defaultboolean |
Whether or not this is the default plan for the associated property. Every property has one default plan associated with it.
|
||||
modifieddatetime |
The ISO-8601 datetime the object was last modified in MyVR.
|
||||
namestring |
The name of the plan, used for internal reference and never shown to a guest.
|
||||
pricingModelchoice |
|
||||
propertystring |
The optional property the plan is restricted to. If a property is specified, the plan can only be used by the specified property and it's descendants.
|
||||
scopechoice |
The scope of the plan which restricts which properties it can be applied to. Plans can have a scope of account , which indicates it can be applied to all properties in the account, or a scope of property , which indicates it can only be used on the specified property and it's descendants.
|
||||
weekendNightsstring |
Which days of the week count as a weekend nightly rate as a comma separated string. We use ISO standard weekday representation, Monday is 1 and Sunday is 7.
|
Example Response
{
"uri": "https://api.myvr.com/v1/rate-plans/862caa3f5267602d/",
"key": "862caa3f5267602d",
"created": "2019-09-19T05:22:16Z",
"currency": "USD",
"default": true,
"modified": "2019-09-19T05:22:16Z",
"name": "Default Rates for Property",
"pricingModel": "classic",
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"scope": "property",
"weekendNights": [
5,
6
]
}
Retrieve Rate Plan
Endpoint
GET https://api.myvr.com/v1/rate-plans/{KEY}/
Arguments
keystring |
The identifier of the Rate Plan to retrieve. The identifier can be a MyVR
Rate Plan key , which is provided after you create a Rate Plan,
or an externalId you've set on the Rate Plan.
Required
|
Example Request
curl https://api.myvr.com/v1/rate-plans/{KEY}/ -u YOUR_API_KEY:
Example Response
{
"uri": "https://api.myvr.com/v1/rate-plans/862caa3f5267602d/",
"key": "862caa3f5267602d",
"created": "2019-09-19T05:22:16Z",
"currency": "USD",
"default": true,
"modified": "2019-09-19T05:22:16Z",
"name": "Default Rates for Property",
"pricingModel": "classic",
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"scope": "property",
"weekendNights": [
5,
6
]
}
List Rate Plans
Endpoint
GET https://api.myvr.com/v1/rate-plans/
Arguments
currencystring |
Filter plans by currency.
Optional
|
defaultboolean |
Find plans that are the default for their associated property. Every property has one default plan associated with it.
Optional
|
namestring |
Filter plans by name.
Optional
|
pricingModelchoice |
Find plans with the specified pricing model.
Optional
|
propertystring |
Find by key , uri or externalId of the property the plan is restricted to.
Optional
|
scopechoice |
Find plans with the specified scope.
Optional
|
idstring |
Find results by id, uri, or externalId.
Optional
|
modifiedstring |
Find results modified after this date and time.
Optional
|
Example Request
curl https://api.myvr.com/v1/rate-plans/ -u YOUR_API_KEY:
Response
Example Response
{
"count": 100,
"limit": 25,
"offset": 25,
"next": "https://api.myvr.com/v1/rate-plans/?offset=50",
"previous": "https://api.myvr.com/v1/rate-plans/?offset=0",
"results": [
{
"uri": "https://api.myvr.com/v1/rate-plans/862caa3f5267602d/",
"key": "862caa3f5267602d",
"created": "2019-09-19T05:22:16Z",
"currency": "USD",
"default": true,
"modified": "2019-09-19T05:22:16Z",
"name": "Default Rates for Property",
"pricingModel": "classic",
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"scope": "property",
"weekendNights": [
5,
6
]
}
]
}
NOTE: The above example response only shows one result
for brevity, whereas the meta info indicates it should
have 25.
Reset Rate Plan Rates
Special bulk endpoint to reset the rates for this Rate Plan. Submit a collection of Rate Objects for this Rate Plan, and all existing rates for this Rate Plan will be replaced by those provided. The collection of rates should be submitted to the endpoint as an array of Rate Objects using an HTTP PUT. Below you'll find example arguments for a Rate Object.
Note: Resetting the rates on a rate plan could impact the rates of zero properties or many properties, depending on how many properties currently use the rate plan.
Endpoint
PUT https://api.myvr.com/v1/rate-plans/{KEY}/rates/
Arguments
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
baseRateboolean |
A flag indicating this rate is the base rate for the property. Each property should have one base rate that is used when no other rates apply.
|
changeoverDayinteger |
The changeover day is an optional settings that restricts rentals to weeklong increments. If a day of the week is specified, rentals must select this day as the check-in and check-out day. This is useful if you require Saturday to Saturday rentals, for example. ISO standard values are used: 1 = Monday, 2 = Tuesday, ... 7 = Sunday.
Min Value:
1
Max Value:
7
|
endDatedate |
The ending date for which the rate applies. Base rates do not require end dates, and if provided, are ignored. Repeating rates ignore the year portion of the end date.
|
maxStayinteger |
The maximum stay is an optional maximum number of nights allowed for a reservation with this rate.
Min Value:
1
|
minStayinteger |
The minimum number of nights required for a reservation with this rate.
|
monthlyinteger |
The amount to charge per month for this rate. Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
namestring |
The name of the rate, as presented to renters.
|
weekNightinteger |
[Deprecated, use `nightly`]. The nightly rate for a day that is classified as a week night. A day is classified as a week night based on the weekendNights setting of the associated property.Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
Deprecated
|
nightlyinteger |
The base nightly rate for for this rental period. Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
positioninteger |
The position of this rate relative to other rates for this property. The value of position is used to determine the order in which rates are shown to renters.
|
propertystring |
The property the rate belongs to. For create/update operations, this can be the URI , id , key , or externalId of the property. For create/update operations, you must specify either the ratePlan or property but never both. If the ratePlan is not provided but the property is, the rate will be assigned to the default rate plan for the property, even if it's not the active rate plan for the property.
|
ratePlanstring |
The plan this rate belongs to. For create/update operations, this can be the URI or key of the rate plan. For create/update operations, you must specify either the `ratePlan` or `property` but never both. If the `ratePlan` is not provided but the `property` is, the rate will be assigned to the default rate plan for the property, even if it's not the active rate plan for the property. |
repeatboolean |
A flag indicating the rate repeats every year on the same start and end date (month and day only). If true, the year portion of startDate and endDate are ignored.
|
startDatedate |
The starting date for which the rate applies. Base rates do not require start dates, and if provided, are ignored. Repeating rates ignore the year portion of the start date.
|
weekendinteger |
The amount to charge for an entire weekend for this rate.Weekends are determined by the weekendNights setting of the associated property.Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
weekendNightinteger |
The nightly rate for a day that is classified as a weekend night. A day is classified as a weekend night based on the weekendNights setting of the associated property. If provided, this rate supersedes the nightly rate for weekendNights .Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
weeklyinteger |
The amount to charge per week for this rate. Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
Example Request
curl https://api.myvr.com/v1/rate-plans/{KEY}/rates/ -u YOUR_API_KEY: -X PUT
Response
If successful, all previous rates for the Rate Plan will be replace with the rates provided.
Rates
Rates determine what you charge to rent your property. Rates can be created with a time period over which they apply, and may repeat year over year. Rates let you specify how much you would like to charge nightly, weekly, monthly, and more.
Rates do not include fees you charge, such as a cleaning fee or security deposit. That data is represented by the Fee Object .
All rate endpoints support bulk operations, making it easy to create, update, or delete multiple rates in a single API request.
Additionally, we've designed a special Reset Property Rates endpoint for resetting the rates for an individual property.
The Rate Object
Attributes
uriuri |
The uniform resource identifier for the object.
|
idstring |
The unique identifier of the object in MyVR. This can be used to retrieve the object.
Deprecated
|
keystring |
The unique identifier of the object in MyVR. This can be used to retrieve the object.
|
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
baseRateboolean |
A flag indicating this rate is the base rate for the property. Each property should have one base rate that is used when no other rates apply.
|
changeoverDayinteger |
The changeover day is an optional settings that restricts rentals to weeklong increments. If a day of the week is specified, rentals must select this day as the check-in and check-out day. This is useful if you require Saturday to Saturday rentals, for example. ISO standard values are used: 1 = Monday, 2 = Tuesday, ... 7 = Sunday.
|
createddatetime |
The ISO-8601 datetime the object was created in MyVR.
|
currencystring |
The currency being used for this fee. This read only field is derived from the currency on the property this fee is associated with. The currency is represented as a 3 character ISO 4217 currency code.
|
endDatedate |
The ending date for which the rate applies. Base rates do not require end dates, and if provided, are ignored. Repeating rates ignore the year portion of the end date.
|
maxStayinteger |
The maximum stay is an optional maximum number of nights allowed for a reservation with this rate.
|
minStayinteger |
The minimum number of nights required for a reservation with this rate.
|
modifieddatetime |
The ISO-8601 datetime the object was last modified in MyVR.
|
monthlyinteger |
The amount to charge per month for this rate. Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
namestring |
The name of the rate, as presented to renters.
|
weekNightinteger |
[Deprecated, use `nightly`]. The nightly rate for a day that is classified as a week night. A day is classified as a week night based on the weekendNights setting of the associated property.Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
Deprecated
|
nightlyinteger |
The base nightly rate for for this rental period. Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
positioninteger |
The position of this rate relative to other rates for this property. The value of position is used to determine the order in which rates are shown to renters.
|
propertystring |
The property the rate belongs to. For create/update operations, this can be the URI , id , key , or externalId of the property. For create/update operations, you must specify either the ratePlan or property but never both. If the ratePlan is not provided but the property is, the rate will be assigned to the default rate plan for the property, even if it's not the active rate plan for the property.
|
ratePlanstring |
The plan this rate belongs to. For create/update operations, this can be the URI or key of the rate plan. For create/update operations, you must specify either the `ratePlan` or `property` but never both. If the `ratePlan` is not provided but the `property` is, the rate will be assigned to the default rate plan for the property, even if it's not the active rate plan for the property. |
repeatboolean |
A flag indicating the rate repeats every year on the same start and end date (month and day only). If true, the year portion of startDate and endDate are ignored.
|
startDatedate |
The starting date for which the rate applies. Base rates do not require start dates, and if provided, are ignored. Repeating rates ignore the year portion of the start date.
|
weekendinteger |
The amount to charge for an entire weekend for this rate.Weekends are determined by the weekendNights setting of the associated property.Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
weekendNightinteger |
The nightly rate for a day that is classified as a weekend night. A day is classified as a weekend night based on the weekendNights setting of the associated property. If provided, this rate supersedes the nightly rate for weekendNights .Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
weeklyinteger |
The amount to charge per week for this rate. Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
Example Response
{
"uri": "https://api.myvr.com/v1/rates/3ce07818cb83cd1f/",
"id": "3ce07818cb83cd1f",
"key": "3ce07818cb83cd1f",
"externalId": null,
"baseRate": false,
"changeoverDay": null,
"created": "2016-01-19T00:06:21Z",
"currency": "USD",
"endDate": "2020-05-15",
"maxStay": null,
"minStay": 3,
"modified": "2019-05-16T08:01:00Z",
"monthly": 0,
"name": "Ski Season",
"weekNight": 49500,
"nightly": 49500,
"position": 1,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"ratePlan": {
"uri": "https://api.myvr.com/v1/rate-plans/862caa3f5267602d/",
"key": "862caa3f5267602d",
"name": "Default Rates for Property"
},
"repeat": true,
"startDate": "2019-12-01",
"weekend": 0,
"weekendNight": 0,
"weekly": 0
}
Create Rate
Create a new Rate on your MyVR account. When a Rate is created,
it will be assigned a key
.
Bulk Operations Supported
This endpoint supports bulk operations. If you'd like to create multiple Rate at once, post multiple objects in an array.
Endpoint
POST https://api.myvr.com/v1/rates/
Arguments
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
baseRateboolean |
A flag indicating this rate is the base rate for the property. Each property should have one base rate that is used when no other rates apply.
|
changeoverDayinteger |
The changeover day is an optional settings that restricts rentals to weeklong increments. If a day of the week is specified, rentals must select this day as the check-in and check-out day. This is useful if you require Saturday to Saturday rentals, for example. ISO standard values are used: 1 = Monday, 2 = Tuesday, ... 7 = Sunday.
Min Value:
1
Max Value:
7
|
endDatedate |
The ending date for which the rate applies. Base rates do not require end dates, and if provided, are ignored. Repeating rates ignore the year portion of the end date.
|
maxStayinteger |
The maximum stay is an optional maximum number of nights allowed for a reservation with this rate.
Min Value:
1
|
minStayinteger |
The minimum number of nights required for a reservation with this rate.
|
monthlyinteger |
The amount to charge per month for this rate. Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
namestring |
The name of the rate, as presented to renters.
|
weekNightinteger |
[Deprecated, use `nightly`]. The nightly rate for a day that is classified as a week night. A day is classified as a week night based on the weekendNights setting of the associated property.Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
Deprecated
|
nightlyinteger |
The base nightly rate for for this rental period. Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
positioninteger |
The position of this rate relative to other rates for this property. The value of position is used to determine the order in which rates are shown to renters.
|
propertystring |
The property the rate belongs to. For create/update operations, this can be the URI , id , key , or externalId of the property. For create/update operations, you must specify either the ratePlan or property but never both. If the ratePlan is not provided but the property is, the rate will be assigned to the default rate plan for the property, even if it's not the active rate plan for the property.
|
ratePlanstring |
The plan this rate belongs to. For create/update operations, this can be the URI or key of the rate plan. For create/update operations, you must specify either the `ratePlan` or `property` but never both. If the `ratePlan` is not provided but the `property` is, the rate will be assigned to the default rate plan for the property, even if it's not the active rate plan for the property. |
repeatboolean |
A flag indicating the rate repeats every year on the same start and end date (month and day only). If true, the year portion of startDate and endDate are ignored.
|
startDatedate |
The starting date for which the rate applies. Base rates do not require start dates, and if provided, are ignored. Repeating rates ignore the year portion of the start date.
|
weekendinteger |
The amount to charge for an entire weekend for this rate.Weekends are determined by the weekendNights setting of the associated property.Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
weekendNightinteger |
The nightly rate for a day that is classified as a weekend night. A day is classified as a weekend night based on the weekendNights setting of the associated property. If provided, this rate supersedes the nightly rate for weekendNights .Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
weeklyinteger |
The amount to charge per week for this rate. Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
Example Request
curl https://api.myvr.com/v1/rates/ -u YOUR_API_KEY:
Response
key
. You can use this key
to retrieve or
update the Rate in the future. If creation fails, an http error will
be returned.
Example Response
{
"uri": "https://api.myvr.com/v1/rates/3ce07818cb83cd1f/",
"id": "3ce07818cb83cd1f",
"key": "3ce07818cb83cd1f",
"externalId": null,
"baseRate": false,
"changeoverDay": null,
"created": "2016-01-19T00:06:21Z",
"currency": "USD",
"endDate": "2020-05-15",
"maxStay": null,
"minStay": 3,
"modified": "2019-05-16T08:01:00Z",
"monthly": 0,
"name": "Ski Season",
"weekNight": 49500,
"nightly": 49500,
"position": 1,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"ratePlan": {
"uri": "https://api.myvr.com/v1/rate-plans/862caa3f5267602d/",
"key": "862caa3f5267602d",
"name": "Default Rates for Property"
},
"repeat": true,
"startDate": "2019-12-01",
"weekend": 0,
"weekendNight": 0,
"weekly": 0
}
Retrieve Rate
Endpoint
GET https://api.myvr.com/v1/rates/{KEY}/
Arguments
keystring |
The identifier of the Rate to retrieve. The identifier can be a MyVR
Rate key , which is provided after you create a Rate,
or an externalId you've set on the Rate.
Required
|
Example Request
curl https://api.myvr.com/v1/rates/{KEY}/ -u YOUR_API_KEY:
Example Response
{
"uri": "https://api.myvr.com/v1/rates/3ce07818cb83cd1f/",
"id": "3ce07818cb83cd1f",
"key": "3ce07818cb83cd1f",
"externalId": null,
"baseRate": false,
"changeoverDay": null,
"created": "2016-01-19T00:06:21Z",
"currency": "USD",
"endDate": "2020-05-15",
"maxStay": null,
"minStay": 3,
"modified": "2019-05-16T08:01:00Z",
"monthly": 0,
"name": "Ski Season",
"weekNight": 49500,
"nightly": 49500,
"position": 1,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"ratePlan": {
"uri": "https://api.myvr.com/v1/rate-plans/862caa3f5267602d/",
"key": "862caa3f5267602d",
"name": "Default Rates for Property"
},
"repeat": true,
"startDate": "2019-12-01",
"weekend": 0,
"weekendNight": 0,
"weekly": 0
}
Update Rate
key
or externalId
in the URL.
Bulk Operations Supported
This endpoint supports bulk operations. If you'd like to update multiple Rate at once, post multiple objects in an array.
Endpoint
PUT or PATCH https://api.myvr.com/v1/rates/{KEY}/
Arguments
keystring |
The identifier of the Rate to update. The identifier can be a MyVR
Rate key , which is provided after you create a Rate,
or an externalId you've set on the Rate.
|
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
baseRateboolean |
A flag indicating this rate is the base rate for the property. Each property should have one base rate that is used when no other rates apply.
|
changeoverDayinteger |
The changeover day is an optional settings that restricts rentals to weeklong increments. If a day of the week is specified, rentals must select this day as the check-in and check-out day. This is useful if you require Saturday to Saturday rentals, for example. ISO standard values are used: 1 = Monday, 2 = Tuesday, ... 7 = Sunday.
Min Value:
1
Max Value:
7
|
endDatedate |
The ending date for which the rate applies. Base rates do not require end dates, and if provided, are ignored. Repeating rates ignore the year portion of the end date.
|
maxStayinteger |
The maximum stay is an optional maximum number of nights allowed for a reservation with this rate.
Min Value:
1
|
minStayinteger |
The minimum number of nights required for a reservation with this rate.
|
monthlyinteger |
The amount to charge per month for this rate. Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
namestring |
The name of the rate, as presented to renters.
|
weekNightinteger |
[Deprecated, use `nightly`]. The nightly rate for a day that is classified as a week night. A day is classified as a week night based on the weekendNights setting of the associated property.Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
Deprecated
|
nightlyinteger |
The base nightly rate for for this rental period. Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
positioninteger |
The position of this rate relative to other rates for this property. The value of position is used to determine the order in which rates are shown to renters.
|
propertystring |
The property the rate belongs to. For create/update operations, this can be the URI , id , key , or externalId of the property. For create/update operations, you must specify either the ratePlan or property but never both. If the ratePlan is not provided but the property is, the rate will be assigned to the default rate plan for the property, even if it's not the active rate plan for the property.
|
ratePlanstring |
The plan this rate belongs to. For create/update operations, this can be the URI or key of the rate plan. For create/update operations, you must specify either the `ratePlan` or `property` but never both. If the `ratePlan` is not provided but the `property` is, the rate will be assigned to the default rate plan for the property, even if it's not the active rate plan for the property. |
repeatboolean |
A flag indicating the rate repeats every year on the same start and end date (month and day only). If true, the year portion of startDate and endDate are ignored.
|
startDatedate |
The starting date for which the rate applies. Base rates do not require start dates, and if provided, are ignored. Repeating rates ignore the year portion of the start date.
|
weekendinteger |
The amount to charge for an entire weekend for this rate.Weekends are determined by the weekendNights setting of the associated property.Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
weekendNightinteger |
The nightly rate for a day that is classified as a weekend night. A day is classified as a weekend night based on the weekendNights setting of the associated property. If provided, this rate supersedes the nightly rate for weekendNights .Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
weeklyinteger |
The amount to charge per week for this rate. Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
Example Request
curl https://api.myvr.com/v1/rates/{KEY}/ -u YOUR_API_KEY: -X PATCH
-d baseRate=false
Example Response
{
"uri": "https://api.myvr.com/v1/rates/3ce07818cb83cd1f/",
"id": "3ce07818cb83cd1f",
"key": "3ce07818cb83cd1f",
"externalId": null,
"baseRate": false,
"changeoverDay": null,
"created": "2016-01-19T00:06:21Z",
"currency": "USD",
"endDate": "2020-05-15",
"maxStay": null,
"minStay": 3,
"modified": "2019-05-16T08:01:00Z",
"monthly": 0,
"name": "Ski Season",
"weekNight": 49500,
"nightly": 49500,
"position": 1,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"ratePlan": {
"uri": "https://api.myvr.com/v1/rate-plans/862caa3f5267602d/",
"key": "862caa3f5267602d",
"name": "Default Rates for Property"
},
"repeat": true,
"startDate": "2019-12-01",
"weekend": 0,
"weekendNight": 0,
"weekly": 0
}
Delete Rate
Bulk Operations Supported
This endpoint supports bulk operations. If you'd like to delete multiple Rates at once, filter the set of objects you'd like to delete by providing query parameters (see List endpoint for filter options) and submitting an HTTP DELETE request. Please use bulk deletes with extreme caution since they can be dangerous.
Endpoint
DELETE https://api.myvr.com/v1/rates/{KEY}/
Arguments
keystring |
The identifier of the Rate to delete. The identifier can be a MyVR
Rate key , which is provided after you create a Rate,
or an externalId you've set on the Rate.
Required
|
Example Request
curl https://api.myvr.com/v1/rates/{KEY}/ -u YOUR_API_KEY: -X DELETE
Response
Example Response
{}
List Rates
Endpoint
GET https://api.myvr.com/v1/rates/
Arguments
idstring |
Find results by id, uri, or externalId.
Optional
|
modifiedstring |
Find results modified after this date and time.
Optional
|
propertystring |
Find by key , uri or externalId the associated property.
Optional
|
startDatedate |
If provided, only return rates that apply after the start date. Accepts a valid ISO-8601 date.
Optional
|
endDatedate |
If provided, only return rates that apply before the end date. Accepts a valid ISO-8601 date.
Optional
|
baseRateboolean |
If provided, filters the rates by the baseRate flag. Useful for retrieving the base rate for a property.
Optional
|
Example Request
curl https://api.myvr.com/v1/rates/ -u YOUR_API_KEY:
Response
Example Response
{
"count": 100,
"limit": 25,
"offset": 25,
"next": "https://api.myvr.com/v1/rates/?offset=50",
"previous": "https://api.myvr.com/v1/rates/?offset=0",
"results": [
{
"uri": "https://api.myvr.com/v1/rates/3ce07818cb83cd1f/",
"id": "3ce07818cb83cd1f",
"key": "3ce07818cb83cd1f",
"externalId": null,
"baseRate": false,
"changeoverDay": null,
"created": "2016-01-19T00:06:21Z",
"currency": "USD",
"endDate": "2020-05-15",
"maxStay": null,
"minStay": 3,
"modified": "2019-05-16T08:01:00Z",
"monthly": 0,
"name": "Ski Season",
"weekNight": 49500,
"nightly": 49500,
"position": 1,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"ratePlan": {
"uri": "https://api.myvr.com/v1/rate-plans/862caa3f5267602d/",
"key": "862caa3f5267602d",
"name": "Default Rates for Property"
},
"repeat": true,
"startDate": "2019-12-01",
"weekend": 0,
"weekendNight": 0,
"weekly": 0
}
]
}
NOTE: The above example response only shows one result
for brevity, whereas the meta info indicates it should
have 25.
Fee Plans
Fees can be grouped into reusable collections known as Fee Plans. Fee Plans can then be assigned to one or more properties in your account. Fee Plans are a great way to simplify fee management across similar units.
Fee Plans can be global in scope, meaning they can be applied to any property, or they can be property scoped, meaning they can only be used by a property and it's descendants.
By default, all properties have their own default, property-scoped Fee Plan. The property can optionally use this default Fee Plan or select an alternative Fee Plan.
Feature Required: Pricing Plans
The Fee Plan Object
Attributes
uriuri |
The uniform resource identifier for the object.
|
||||
keystring |
The unique identifier of the object in MyVR. This can be used to retrieve the object.
|
||||
createddatetime |
The ISO-8601 datetime the object was created in MyVR.
|
||||
currencystring |
The currency being used for this plan. The currency is represented as a 3 character ISO 4217 currency code.
|
||||
defaultboolean |
Whether or not this is the default plan for the associated property. Every property has one default plan associated with it.
|
||||
modifieddatetime |
The ISO-8601 datetime the object was last modified in MyVR.
|
||||
namestring |
The name of the plan, used for internal reference and never shown to a guest.
|
||||
propertystring |
The optional property the plan is restricted to. If a property is specified, the plan can only be used by the specified property and it's descendants.
|
||||
scopechoice |
The scope of the plan which restricts which properties it can be applied to. Plans can have a scope of account , which indicates it can be applied to all properties in the account, or a scope of property , which indicates it can only be used on the specified property and it's descendants.
|
Example Response
{
"uri": "https://api.myvr.com/v1/fee-plans/4d1c44383755051b/",
"key": "4d1c44383755051b",
"created": "2019-09-19T05:42:33Z",
"currency": "USD",
"default": true,
"modified": "2019-09-19T05:42:33Z",
"name": "Default Fees for Listing",
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"scope": "property"
}
Retrieve Fee Plan
Endpoint
GET https://api.myvr.com/v1/fee-plans/{KEY}/
Arguments
keystring |
The identifier of the Fee Plan to retrieve. The identifier can be a MyVR
Fee Plan key , which is provided after you create a Fee Plan,
or an externalId you've set on the Fee Plan.
Required
|
Example Request
curl https://api.myvr.com/v1/fee-plans/{KEY}/ -u YOUR_API_KEY:
Example Response
{
"uri": "https://api.myvr.com/v1/fee-plans/4d1c44383755051b/",
"key": "4d1c44383755051b",
"created": "2019-09-19T05:42:33Z",
"currency": "USD",
"default": true,
"modified": "2019-09-19T05:42:33Z",
"name": "Default Fees for Listing",
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"scope": "property"
}
List Fee Plans
Endpoint
GET https://api.myvr.com/v1/fee-plans/
Arguments
currencystring |
Filter plans by currency.
Optional
|
defaultboolean |
Find plans that are the default for their associated property. Every property has one default plan associated with it.
Optional
|
namestring |
Filter plans by name.
Optional
|
propertystring |
Find by key , uri or externalId of the property the plan is restricted to.
Optional
|
scopechoice |
Find plans with the specified scope.
Optional
|
idstring |
Find results by id, uri, or externalId.
Optional
|
modifiedstring |
Find results modified after this date and time.
Optional
|
Example Request
curl https://api.myvr.com/v1/fee-plans/ -u YOUR_API_KEY:
Response
Example Response
{
"count": 100,
"limit": 25,
"offset": 25,
"next": "https://api.myvr.com/v1/fee-plans/?offset=50",
"previous": "https://api.myvr.com/v1/fee-plans/?offset=0",
"results": [
{
"uri": "https://api.myvr.com/v1/fee-plans/4d1c44383755051b/",
"key": "4d1c44383755051b",
"created": "2019-09-19T05:42:33Z",
"currency": "USD",
"default": true,
"modified": "2019-09-19T05:42:33Z",
"name": "Default Fees for Listing",
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"scope": "property"
}
]
}
NOTE: The above example response only shows one result
for brevity, whereas the meta info indicates it should
have 25.
Fees
Fees are incremental charges that may apply to a rental on top of your standard rates. For example, you may charge a cleaning fee, apply taxes, or collect a security deposit.
Individual fees can be optional or required. They can be based on a flat amount (eg: $250 cleaning fee) or as a percentage of rent and taxable fees (eg: 10% Occupancy Tax).
The Fee Object
Attributes
uriuri |
The uniform resource identifier for the object.
|
||||||||||||||||||||
idstring |
The unique identifier of the object in MyVR. This can be used to retrieve the object.
Deprecated
|
||||||||||||||||||||
keystring |
The unique identifier of the object in MyVR. This can be used to retrieve the object.
|
||||||||||||||||||||
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
||||||||||||||||||||
basischoice |
The basis for how the fee should be calculated when generated quotes for renters.
|
||||||||||||||||||||
costinteger |
The cost associated with this fee. For example, if the basis of the fee is flat , a cost of 10000 would indicate a flat fee of $100.00Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
||||||||||||||||||||
createddatetime |
The ISO-8601 datetime the object was created in MyVR.
|
||||||||||||||||||||
currencystring |
The currency being used for this fee. This read only field is derived from the currency on the property this fee is associated with. The currency is represented as a 3 character ISO 4217 currency code.
|
||||||||||||||||||||
descriptionstring |
A description of the fee, as presented to renters.
|
||||||||||||||||||||
feePlanstring |
COMING SOON(presently read only). The plan this fee belongs to. For create/update operations, this can be the URI or key of the fee plan. For create/update operations, you must specify either the feePlan or property but never both. If the feePlan is not provided but the property is, the rate will be assigned to the default fee plan for the property, even if it's not the active fee plan for the property.
|
||||||||||||||||||||
guestThresholdinteger |
A threshold on the number of guests before a per person adjustment kicks in. Only applicable to fees of type per-person . For example, if there is an addition charge for guests over 4, you would set the guestThreshold to 4.
|
||||||||||||||||||||
includeChildrenboolean |
A flag indicating the number of children should be included in per-person adjustment fees.
|
||||||||||||||||||||
includedboolean |
If the fee should be automatically included in all quotes.
|
||||||||||||||||||||
lockedboolean |
A flag indicating that the fee cannot be edited within the MyVR application or via MyVR connect.
|
||||||||||||||||||||
modifieddatetime |
The ISO-8601 datetime the object was last modified in MyVR.
|
||||||||||||||||||||
namestring |
The name of the fee, as presented to renters.
|
||||||||||||||||||||
optionalboolean |
If the fee is an optional fee that may be removed/added by a renter.
|
||||||||||||||||||||
percentagedecimal |
The percentage that should be used to calculate this fee. For example, a fee for 10% Occupancy Tax would have a value of 10%. When this fee is calculated, the rental rate and all taxable fees are used in the percentage calculation.
|
||||||||||||||||||||
positioninteger |
The position of the fee relative to other fees for this property. The position is used to determine the order in which fees are presented to renters.
|
||||||||||||||||||||
propertystring |
The property the fee belongs to. For create/update operations, this can be the URI , id , key , or externalId of the property. For create/update operations, you must specify either the feePlan or property but never both. If the feePlan is not provided but the property is, the rate will be assigned to the default fee plan for the property, even if it's not the active fee plan for the property.
|
||||||||||||||||||||
refundableboolean |
If the fee is refundable once the rental is complete. For example, damage deposits are often refundable after a stay.
|
||||||||||||||||||||
taxableboolean |
A flag indicating the fee should be included in the tax calculation for this rental.
|
||||||||||||||||||||
typechoice |
The type of fee.
|
Example Response
{
"uri": "https://api.myvr.com/v1/fees/caeb9c167089c18e/",
"id": "caeb9c167089c18e",
"key": "caeb9c167089c18e",
"externalId": null,
"basis": "flat",
"cost": 25000,
"created": "2016-01-19T00:06:59Z",
"currency": "USD",
"description": null,
"feePlan": {
"uri": "https://api.myvr.com/v1/fee-plans/4d1c44383755051b/",
"key": "4d1c44383755051b",
"name": "Default Fees for Listing"
},
"guestThreshold": 0,
"includeChildren": false,
"included": true,
"locked": false,
"modified": "2016-01-19T00:06:59Z",
"name": "Cleaning Fee",
"optional": false,
"percentage": null,
"position": 0,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"refundable": false,
"taxable": true,
"type": "cleaning"
}
Create Fee
Create a new Fee on your MyVR account. When a Fee is created,
it will be assigned a key
.
Endpoint
POST https://api.myvr.com/v1/fees/
Arguments
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
basischoice |
The basis for how the fee should be calculated when generated quotes for renters.
Default:
flat
|
costinteger |
The cost associated with this fee. For example, if the basis of the fee is flat , a cost of 10000 would indicate a flat fee of $100.00Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
descriptionstring |
A description of the fee, as presented to renters.
|
guestThresholdinteger |
A threshold on the number of guests before a per person adjustment kicks in. Only applicable to fees of type per-person . For example, if there is an addition charge for guests over 4, you would set the guestThreshold to 4.
|
includeChildrenboolean |
A flag indicating the number of children should be included in per-person adjustment fees.
|
includedboolean |
If the fee should be automatically included in all quotes.
|
namestring |
The name of the fee, as presented to renters.
Required
|
optionalboolean |
If the fee is an optional fee that may be removed/added by a renter.
|
percentagedecimal |
The percentage that should be used to calculate this fee. For example, a fee for 10% Occupancy Tax would have a value of 10%. When this fee is calculated, the rental rate and all taxable fees are used in the percentage calculation.
|
positioninteger |
The position of the fee relative to other fees for this property. The position is used to determine the order in which fees are presented to renters.
|
propertystring |
The property the fee belongs to. For create/update operations, this can be the URI , id , key , or externalId of the property. For create/update operations, you must specify either the feePlan or property but never both. If the feePlan is not provided but the property is, the rate will be assigned to the default fee plan for the property, even if it's not the active fee plan for the property.
Required
|
refundableboolean |
If the fee is refundable once the rental is complete. For example, damage deposits are often refundable after a stay.
|
taxableboolean |
A flag indicating the fee should be included in the tax calculation for this rental.
|
typechoice |
The type of fee.
Default:
fee
|
Example Request
curl https://api.myvr.com/v1/fees/ -u YOUR_API_KEY:
-d name="Cleaning Fee"
-d property="b6b0f2fe278f612b"
Response
key
. You can use this key
to retrieve or
update the Fee in the future. If creation fails, an http error will
be returned.
Example Response
{
"uri": "https://api.myvr.com/v1/fees/caeb9c167089c18e/",
"id": "caeb9c167089c18e",
"key": "caeb9c167089c18e",
"externalId": null,
"basis": "flat",
"cost": 25000,
"created": "2016-01-19T00:06:59Z",
"currency": "USD",
"description": null,
"feePlan": {
"uri": "https://api.myvr.com/v1/fee-plans/4d1c44383755051b/",
"key": "4d1c44383755051b",
"name": "Default Fees for Listing"
},
"guestThreshold": 0,
"includeChildren": false,
"included": true,
"locked": false,
"modified": "2016-01-19T00:06:59Z",
"name": "Cleaning Fee",
"optional": false,
"percentage": null,
"position": 0,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"refundable": false,
"taxable": true,
"type": "cleaning"
}
Retrieve Fee
Endpoint
GET https://api.myvr.com/v1/fees/{KEY}/
Arguments
keystring |
The identifier of the Fee to retrieve. The identifier can be a MyVR
Fee key , which is provided after you create a Fee,
or an externalId you've set on the Fee.
Required
|
Example Request
curl https://api.myvr.com/v1/fees/{KEY}/ -u YOUR_API_KEY:
Example Response
{
"uri": "https://api.myvr.com/v1/fees/caeb9c167089c18e/",
"id": "caeb9c167089c18e",
"key": "caeb9c167089c18e",
"externalId": null,
"basis": "flat",
"cost": 25000,
"created": "2016-01-19T00:06:59Z",
"currency": "USD",
"description": null,
"feePlan": {
"uri": "https://api.myvr.com/v1/fee-plans/4d1c44383755051b/",
"key": "4d1c44383755051b",
"name": "Default Fees for Listing"
},
"guestThreshold": 0,
"includeChildren": false,
"included": true,
"locked": false,
"modified": "2016-01-19T00:06:59Z",
"name": "Cleaning Fee",
"optional": false,
"percentage": null,
"position": 0,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"refundable": false,
"taxable": true,
"type": "cleaning"
}
Update Fee
key
or externalId
in the URL.
Endpoint
PUT or PATCH https://api.myvr.com/v1/fees/{KEY}/
Arguments
keystring |
The identifier of the Fee to update. The identifier can be a MyVR
Fee key , which is provided after you create a Fee,
or an externalId you've set on the Fee.
|
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
basischoice |
The basis for how the fee should be calculated when generated quotes for renters.
|
costinteger |
The cost associated with this fee. For example, if the basis of the fee is flat , a cost of 10000 would indicate a flat fee of $100.00Monetary fields are represented as integers of cents. For example, $5.00 would be represented as 500 .
|
descriptionstring |
A description of the fee, as presented to renters.
|
guestThresholdinteger |
A threshold on the number of guests before a per person adjustment kicks in. Only applicable to fees of type per-person . For example, if there is an addition charge for guests over 4, you would set the guestThreshold to 4.
|
includeChildrenboolean |
A flag indicating the number of children should be included in per-person adjustment fees.
|
includedboolean |
If the fee should be automatically included in all quotes.
|
namestring |
The name of the fee, as presented to renters.
|
optionalboolean |
If the fee is an optional fee that may be removed/added by a renter.
|
percentagedecimal |
The percentage that should be used to calculate this fee. For example, a fee for 10% Occupancy Tax would have a value of 10%. When this fee is calculated, the rental rate and all taxable fees are used in the percentage calculation.
|
positioninteger |
The position of the fee relative to other fees for this property. The position is used to determine the order in which fees are presented to renters.
|
propertystring |
The property the fee belongs to. For create/update operations, this can be the URI , id , key , or externalId of the property. For create/update operations, you must specify either the feePlan or property but never both. If the feePlan is not provided but the property is, the rate will be assigned to the default fee plan for the property, even if it's not the active fee plan for the property.
|
refundableboolean |
If the fee is refundable once the rental is complete. For example, damage deposits are often refundable after a stay.
|
taxableboolean |
A flag indicating the fee should be included in the tax calculation for this rental.
|
typechoice |
The type of fee.
|
Example Request
curl https://api.myvr.com/v1/fees/{KEY}/ -u YOUR_API_KEY: -X PATCH
-d basis="flat"
Example Response
{
"uri": "https://api.myvr.com/v1/fees/caeb9c167089c18e/",
"id": "caeb9c167089c18e",
"key": "caeb9c167089c18e",
"externalId": null,
"basis": "flat",
"cost": 25000,
"created": "2016-01-19T00:06:59Z",
"currency": "USD",
"description": null,
"feePlan": {
"uri": "https://api.myvr.com/v1/fee-plans/4d1c44383755051b/",
"key": "4d1c44383755051b",
"name": "Default Fees for Listing"
},
"guestThreshold": 0,
"includeChildren": false,
"included": true,
"locked": false,
"modified": "2016-01-19T00:06:59Z",
"name": "Cleaning Fee",
"optional": false,
"percentage": null,
"position": 0,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"refundable": false,
"taxable": true,
"type": "cleaning"
}
Delete Fee
Endpoint
DELETE https://api.myvr.com/v1/fees/{KEY}/
Arguments
keystring |
The identifier of the Fee to delete. The identifier can be a MyVR
Fee key , which is provided after you create a Fee,
or an externalId you've set on the Fee.
Required
|
Example Request
curl https://api.myvr.com/v1/fees/{KEY}/ -u YOUR_API_KEY: -X DELETE
Response
Example Response
{}
List Fees
Endpoint
GET https://api.myvr.com/v1/fees/
Arguments
idstring |
Find results by id, uri, or externalId.
Optional
|
modifiedstring |
Find results modified after this date and time.
Optional
|
propertystring |
Find by key , uri or externalId of the associated property.
Optional
|
Example Request
curl https://api.myvr.com/v1/fees/ -u YOUR_API_KEY:
Response
Example Response
{
"count": 100,
"limit": 25,
"offset": 25,
"next": "https://api.myvr.com/v1/fees/?offset=50",
"previous": "https://api.myvr.com/v1/fees/?offset=0",
"results": [
{
"uri": "https://api.myvr.com/v1/fees/caeb9c167089c18e/",
"id": "caeb9c167089c18e",
"key": "caeb9c167089c18e",
"externalId": null,
"basis": "flat",
"cost": 25000,
"created": "2016-01-19T00:06:59Z",
"currency": "USD",
"description": null,
"feePlan": {
"uri": "https://api.myvr.com/v1/fee-plans/4d1c44383755051b/",
"key": "4d1c44383755051b",
"name": "Default Fees for Listing"
},
"guestThreshold": 0,
"includeChildren": false,
"included": true,
"locked": false,
"modified": "2016-01-19T00:06:59Z",
"name": "Cleaning Fee",
"optional": false,
"percentage": null,
"position": 0,
"property": {
"name": "API Demo Property",
"uri": "https://api.myvr.com/v1/properties/b6b0f2fe278f612b/",
"id": "b6b0f2fe278f612b",
"externalId": null,
"key": "b6b0f2fe278f612b",
"slug": "api-demo-property"
},
"refundable": false,
"taxable": true,
"type": "cleaning"
}
]
}
NOTE: The above example response only shows one result
for brevity, whereas the meta info indicates it should
have 25.
Groups
A property group is a named collection of properties. You can create as many property groups as you like, and include as many or as few properties as you like in each group.
The Group Object
Attributes
uriuri |
The uniform resource identifier for the object.
|
keystring |
The unique identifier of the object in MyVR. This can be used to retrieve the object.
|
createddatetime |
The ISO-8601 datetime the object was created in MyVR.
|
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
modifieddatetime |
The ISO-8601 datetime the object was last modified in MyVR.
|
namestring |
The name of the property group.
|
propertyCountinteger |
The total number of properties in the group.
|
Example Response
{
"uri": "https://api.myvr.com/v1/property-groups/b122a0ff5a236ce1/",
"key": "b122a0ff5a236ce1",
"created": "2015-02-27T22:31:09Z",
"externalId": null,
"modified": "2015-04-16T17:37:53Z",
"name": "LA Beach Properties",
"propertyCount": 6
}
Create Group
Create a new Group on your MyVR account. When a Group is created,
it will be assigned a key
.
Endpoint
POST https://api.myvr.com/v1/property-groups/
Arguments
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
namestring |
The name of the property group.
Required
|
Example Request
curl https://api.myvr.com/v1/property-groups/ -u YOUR_API_KEY:
-d name="LA Beach Properties"
Response
key
. You can use this key
to retrieve or
update the Group in the future. If creation fails, an http error will
be returned.
Example Response
{
"uri": "https://api.myvr.com/v1/property-groups/b122a0ff5a236ce1/",
"key": "b122a0ff5a236ce1",
"created": "2015-02-27T22:31:09Z",
"externalId": null,
"modified": "2015-04-16T17:37:53Z",
"name": "LA Beach Properties",
"propertyCount": 6
}
Retrieve Group
Endpoint
GET https://api.myvr.com/v1/property-groups/{KEY}/
Arguments
keystring |
The identifier of the Group to retrieve. The identifier can be a MyVR
Group key , which is provided after you create a Group,
or an externalId you've set on the Group.
Required
|
Example Request
curl https://api.myvr.com/v1/property-groups/{KEY}/ -u YOUR_API_KEY:
Example Response
{
"uri": "https://api.myvr.com/v1/property-groups/b122a0ff5a236ce1/",
"key": "b122a0ff5a236ce1",
"created": "2015-02-27T22:31:09Z",
"externalId": null,
"modified": "2015-04-16T17:37:53Z",
"name": "LA Beach Properties",
"propertyCount": 6
}
Update Group
key
or externalId
in the URL.
Endpoint
PUT or PATCH https://api.myvr.com/v1/property-groups/{KEY}/
Arguments
keystring |
The identifier of the Group to update. The identifier can be a MyVR
Group key , which is provided after you create a Group,
or an externalId you've set on the Group.
|
externalIdstring |
A unique identifier of the object in your external system. If provided, you can lookup the object by externalId in addition to key.
|
namestring |
The name of the property group.
|
Example Request
curl https://api.myvr.com/v1/property-groups/{KEY}/ -u YOUR_API_KEY: -X PATCH
-d created="2015-02-27T22:31:09Z"
Example Response
{
"uri": "https://api.myvr.com/v1/property-groups/b122a0ff5a236ce1/",
"key": "b122a0ff5a236ce1",
"created": "2015-02-27T22:31:09Z",
"externalId": null,
"modified": "2015-04-16T17:37:53Z",
"name": "LA Beach Properties",
"propertyCount": 6
}
Delete Group
Endpoint
DELETE https://api.myvr.com/v1/property-groups/{KEY}/
Arguments
keystring |
The identifier of the Group to delete. The identifier can be a MyVR
Group key , which is provided after you create a Group,
or an externalId you've set on the Group.
Required
|
Example Request
curl https://api.myvr.com/v1/property-groups/{KEY}/ -u YOUR_API_KEY: -X DELETE
Response
Example Response
{}
List Groups
Endpoint
GET https://api.myvr.com/v1/property-groups/
Arguments
idstring |
Find results by id, uri, or externalId.
Optional
|
modifiedstring |
Find results modified after this date and time.
Optional
|
namestring |
Filter the list of groups by name.
Optional
|
minPropertiesinteger |
Restrict the list of groups to those that meet a minimum property count.
Optional
|
maxPropertiesinteger |
Restrict the list of groups to those that do not exceed a maximum property count.
Optional
|
orderBystring |
Sort the property groups results by the field name
provided here. Valid options are: name ,
propertyCount , created ,
externalId .
Optional
|
Example Request
curl https://api.myvr.com/v1/property-groups/ -u YOUR_API_KEY:
Response
Example Response
{
"count": 100,
"limit": 25,
"offset": 25,
"next": "https://api.myvr.com/v1/property-groups/?offset=50",
"previous": "https://api.myvr.com/v1/property-groups/?offset=0",
"results": [
{
"uri": "https://api.myvr.com/v1/property-groups/b122a0ff5a236ce1/",
"key": "b122a0ff5a236ce1",
"created": "2015-02-27T22:31:09Z",
"externalId": null,
"modified": "2015-04-16T17:37:53Z",
"name": "LA Beach Properties",
"propertyCount": 6
}
]
}
NOTE: The above example response only shows one result
for brevity, whereas the meta info indicates it should
have 25.
Memberships
The collection of property to group mappings. You can include as many or as few properties as you like in each group. Properties can only be added to a group once.
The membership endpoint supports bulk operations.
The Membership Object
Attributes
uriuri |
The uniform resource identifier for the object.
|
keystring |
The unique identifier of the object in MyVR. This can be used to retrieve the object.
|
createddatetime |
The ISO-8601 datetime the object was created in MyVR.
|
groupstring |
The property group this object relates to. For create and update operations, this can be the URI, key, or externalId.
|
modifieddatetime |
The ISO-8601 datetime the object was last modified in MyVR.
|
positioninteger |
The default position of the property within the group.
|
propertystring |
The property this object relates to. For create and update operations, this can be the URI , key , or externalId .
|
Example Response
{
"uri": "https://api.myvr.com/v1/property-memberships/1595c0a4cd6e1981/",
"key": "1595c0a4cd6e1981",
"created": "2017-08-22T07:00:00Z",
"group": {
"externalId": null,
"uri": "https://api.myvr.com/v1/property-groups/b122a0ff5a236ce1/",
"key": "b122a0ff5a236ce1",
"name": "LA Beach Properties"
},
"modified": "2017-08-22T07:00:00Z",
"position": 1,
"property": {
"name": "Modern Villa",
"uri": "https://api.myvr.com/v1/properties/ecb43df9c4b87a56/",
"id": "ecb43df9c4b87a56",
"externalId": null,
"key": "ecb43df9c4b87a56",
"slug": "modern-villa"
}
}
Create Membership
Create a new Membership on your MyVR account. When a Membership is created,
it will be assigned a key
.
Endpoint
POST https://api.myvr.com/v1/property-memberships/
Arguments
groupstring |
The property group this object relates to. For create and update operations, this can be the URI, key, or externalId.
Required
|
positioninteger |
The default position of the property within the group.
|
propertystring |
The property this object relates to. For create and update operations, this can be the URI , key , or externalId .
Required
|
Example Request
curl https://api.myvr.com/v1/property-memberships/ -u YOUR_API_KEY:
-d group="b122a0ff5a236ce1"
-d property="ecb43df9c4b87a56"
Response
key
. You can use this key
to retrieve or
update the Membership in the future. If creation fails, an http error will
be returned.
Example Response
{
"uri": "https://api.myvr.com/v1/property-memberships/1595c0a4cd6e1981/",
"key": "1595c0a4cd6e1981",
"created": "2017-08-22T07:00:00Z",
"group": {
"externalId": null,
"uri": "https://api.myvr.com/v1/property-groups/b122a0ff5a236ce1/",
"key": "b122a0ff5a236ce1",
"name": "LA Beach Properties"
},
"modified": "2017-08-22T07:00:00Z",
"position": 1,
"property": {
"name": "Modern Villa",
"uri": "https://api.myvr.com/v1/properties/ecb43df9c4b87a56/",
"id": "ecb43df9c4b87a56",
"externalId": null,
"key": "ecb43df9c4b87a56",
"slug": "modern-villa"
}
}
Retrieve Membership
Endpoint
GET https://api.myvr.com/v1/property-memberships/{KEY}/
Arguments
keystring |
The identifier of the Membership to retrieve. The identifier can be a MyVR
Membership key , which is provided after you create a Membership,
or an externalId you've set on the Membership.
Required
|
Example Request
curl https://api.myvr.com/v1/property-memberships/{KEY}/ -u YOUR_API_KEY:
Example Response
{
"uri": "https://api.myvr.com/v1/property-memberships/1595c0a4cd6e1981/",
"key": "1595c0a4cd6e1981",
"created": "2017-08-22T07:00:00Z",
"group": {
"externalId": null,
"uri": "https://api.myvr.com/v1/property-groups/b122a0ff5a236ce1/",
"key": "b122a0ff5a236ce1",
"name": "LA Beach Properties"
},
"modified": "2017-08-22T07:00:00Z",
"position": 1,
"property": {
"name": "Modern Villa",
"uri": "https://api.myvr.com/v1/properties/ecb43df9c4b87a56/",
"id": "ecb43df9c4b87a56",
"externalId": null,
"key": "ecb43df9c4b87a56",
"slug": "modern-villa"
}
}
Update Membership
key
or externalId
in the URL.
Endpoint
PUT or PATCH https://api.myvr.com/v1/property-memberships/{KEY}/
Arguments
keystring |
The identifier of the Membership to update. The identifier can be a MyVR
Membership key , which is provided after you create a Membership,
or an externalId you've set on the Membership.
|
groupstring |
The property group this object relates to. For create and update operations, this can be the URI, key, or externalId.
|
positioninteger |
The default position of the property within the group.
|
propertystring |
The property this object relates to. For create and update operations, this can be the URI , key , or externalId .
|
Example Request
curl https://api.myvr.com/v1/property-memberships/{KEY}/ -u YOUR_API_KEY: -X PATCH
-d created="2017-08-22T07:00:00Z"
Example Response
{
"uri": "https://api.myvr.com/v1/property-memberships/1595c0a4cd6e1981/",
"key": "1595c0a4cd6e1981",
"created": "2017-08-22T07:00:00Z",
"group": {
"externalId": null,
"uri": "https://api.myvr.com/v1/property-groups/b122a0ff5a236ce1/",
"key": "b122a0ff5a236ce1",
"name": "LA Beach Properties"
},
"modified": "2017-08-22T07:00:00Z",
"position": 1,
"property": {
"name": "Modern Villa",
"uri": "https://api.myvr.com/v1/properties/ecb43df9c4b87a56/",
"id": "ecb43df9c4b87a56",
"externalId": null,
"key": "ecb43df9c4b87a56",
"slug": "modern-villa"
}
}
Delete Membership
Endpoint
DELETE https://api.myvr.com/v1/property-memberships/{KEY}/
Arguments
keystring |
The identifier of the Membership to delete. The identifier can be a MyVR
Membership key , which is provided after you create a Membership,
or an externalId you've set on the Membership.
Required
|
Example Request
curl https://api.myvr.com/v1/property-memberships/{KEY}/ -u YOUR_API_KEY: -X DELETE
Response
Example Response
{}
List Memberships
Endpoint
GET https://api.myvr.com/v1/property-memberships/
Arguments
idstring |
Find results by id, uri, or externalId.
Optional
|
modifiedstring |
Find results modified after this date and time.
Optional
|
propertystring |
Return all memberships associated with the provided property, identified by the key or externalId of the property.
Optional
|
groupstring |
Return all memberships associated with the provided group, identified by the key or externalId of the group.
Optional
|
Example Request
curl https://api.myvr.com/v1/property-memberships/ -u YOUR_API_KEY:
Response
Example Response
{
"count": 100,
"limit": 25,
"offset": 25,
"next": "https://api.myvr.com/v1/property-memberships/?offset=50",
"previous": "https://api.myvr.com/v1/property-memberships/?offset=0",
"results": [
{
"uri": "https://api.myvr.com/v1/property-memberships/1595c0a4cd6e1981/",
"key": "1595c0a4cd6e1981",
"created": "2017-08-22T07:00:00Z",
"group": {
"externalId": null,
"uri": "https://api.myvr.com/v1/property-groups/b122a0ff5a236ce1/",
"key": "b122a0ff5a236ce1",
"name": "LA Beach Properties"
},
"modified": "2017-08-22T07:00:00Z",
"position": 1,
"property": {
"name": "Modern Villa",
"uri": "https://api.myvr.com/v1/properties/ecb43df9c4b87a56/",
"id": "ecb43df9c4b87a56",
"externalId": null,
"key": "ecb43df9c4b87a56",
"slug": "modern-villa"
}
}
]
}
NOTE: The above example response only shows one result
for brevity, whereas the meta info indicates it should
have 25.