HomeStandard Schema

Coator Standard Schema

v1.0

The Coator standard XML schema defines a consistent, validated structure for debt portfolio data. All files passing through Coator are transformed into — or out of — this format.

Structure overview

A DebtPortfolio document contains a Meta block with portfolio-level information, and a Claims block holding one or more individual debt claims.

DebtPortfolio

├── Meta

└── PortfolioIdstring

└── Claims

└── Claim1..*

├── ClaimIdstring

├── Debtor

│ ├── FirstNamestring

│ └── LastNamestring

└── CostCostType?

├── Amountdecimal

└── Currencystring

Element reference

Key elements and their types. Elements marked optional (?) have minOccurs="0" in the schema.

ElementTypeRequiredDescription
DebtPortfolioRootYesRoot element. Contains portfolio metadata and all claims.
Meta.PortfolioIdstringYesUnique identifier for this portfolio batch.
Claim.ClaimIdstringYesUnique identifier for the claim within the portfolio.
Claim.DebtorDebtorTypeYesName information about the debtor.
Claim.CostCostTypeNoOptional cost associated with the claim.
Debtor.FirstNamestringYesDebtor's first name.
Debtor.LastNamestringYesDebtor's last name.
Cost.AmountdecimalYesCost amount.
Cost.CurrencystringYesISO 4217 currency code, e.g. SEK.

XSD definition

Namespace: https://schema.coator.io/v1

coator-v1.xsd
coator-v1.xsdXML Schema Definition
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  targetNamespace="https://schema.coator.io/v1"
  xmlns="https://schema.coator.io/v1"
  elementFormDefault="qualified">

  <xs:element name="DebtPortfolio">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Meta"   type="MetaType" />
        <xs:element name="Claims" type="ClaimsType" />
      </xs:sequence>
      <xs:attribute name="version" type="xs:string" fixed="1.0" />
    </xs:complexType>
  </xs:element>

  <xs:complexType name="MetaType">
    <xs:sequence>
      <xs:element name="PortfolioId" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ClaimsType">
    <xs:sequence>
      <xs:element name="Claim" type="ClaimType" minOccurs="1" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ClaimType">
    <xs:sequence>
      <xs:element name="ClaimId" type="xs:string" />
      <xs:element name="Debtor"  type="DebtorType" />
      <xs:element name="Cost"    type="CostType" minOccurs="0" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DebtorType">
    <xs:sequence>
      <xs:element name="FirstName" type="xs:string" />
      <xs:element name="LastName"  type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CostType">
    <xs:sequence>
      <xs:element name="Amount"   type="xs:decimal" />
      <xs:element name="Currency" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

</xs:schema>

Sample document

A minimal valid DebtPortfolio instance with one claim.

example.xml
example.xmlXML Instance Document
<?xml version="1.0" encoding="UTF-8"?>
<DebtPortfolio
  xmlns="https://schema.coator.io/v1"
  version="1.0">

  <Meta>
    <PortfolioId>PF-0001</PortfolioId>
  </Meta>

  <Claims>
    <Claim>
      <ClaimId>CLM-001</ClaimId>
      <Debtor>
        <FirstName>Anna</FirstName>
        <LastName>Lindgren</LastName>
      </Debtor>
      <Cost>
        <Amount>1500.00</Amount>
        <Currency>SEK</Currency>
      </Cost>
    </Claim>
  </Claims>

</DebtPortfolio>

Versioning

The schema version is declared as an attribute on the root element (version="1.0"). Future versions will be published at new namespace URIs (e.g., schema.coator.io/v2) and will maintain backwards-compatible transformation support for all previous versions.