{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/housingfax-com/json-schema/housingfax-com-purchase-report-output-schema.json",
  "title": "PurchaseReportOutput",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/housingfax-com-api-openapi.json#/components/schemas/PurchaseReportOutput",
  "type": "object",
  "properties": {
    "contract": {
      "type": "string",
      "const": "agent-api-1.3.0"
    },
    "language": {
      "type": "string",
      "enum": [
        "es",
        "en",
        "de",
        "nl",
        "fr"
      ]
    },
    "orderId": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
    },
    "status": {
      "type": "string",
      "const": "awaiting_payment"
    },
    "tier": {
      "type": "string",
      "enum": [
        "simple",
        "complete"
      ]
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 600
    },
    "priceCents": {
      "type": "integer",
      "minimum": 1,
      "maximum": 9007199254740991
    },
    "price": {
      "type": "string",
      "minLength": 1,
      "maxLength": 600
    },
    "currency": {
      "type": "string",
      "const": "EUR"
    },
    "vatIncluded": {
      "type": "boolean",
      "const": true
    },
    "checkoutUrl": {
      "type": "string",
      "maxLength": 2048,
      "pattern": "^https:\\/\\/checkout\\.stripe\\.com\\/\\S+$"
    },
    "checkoutExpiresAt": {
      "type": "string",
      "format": "date-time",
      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
    },
    "jobId": {
      "type": "string",
      "pattern": "^scr_[A-Za-z0-9_-]{22}$"
    },
    "statusToken": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{43}\\.[A-Za-z0-9_-]{43}$"
    },
    "reportUrl": {
      "type": "string",
      "maxLength": 400,
      "pattern": "^https:\\/\\/[^\\s]+$"
    },
    "pollAfterSeconds": {
      "type": "integer",
      "minimum": 1,
      "maximum": 600
    },
    "termsVersion": {
      "type": "string",
      "minLength": 1,
      "maxLength": 16
    },
    "agentContractingTermsUrl": {
      "type": "string",
      "maxLength": 400,
      "pattern": "^https:\\/\\/[^\\s]+$"
    },
    "notice": {
      "type": "string",
      "minLength": 1,
      "maxLength": 600
    }
  },
  "required": [
    "contract",
    "language",
    "orderId",
    "status",
    "tier",
    "name",
    "priceCents",
    "price",
    "currency",
    "vatIncluded",
    "checkoutUrl",
    "checkoutExpiresAt",
    "jobId",
    "statusToken",
    "reportUrl",
    "pollAfterSeconds",
    "termsVersion",
    "agentContractingTermsUrl",
    "notice"
  ],
  "additionalProperties": false
}