VRPlatformVRPlatform

Listings

Properties, status, ownership periods, and fee subscriptions

Listings

Overview

Listings represent rental properties in your portfolio. Each listing is the central entity connecting:

Key Concepts

Listing Status

StatusDescription
activeProperty is operational, accepting bookings, included in reports
inactiveProperty is disabled, excluded from calculations and reports

Deactivation rules:

  • Cannot deactivate if transactions exist in closed period
  • Deactivation can be scheduled via ownership periods with setListingInactive

Upcoming Deactivation

Listings track scheduled deactivation status:

StatusDescription
activeNo deactivation scheduled
disable-upcomingWill be deactivated when ownership period ends
disabled-endingCurrently inactive, was deactivated by ownership period
disabled-foreverPermanently inactive

Address

Properties can have full address information:

  • Street address
  • City, state/province
  • ZIP/postal code
  • Country

Currency

Each listing has a default currency for financial calculations. All reservations and transactions for this listing use this currency.

External References

FieldDescription
uniqueRefYour internal property ID for cross-referencing
connectionIdLink to booking channel or PMS connection
sourceExternal system reference (type and ID)

Active Ownership

The activeOwnership field returns the current ownership period for the listing, including:

  • Period dates
  • Owner members with split percentages
  • Business model (managed, co-host, etc.)

Fee Subscriptions

The activeRecurringFeePeriods field lists all active recurring fee subscriptions:

  • Which fees apply
  • Subscription date ranges
  • Any rate overrides

Common Scenarios

Creating a Listing with Initial Ownership

POST /listings
{
  "name": "Beach House",
  "defaultCurrency": "USD",
  "status": "active",
  "uniqueRef": "BH-001",
  "address": {
    "street": "123 Ocean Drive",
    "city": "Miami Beach",
    "state": "FL",
    "zipCode": "33139",
    "country": "US"
  },
  "initialOwnership": {
    "startAt": "2024-01-01",
    "businessModel": "managed",
    "members": [
      {
        "contactId": "owner-123",
        "split": 100
      }
    ]
  }
}

Subscribing to a Recurring Fee

POST /listings/listing-123/fee-subscriptions
{
  "recurringFeeId": "fee-mgmt-456",
  "startAt": "2024-01-01",
  "endAt": null
}

Updating Listing Status

PUT /listings/listing-123
{
  "status": "inactive"
}

Deleting a Listing

Listings can be deleted or archived depending on their usage:

DELETE /listings/listing-123

Response:

{
  "status": "deleted"  // or "archived" if has historical data
}

API Endpoints

MethodEndpointDescription
GET/listingsList all listings with filters
GET/listings/{id}Get listing details
POST/listingsCreate a new listing
PUT/listings/{id}Update a listing
DELETE/listings/{id}Delete or archive a listing
GET/listings/{id}/ownership-periodsList ownership periods
POST/listings/{id}/ownership-periodsCreate ownership period
GET/listings/{id}/fee-subscriptionsList fee subscriptions
POST/listings/{id}/fee-subscriptionsSubscribe to fee

Filtering Listings

GET /listings?status=active&connectionId=conn-123

Response Structure

{
  "id": "listing-123",
  "name": "Beach House",
  "uniqueRef": "BH-001",
  "status": "active",
  "defaultCurrency": "USD",
  "connectionId": "conn-456",
  "address": {
    "street": "123 Ocean Drive",
    "city": "Miami Beach",
    "state": "FL",
    "zipCode": "33139",
    "country": "US"
  },
  "source": {
    "type": "airbnb",
    "id": "airbnb-property-789"
  },
  "upcomingDeactivation": {
    "status": "active",
    "period": null
  },
  "activeOwnership": {
    "id": "period-abc",
    "startAt": "2024-01-01",
    "endAt": null,
    "businessModel": "managed",
    "members": [
      {
        "contactId": "owner-123",
        "split": 100
      }
    ],
    "issues": []
  },
  "activeRecurringFeePeriods": [
    {
      "id": "sub-def",
      "startAt": "2024-01-01",
      "endAt": null,
      "rate": null,
      "recurringFee": {
        "id": "fee-mgmt",
        "title": "Management Fee",
        "type": "managementFee",
        "rateType": "percentage"
      }
    }
  ]
}

On this page