{
  "$defs": {
    "BankAccount": {
      "description": "Where an invoice asks to be paid, for one currency.\n\nEvery number here is validated the way a bank would \u2014 a transposed IBAN or\na malformed BIC fails at load, not after the PDF has left the building.\n`bic` is mandatory for any currency you invoice abroad in: rendering an\nexport invoice without one is refused, because a customer who has to look\nthe BIC up themselves is a customer who can get it wrong and have the\ntransfer returned. `quints iban` checks a pair before it ships.",
      "properties": {
        "iban": {
          "default": "",
          "title": "Iban",
          "type": "string"
        },
        "qr_iban": {
          "default": "",
          "title": "Qr Iban",
          "type": "string"
        },
        "bic": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Bic"
        },
        "holder": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Holder"
        },
        "bank_name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Bank Name"
        },
        "reference": {
          "anyOf": [
            {
              "enum": [
                "scor",
                "qrr"
              ],
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Which payment reference invoices paid into this account carry. `qrr` is the Swiss QR reference, numeric, paid into `qr_iban` (CHF only; needs the bank's `qr_reference_id`); `scor` is the readable ISO 11649 creditor reference (RF\u2026) paid into the regular `iban`. Unset: `qrr` when the account has a `qr_iban` and the invoice is in CHF, otherwise `scor`.",
          "title": "Reference"
        },
        "qr_reference_id": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The six-digit identification your bank assigns you (UBS: BESR-ID / 'ID number'). Banks require it as the first six digits of every QR reference you issue; without it they are zeros.",
          "title": "Qr Reference Id"
        }
      },
      "title": "BankAccount",
      "type": "object"
    },
    "Brand": {
      "description": "Typography and colour tokens the template renders with.\n\nThe defaults are Sealambda's brand \u2014 the Tyrian palette and the three OFL\nfamilies bundled with the package (Geist body, Newsreader title, Geist\nMono figures), so an unconfigured issuer still gets a designed invoice\nwith fixed-width, digit-aligned amounts. An issuer with their own palette\nand families overrides them all.",
      "properties": {
        "accent": {
          "default": "#6b1f4a",
          "pattern": "^#([0-9A-Fa-f]{3,4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
          "title": "Accent",
          "type": "string"
        },
        "font": {
          "default": "Geist",
          "title": "Font",
          "type": "string"
        },
        "font_display": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": "Newsreader",
          "title": "Font Display"
        },
        "font_display_stretch": {
          "default": 100,
          "title": "Font Display Stretch",
          "type": "integer"
        },
        "font_display_weight": {
          "default": "regular",
          "enum": [
            "regular",
            "medium",
            "semibold",
            "bold"
          ],
          "title": "Font Display Weight",
          "type": "string"
        },
        "font_mono": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": "Geist Mono",
          "title": "Font Mono"
        },
        "font_dir": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Font Dir"
        },
        "logo": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Logo"
        },
        "logo_height": {
          "default": 12.0,
          "title": "Logo Height",
          "type": "number"
        },
        "ink": {
          "default": "#1c1618",
          "pattern": "^#([0-9A-Fa-f]{3,4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
          "title": "Ink",
          "type": "string"
        },
        "subtle": {
          "default": "#655753",
          "pattern": "^#([0-9A-Fa-f]{3,4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
          "title": "Subtle",
          "type": "string"
        },
        "rule": {
          "default": "#cfbdb7",
          "pattern": "^#([0-9A-Fa-f]{3,4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
          "title": "Rule",
          "type": "string"
        },
        "panel": {
          "default": "#ede4e0",
          "pattern": "^#([0-9A-Fa-f]{3,4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$",
          "title": "Panel",
          "type": "string"
        }
      },
      "title": "Brand",
      "type": "object"
    }
  },
  "properties": {
    "name": {
      "title": "Name",
      "type": "string"
    },
    "address": {
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "title": "Address",
      "type": "array"
    },
    "vat_id": {
      "title": "Vat Id",
      "type": "string"
    },
    "country": {
      "default": "CH",
      "title": "Country",
      "type": "string"
    },
    "email": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Email"
    },
    "phone": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Phone"
    },
    "bank": {
      "additionalProperties": {
        "$ref": "#/$defs/BankAccount"
      },
      "title": "Bank",
      "type": "object"
    },
    "brand": {
      "$ref": "#/$defs/Brand"
    }
  },
  "required": [
    "name",
    "address",
    "vat_id"
  ],
  "title": "Issuer",
  "type": "object"
}
