Coator Standard Schema
v1.0The 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.
| Element | Type | Required | Description |
|---|---|---|---|
| DebtPortfolio | Root | Yes | Root element. Contains portfolio metadata and all claims. |
| Meta.PortfolioId | string | Yes | Unique identifier for this portfolio batch. |
| Claim.ClaimId | string | Yes | Unique identifier for the claim within the portfolio. |
| Claim.Debtor | DebtorType | Yes | Name information about the debtor. |
| Claim.Cost | CostType | No | Optional cost associated with the claim. |
| Debtor.FirstName | string | Yes | Debtor's first name. |
| Debtor.LastName | string | Yes | Debtor's last name. |
| Cost.Amount | decimal | Yes | Cost amount. |
| Cost.Currency | string | Yes | ISO 4217 currency code, e.g. SEK. |
XSD definition
Namespace: https://schema.coator.io/v1
<?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.
<?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.