diff --git a/DocumentOperator.Domain/ValueObjects/SwissQrCodeData.cs b/DocumentOperator.Domain/ValueObjects/SwissQrCodeData.cs deleted file mode 100644 index f61348e..0000000 --- a/DocumentOperator.Domain/ValueObjects/SwissQrCodeData.cs +++ /dev/null @@ -1,129 +0,0 @@ -namespace DocumentOperator.Domain.ValueObjects; - -/// -/// Represents Swiss QR Code data according to Swiss QR Bill Standard 2.0. -/// Immutable value object containing all fields from a Swiss QR payment part. -/// -public sealed record SwissQrCodeData -{ - /// - /// QR type - always "SPC" for Swiss Payment Code - /// - public required string QrType { get; init; } - - /// - /// Version of the Swiss QR Code standard (e.g., "0200" for version 2.0) - /// - public required string Version { get; init; } - - /// - /// Character set code (always "1" for UTF-8) - /// - public required string CodingType { get; init; } - - /// - /// IBAN of the creditor (payee) - /// - public required string Iban { get; init; } - - /// - /// Creditor (payee) information - /// - public required AddressData Creditor { get; init; } - - /// - /// Ultimate creditor information (optional) - /// - public AddressData? UltimateCreditor { get; init; } - - /// - /// Payment amount (null if not specified) - /// - public decimal? Amount { get; init; } - - /// - /// Currency code (CHF or EUR) - /// - public required string Currency { get; init; } - - /// - /// Ultimate debtor (payer) information (optional) - /// - public AddressData? UltimateDebtor { get; init; } - - /// - /// Reference type (QRR, SCOR, or NON) - /// - public required string ReferenceType { get; init; } - - /// - /// Payment reference (format depends on ReferenceType) - /// - public string? Reference { get; init; } - - /// - /// Unstructured message (max 140 characters) - /// - public string? UnstructuredMessage { get; init; } - - /// - /// Bill information (structured data for automated processing) - /// - public string? BillInformation { get; init; } - - /// - /// Alternative procedure parameters (up to 2 entries) - /// - public IReadOnlyList? AlternativeProcedureParameters { get; init; } -} - -/// -/// Represents address data in Swiss QR Code (creditor or debtor) -/// -public sealed record AddressData -{ - /// - /// Address type: "S" for structured, "K" for combined - /// - public required string AddressType { get; init; } - - /// - /// Name of person or company - /// - public required string Name { get; init; } - - /// - /// Street name (structured address only) - /// - public string? Street { get; init; } - - /// - /// Building number (structured address only) - /// - public string? BuildingNumber { get; init; } - - /// - /// Address line 1 (combined address only) - /// - public string? AddressLine1 { get; init; } - - /// - /// Address line 2 (combined address only) - /// - public string? AddressLine2 { get; init; } - - /// - /// Postal code - /// - public required string PostalCode { get; init; } - - /// - /// City/town name - /// - public required string City { get; init; } - - /// - /// Two-letter country code (ISO 3166-1 alpha-2) - /// - public required string Country { get; init; } -}