{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/deputy/json-schema/deputy-area-rate-get-response-schema.json",
  "title": "Get Area Rate response",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/deputy-area-rate-api-openapi.yml#/components/schemas/AreaRateGetResponse",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean"
    },
    "areaRates": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/v2modelAreaRate"
      }
    },
    "contracts": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/tenantarea_ratev2modelContract"
      }
    }
  },
  "$defs": {
    "modelPayRuleOverride": {
      "type": "object",
      "properties": {
        "payRuleId": {
          "type": "integer",
          "format": "int32"
        },
        "value": {
          "type": "number",
          "format": "double"
        }
      }
    },
    "tenantarea_ratev2modelContract": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int32",
          "title": "Contract id"
        },
        "name": {
          "type": "string",
          "title": "Contract name"
        },
        "payRules": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/tenantarea_ratev2modelPayRule"
          },
          "title": "Contract pay rules"
        },
        "levels": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/tenantarea_ratev2modelLevel"
          },
          "title": "Contract levels"
        }
      }
    },
    "tenantarea_ratev2modelLevel": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int32",
          "title": "Level id"
        },
        "title": {
          "type": "string",
          "title": "Level title"
        },
        "baseRate": {
          "type": "number",
          "format": "double",
          "title": "Level base rate"
        },
        "levelKsuid": {
          "type": "string",
          "title": "levelKsuid"
        }
      }
    },
    "tenantarea_ratev2modelPayRule": {
      "type": "object",
      "properties": {
        "id": {
          "type": "integer",
          "format": "int32",
          "title": "Pay rule id"
        },
        "payTitle": {
          "type": "string",
          "title": "Pay rule title"
        },
        "hourlyRate": {
          "type": "number",
          "format": "double",
          "title": "Pay rule hourly rate, e.g. 15.5 (dollars)"
        },
        "isMultiplier": {
          "type": "boolean",
          "title": "Pay rule multiplier state"
        },
        "multiplierValue": {
          "type": "number",
          "format": "double",
          "description": "Pay rule multiplier value, e.g. 1.5, 2, etc."
        },
        "multiplierBaseRate": {
          "type": "integer",
          "format": "int32",
          "title": "Pay rule multiplier base rate as a reference to another pay rule"
        },
        "unitValue": {
          "type": "number",
          "format": "double",
          "title": "Pay rule unit value"
        },
        "remunerationType": {
          "type": "integer",
          "format": "int32",
          "title": "Remuneration Type"
        },
        "levelIds": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int32"
          },
          "title": "List of associated levels"
        },
        "levelAssnType": {
          "type": "integer",
          "format": "int64",
          "title": "Level assignment type"
        },
        "config": {
          "type": "string",
          "title": "Pay rule Config"
        }
      }
    },
    "v2modelAreaRate": {
      "type": "object",
      "properties": {
        "areaIds": {
          "type": "array",
          "items": {
            "type": "integer",
            "format": "int32"
          },
          "title": "Array of area ids"
        },
        "baseRate": {
          "type": "number",
          "format": "double",
          "title": "Base rate"
        },
        "contractId": {
          "type": "integer",
          "format": "int32",
          "title": "Contract id"
        },
        "payRuleOverrides": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/modelPayRuleOverride"
          },
          "title": "Pay Rule Overrides, i.e. <payRuleId, overrideValue>"
        },
        "levelId": {
          "type": "integer",
          "format": "int32",
          "title": "Level Id"
        },
        "effectiveDate": {
          "type": "string",
          "title": "Effective date (YYYY-MM-DD format)"
        }
      }
    }
  }
}