namespace DocumentOperator.Application.Common.DTOs;

/// <summary>
/// Response containing extracted Swiss QR Code in dual format.
/// </summary>
/// <param name="Bill">Parsed Swiss QR Bill (structured format)</param>
/// <param name="RawLines">Raw Swiss QR Code lines (original newline-separated format)</param>
/// <example>
/// {
///   "bill": {
///     "version": "V2_0",
///     "amount": 630.20,
///     "currency": "CHF",
///     "account": "CH953000520280564701R",
///     "creditor": {
///       "type": "Structured",
///       "name": "ALMAT AG",
///       "town": "Tagelswangen"
///     },
///     "referenceType": "QRR",
///     "reference": "000000000000000000252080824"
///   },
///   "rawLines": [
///     "SPC",
///     "0200",
///     "1",
///     "CH953000520280564701R",
///     "S",
///     "ALMAT AG",
///     "..."
///   ]
/// }
/// </example>
public record SwissQrCodeExtractionResult(
    SwissQrBillDto Bill,
    IReadOnlyList<string> RawLines
);
