compare_properties

Compare 2–20 uniquely named properties in OMR using the same metrics; order by rounded net yield, preserving input order for ties.

When to use

Use when an agent must rank or choose between 2-20 candidate properties by net yield.

Selection guidance

Role: supporting. Use when an agent must rank or choose between 2-20 candidate properties by net yield.

Use cases

Access

Price: $0.03 USD per call. Payment options are deployment-configured; inspect /api/v1/payment-methods. Prices and payment semantics are unchanged from the canonical registry.

Related tools

Example input

{
  "properties": [
    {
      "name": "A",
      "propertyValue": 85000,
      "annualRent": 7200
    },
    {
      "name": "B",
      "propertyValue": 100000,
      "annualRent": 7000
    }
  ]
}

Example output

{
  "properties": [
    {
      "name": "A",
      "propertyValue": 85000,
      "annualRent": 7200,
      "grossAnnualIncome": 7200,
      "grossYield": 8.47,
      "netYield": 8.47,
      "annualOperatingCost": 0,
      "annualNetIncome": 7200,
      "effectiveAnnualRent": 7200,
      "paybackYears": 11.81,
      "grossYieldPct": 8.47,
      "netYieldPct": 8.47,
      "annualOperatingCosts": 0,
      "currency": "OMR",
      "note": "Calculations only; excludes financing, taxes, transaction fees and capital appreciation."
    },
    {
      "name": "B",
      "propertyValue": 100000,
      "annualRent": 7000,
      "grossAnnualIncome": 7000,
      "grossYield": 7,
      "netYield": 7,
      "annualOperatingCost": 0,
      "annualNetIncome": 7000,
      "effectiveAnnualRent": 7000,
      "paybackYears": 14.29,
      "grossYieldPct": 7,
      "netYieldPct": 7,
      "annualOperatingCosts": 0,
      "currency": "OMR",
      "note": "Calculations only; excludes financing, taxes, transaction fees and capital appreciation."
    }
  ],
  "sortedByNetYield": [
    "A",
    "B"
  ]
}

Input schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "properties": {
      "minItems": 2,
      "maxItems": 20,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "propertyValue": {
            "type": "number",
            "minimum": 0.01,
            "maximum": 1000000000000
          },
          "annualRent": {
            "type": "number",
            "minimum": 0,
            "maximum": 1000000000000
          },
          "serviceCharge": {
            "type": "number",
            "minimum": 0,
            "maximum": 1000000000000
          },
          "maintenanceCost": {
            "type": "number",
            "minimum": 0,
            "maximum": 1000000000000
          },
          "maintenance": {
            "description": "Legacy alias for maintenanceCost; supply only one",
            "type": "number",
            "minimum": 0,
            "maximum": 1000000000000
          },
          "vacancyRatePct": {
            "type": "number",
            "minimum": 0,
            "maximum": 100
          },
          "otherAnnualCosts": {
            "type": "number",
            "minimum": 0,
            "maximum": 1000000000000
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          }
        },
        "required": [
          "propertyValue",
          "annualRent",
          "name"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "properties"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "properties": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "propertyValue": {
            "type": "number"
          },
          "annualRent": {
            "type": "number"
          },
          "grossAnnualIncome": {
            "type": "number"
          },
          "grossYield": {
            "type": "number"
          },
          "netYield": {
            "type": "number"
          },
          "annualOperatingCost": {
            "type": "number"
          },
          "annualNetIncome": {
            "type": "number"
          },
          "effectiveAnnualRent": {
            "type": "number"
          },
          "paybackYears": {
            "type": [
              "number",
              "null"
            ]
          },
          "grossYieldPct": {
            "type": "number"
          },
          "netYieldPct": {
            "type": "number"
          },
          "annualOperatingCosts": {
            "type": "number"
          },
          "currency": {
            "type": "string",
            "const": "OMR"
          },
          "note": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "propertyValue",
          "annualRent",
          "grossAnnualIncome",
          "grossYield",
          "netYield",
          "annualOperatingCost",
          "annualNetIncome",
          "effectiveAnnualRent",
          "paybackYears",
          "grossYieldPct",
          "netYieldPct",
          "annualOperatingCosts",
          "currency",
          "note",
          "name"
        ],
        "additionalProperties": false
      }
    },
    "sortedByNetYield": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "properties",
    "sortedByNetYield"
  ],
  "additionalProperties": false
}

Category: Property Intelligence · hierarchy: supporting · idempotent: yes · side effects: no