{
  "specification": "Nodali portable customer export",
  "version": "1.1",
  "validFrom": "2026-07-22",
  "status": "current",
  "serviceType": "Nodali logistics data and control platform",
  "legalAlignment": {
    "contractDocument": "https://noda.li/cs/data-act/",
    "documentVersion": "1.1",
    "registerRequirement": "Nodali Data Act terms, Article 11; Regulation (EU) 2023/2854, Articles 26 and 28"
  },
  "infrastructure": {
    "jurisdictionCountryCode": "CZ",
    "euEea": true,
    "production": {
      "provider": "VEDOS (formerly WEDOS)",
      "type": "VPS; Nodali application in Docker",
      "countryCode": "CZ"
    },
    "database": {
      "provider": "VEDOS (formerly WEDOS)",
      "type": "PostgreSQL in Docker on the production VPS",
      "countryCode": "CZ"
    },
    "backup": {
      "provider": "Progity",
      "type": "Progity-owned NAS at its registered office; exact address and topology withheld",
      "countryCode": "CZ"
    }
  },
  "package": {
    "container": "ZIP",
    "manifest": "manifest.json",
    "readme": "README.txt",
    "structuredDataMediaType": "application/x-ndjson",
    "structuredDataExtension": ".ndjson",
    "textEncoding": "UTF-8",
    "originalFilesDirectory": "files/original/",
    "integrity": "SHA-256 checksums for every package file are listed in manifest.json"
  },
  "delivery": {
    "mode": "Verified on-request bulk export",
    "channel": "Secure portal download or another individually agreed secure channel",
    "publicSelfServiceApi": false,
    "continuousOrRealTimeExport": false
  },
  "standards": [
    "ZIP application/zip",
    "JSON RFC 8259",
    "JSON Lines / NDJSON application/x-ndjson",
    "UTF-8 Unicode encoding",
    "RFC 3339 and ISO 8601 dates and timestamps",
    "ISO 4217 currency codes",
    "ISO 3166-1 alpha-2 country codes",
    "SHA-256 file integrity digests"
  ],
  "recordConventions": {
    "scope": "One verified customer tenant per package",
    "identifiers": "Opaque strings stable across files and repeated exports while the source object exists",
    "foreignKeys": "Identifier strings referring to the primary key of the named dataset",
    "timestamps": "RFC 3339 / ISO 8601 with an explicit UTC offset",
    "dates": "ISO 8601 calendar date, YYYY-MM-DD",
    "decimals": "JSON strings using a dot as decimal separator; no binary floating-point conversion",
    "money": "Decimal amount accompanied by an ISO 4217 currency code",
    "nulls": "Unavailable optional values are JSON null; absent optional fields are permitted",
    "softDeletion": "deletedAt carries the deletion timestamp when retained in the source service",
    "ordering": "No semantic record order is guaranteed",
    "schemaEvolution": "New optional fields may be added within version 1.1; removals, renames, changed meaning or changed requiredness require a new version"
  },
  "groups": [
    {
      "id": "account-access",
      "label": {"cs": "Účet, přístupy a aktivované služby", "en": "Account, access and enabled services", "de": "Konto, Zugriffe und aktivierte Dienste", "hu": "Fiók, hozzáférés és aktív szolgáltatások", "pl": "Konto, dostęp i aktywne usługi", "it": "Account, accessi e servizi attivi", "es": "Cuenta, accesos y servicios activos", "pt": "Conta, acessos e serviços ativos"},
      "entities": [
        {"id": "tenant", "file": "account/tenant.ndjson", "primaryKey": "id", "fields": ["id", "slug", "name", "status", "defaultCurrency", "createdAt", "updatedAt", "deletedAt"], "relationships": []},
        {"id": "users", "file": "account/users.ndjson", "primaryKey": "id", "fields": ["id", "email", "fullName", "status", "createdAt", "updatedAt"], "relationships": []},
        {"id": "memberships", "file": "account/memberships.ndjson", "primaryKey": "id", "fields": ["id", "userId", "roleCode", "status", "createdAt", "updatedAt"], "relationships": ["userId -> users.id"]},
        {"id": "entitlements", "file": "account/entitlements.ndjson", "primaryKey": "id", "fields": ["id", "moduleCode", "status", "enabledAt", "createdAt", "updatedAt"], "relationships": []}
      ]
    },
    {
      "id": "master-data",
      "label": {"cs": "Zákazníci a provozní kmenová data", "en": "Customers and operational master data", "de": "Kunden und operative Stammdaten", "hu": "Ügyfél- és működési törzsadatok", "pl": "Klienci i operacyjne dane podstawowe", "it": "Clienti e dati anagrafici operativi", "es": "Clientes y datos maestros operativos", "pt": "Clientes e dados mestre operacionais"},
      "entities": [
        {"id": "customers", "file": "master/customers.ndjson", "primaryKey": "id", "fields": ["id", "customerId", "name", "email", "phone", "status", "sourceFeedId", "sourceData", "createdAt", "updatedAt", "deletedAt"], "relationships": ["sourceFeedId -> import-sources.id"]},
        {"id": "customer-locations", "file": "master/customer-locations.ndjson", "primaryKey": "id", "fields": ["id", "customerId", "locationCode", "name", "address", "latitude", "longitude", "defaultUnloadingMinutes", "accessNote", "sourceFeedId", "sourceData", "createdAt", "updatedAt", "deletedAt"], "relationships": ["customerId -> customers.id", "sourceFeedId -> import-sources.id"]},
        {"id": "depots", "file": "master/depots.ndjson", "primaryKey": "id", "fields": ["id", "depotCode", "name", "address", "latitude", "longitude", "type", "sourceFeedId", "sourceData", "createdAt", "updatedAt", "deletedAt"], "relationships": ["sourceFeedId -> import-sources.id"]},
        {"id": "carriers", "file": "master/carriers.ndjson", "primaryKey": "id", "fields": ["id", "code", "name", "type", "customerSpecific", "createdAt", "updatedAt"], "relationships": []},
        {"id": "drivers", "file": "master/drivers.ndjson", "primaryKey": "id", "fields": ["id", "driverId", "name", "email", "phone", "sourceFeedId", "sourceData", "createdAt", "updatedAt", "deletedAt"], "relationships": ["sourceFeedId -> import-sources.id"]},
        {"id": "vehicles", "file": "master/vehicles.ndjson", "primaryKey": "id", "fields": ["id", "vehicleId", "registrationNumber", "name", "vehicleType", "sourceFeedId", "sourceData", "createdAt", "updatedAt", "deletedAt"], "relationships": ["sourceFeedId -> import-sources.id"]}
      ]
    },
    {
      "id": "shipments-tracking",
      "label": {"cs": "Objednávky, zásilky, balíky a tracking", "en": "Orders, shipments, parcels and tracking", "de": "Aufträge, Sendungen, Pakete und Tracking", "hu": "Rendelések, küldemények, csomagok és nyomkövetés", "pl": "Zamówienia, przesyłki, paczki i tracking", "it": "Ordini, spedizioni, colli e tracking", "es": "Pedidos, envíos, paquetes y seguimiento", "pt": "Encomendas, envios, volumes e tracking"},
      "entities": [
        {"id": "orders", "file": "logistics/orders.ndjson", "primaryKey": "id", "fields": ["id", "orderId", "customerId", "customerLocationId", "depotId", "status", "orderCreatedAt", "promisedDeliveryAt", "sourceFeedId", "firstSeenAt", "lastSeenAt", "sourceData", "createdAt", "updatedAt", "deletedAt"], "relationships": ["customerId -> customers.id", "customerLocationId -> customer-locations.id", "depotId -> depots.id", "sourceFeedId -> import-sources.id"]},
        {"id": "shipments", "file": "logistics/shipments.ndjson", "primaryKey": "id", "fields": ["id", "shipmentId", "status", "carrierId", "shippingMethod", "originDepotId", "promisedDeliveryAt", "handedOverAt", "deliveredAt", "sourceFeedId", "sourceData", "createdAt", "updatedAt", "deletedAt"], "relationships": ["carrierId -> carriers.id", "originDepotId -> depots.id", "sourceFeedId -> import-sources.id"]},
        {"id": "order-shipments", "file": "logistics/order-shipments.ndjson", "primaryKey": "id", "fields": ["id", "orderId", "shipmentId", "relationType", "createdAt"], "relationships": ["orderId -> orders.id", "shipmentId -> shipments.id"]},
        {"id": "carrier-accounts", "file": "logistics/carrier-accounts.ndjson", "primaryKey": "id", "fields": ["id", "carrierId", "name", "authType", "status", "createdAt", "updatedAt"], "relationships": ["carrierId -> carriers.id"]},
        {"id": "parcels", "file": "logistics/parcels.ndjson", "primaryKey": "id", "fields": ["id", "shipmentId", "carrierId", "carrierAccountId", "trackingNumber", "status", "lastTrackingEventAt", "deliveredAt", "sourceFeedId", "sourceData", "createdAt", "updatedAt", "deletedAt"], "relationships": ["shipmentId -> shipments.id", "carrierId -> carriers.id", "carrierAccountId -> carrier-accounts.id", "sourceFeedId -> import-sources.id"]},
        {"id": "tracking-events", "file": "logistics/tracking-events.ndjson", "primaryKey": "id", "fields": ["id", "parcelId", "carrierId", "carrierAccountId", "trackingNumber", "eventTime", "rawStatus", "normalizedStatus", "location", "countryCode", "sourceFeedId", "sourceData", "createdAt"], "relationships": ["parcelId -> parcels.id", "carrierId -> carriers.id", "carrierAccountId -> carrier-accounts.id", "sourceFeedId -> import-sources.id"]}
      ]
    },
    {
      "id": "routes-telematics",
      "label": {"cs": "Trasy, zastávky a telematika", "en": "Routes, stops and telematics", "de": "Routen, Stopps und Telematik", "hu": "Útvonalak, megállók és telematika", "pl": "Trasy, postoje i telematyka", "it": "Rotte, fermate e telematica", "es": "Rutas, paradas y telemática", "pt": "Rotas, paragens e telemática"},
      "entities": [
        {"id": "routes", "file": "operations/routes.ndjson", "primaryKey": "id", "fields": ["id", "routeId", "routeCode", "routeDate", "depotId", "driverId", "vehicleId", "status", "plannedStartAt", "plannedEndAt", "actualStartAt", "actualEndAt", "plannedDistanceKm", "actualDistanceKm", "sourceFeedId", "sourceData", "createdAt", "updatedAt", "deletedAt"], "relationships": ["depotId -> depots.id", "driverId -> drivers.id", "vehicleId -> vehicles.id", "sourceFeedId -> import-sources.id"]},
        {"id": "route-stops", "file": "operations/route-stops.ndjson", "primaryKey": "id", "fields": ["id", "routeId", "orderId", "customerLocationId", "sequence", "stopType", "plannedArrivalAt", "actualArrivalAt", "plannedDepartureAt", "actualDepartureAt", "address", "latitude", "longitude", "status", "sourceData", "createdAt", "updatedAt"], "relationships": ["routeId -> routes.id", "orderId -> orders.id", "customerLocationId -> customer-locations.id"]},
        {"id": "telematics-activities", "file": "operations/telematics-activities.ndjson", "primaryKey": "id", "fields": ["id", "driverId", "vehicleId", "activityDate", "startedAt", "finishedAt", "distanceKm", "durationSeconds", "engineOnSeconds", "sourceFeedId", "sourceData", "createdAt", "updatedAt"], "relationships": ["driverId -> drivers.id", "vehicleId -> vehicles.id", "sourceFeedId -> import-sources.id"]},
        {"id": "route-activity-matches", "file": "operations/route-activity-matches.ndjson", "primaryKey": "id", "fields": ["id", "routeId", "telematicsActivityId", "driverId", "vehicleId", "matchMethod", "confidence", "allocatedDistanceKm", "allocatedDurationSeconds", "note", "createdAt", "updatedAt"], "relationships": ["routeId -> routes.id", "telematicsActivityId -> telematics-activities.id", "driverId -> drivers.id", "vehicleId -> vehicles.id"]}
      ]
    },
    {
      "id": "costs-quality",
      "label": {"cs": "Náklady a provozní výjimky", "en": "Costs and operational exceptions", "de": "Kosten und operative Ausnahmen", "hu": "Költségek és működési kivételek", "pl": "Koszty i wyjątki operacyjne", "it": "Costi ed eccezioni operative", "es": "Costes y excepciones operativas", "pt": "Custos e exceções operacionais"},
      "entities": [
        {"id": "costs", "file": "finance/costs.ndjson", "primaryKey": "id", "fields": ["id", "costId", "relatedEntityType", "relatedEntityId", "orderId", "shipmentId", "parcelId", "routeId", "carrierId", "depotId", "customerId", "costType", "amount", "currency", "costDate", "sourceFeedId", "sourceData", "createdAt", "updatedAt"], "relationships": ["orderId -> orders.id", "shipmentId -> shipments.id", "parcelId -> parcels.id", "routeId -> routes.id", "carrierId -> carriers.id", "depotId -> depots.id", "customerId -> customers.id", "sourceFeedId -> import-sources.id"]},
        {"id": "exceptions", "file": "quality/exceptions.ndjson", "primaryKey": "id", "fields": ["id", "entityType", "entityId", "orderId", "shipmentId", "parcelId", "routeId", "carrierId", "type", "severity", "status", "message", "detectedAt", "resolvedAt", "source", "details", "createdAt", "updatedAt"], "relationships": ["orderId -> orders.id", "shipmentId -> shipments.id", "parcelId -> parcels.id", "routeId -> routes.id", "carrierId -> carriers.id"]}
      ]
    },
    {
      "id": "extensions",
      "label": {"cs": "Vlastní pole a externí reference", "en": "Custom fields and external references", "de": "Benutzerdefinierte Felder und externe Referenzen", "hu": "Egyedi mezők és külső hivatkozások", "pl": "Pola niestandardowe i referencje zewnętrzne", "it": "Campi personalizzati e riferimenti esterni", "es": "Campos personalizados y referencias externas", "pt": "Campos personalizados e referências externas"},
      "entities": [
        {"id": "external-references", "file": "extensions/external-references.ndjson", "primaryKey": "id", "fields": ["id", "entityType", "entityId", "sourceFeedId", "sourceSystemName", "externalKey", "externalValue", "createdAt", "updatedAt"], "relationships": ["sourceFeedId -> import-sources.id", "entityId -> entity identified by entityType"]},
        {"id": "custom-field-definitions", "file": "extensions/custom-field-definitions.ndjson", "primaryKey": "id", "fields": ["id", "entityType", "key", "label", "description", "dataType", "visibleInReports", "searchable", "filterable", "createdAt", "updatedAt", "deletedAt"], "relationships": []},
        {"id": "custom-field-values", "file": "extensions/custom-field-values.ndjson", "primaryKey": "id", "fields": ["id", "definitionId", "entityType", "entityId", "value", "createdAt", "updatedAt"], "relationships": ["definitionId -> custom-field-definitions.id", "entityId -> entity identified by entityType"]}
      ]
    },
    {
      "id": "integrations",
      "label": {"cs": "Integrace, importy, mapování a matching", "en": "Integrations, imports, mapping and matching", "de": "Integrationen, Importe, Mapping und Matching", "hu": "Integrációk, importok, leképezés és párosítás", "pl": "Integracje, importy, mapowanie i dopasowanie", "it": "Integrazioni, import, mapping e matching", "es": "Integraciones, importaciones, mapeo y matching", "pt": "Integrações, importações, mapeamento e matching"},
      "entities": [
        {"id": "integrations", "file": "integrations/integrations.ndjson", "primaryKey": "id", "fields": ["id", "type", "name", "status", "billingStatus", "activeFrom", "activeTo", "portableConfiguration", "createdAt", "updatedAt"], "relationships": []},
        {"id": "import-sources", "file": "integrations/import-sources.ndjson", "primaryKey": "id", "fields": ["id", "integrationId", "name", "description", "connectorType", "status", "sourceLabel", "rawRetentionDays", "dependencyTimeoutHours", "allowedSenders", "expectedFrequency", "lastReceivedAt", "lastProcessedAt", "activeFrom", "activeTo", "createdAt", "updatedAt", "deletedAt"], "relationships": ["integrationId -> integrations.id"]},
        {"id": "import-file-rules", "file": "integrations/import-file-rules.ndjson", "primaryKey": "id", "fields": ["id", "importSourceId", "name", "filenamePattern", "fileType", "targetEntity", "mappingProfileId", "required", "enabled", "sortOrder", "createdAt", "updatedAt"], "relationships": ["importSourceId -> import-sources.id", "mappingProfileId -> mapping-profiles.id"]},
        {"id": "import-runs", "file": "integrations/import-runs.ndjson", "primaryKey": "id", "fields": ["id", "importSourceId", "triggerType", "status", "startedAt", "finishedAt", "recordsReceived", "recordsValid", "recordsWarning", "recordsFailed", "message", "createdAt", "updatedAt"], "relationships": ["importSourceId -> import-sources.id"]},
        {"id": "import-files", "file": "integrations/import-files.ndjson", "primaryKey": "id", "fields": ["id", "importRunId", "importSourceId", "fileRuleId", "originalFilename", "fileType", "contentType", "sizeBytes", "sha256", "status", "errorMessage", "rawExpiresAt", "rawDeletedAt", "createdAt", "updatedAt"], "relationships": ["importRunId -> import-runs.id", "importSourceId -> import-sources.id", "fileRuleId -> import-file-rules.id"]},
        {"id": "import-row-results", "file": "integrations/import-row-results.ndjson", "primaryKey": "id", "fields": ["id", "importFileId", "rowNumber", "status", "targetEntity", "targetEntityId", "sourceData", "mappedData", "errors", "dependencyWaitStartedAt", "rawExpiresAt", "rawDeletedAt", "createdAt"], "relationships": ["importFileId -> import-files.id", "targetEntityId -> entity identified by targetEntity"]},
        {"id": "mapping-profiles", "file": "integrations/mapping-profiles.ndjson", "primaryKey": "id", "fields": ["id", "importSourceId", "name", "targetEntity", "status", "version", "delimiter", "decimalSeparator", "dateFormat", "timezone", "identityTargetField", "identityRequired", "identityConfiguration", "dependencyConfiguration", "activatedAt", "createdAt", "updatedAt"], "relationships": ["importSourceId -> import-sources.id"]},
        {"id": "mapping-rules", "file": "integrations/mapping-rules.ndjson", "primaryKey": "id", "fields": ["id", "mappingProfileId", "sourceField", "targetType", "targetField", "customFieldDefinitionId", "externalKey", "transformType", "transformConfiguration", "required", "identity", "defaultValue", "visibleInReports", "sortOrder", "createdAt", "updatedAt"], "relationships": ["mappingProfileId -> mapping-profiles.id", "customFieldDefinitionId -> custom-field-definitions.id"]},
        {"id": "matching-rules", "file": "integrations/matching-rules.ndjson", "primaryKey": "id", "fields": ["id", "importSourceId", "name", "leftSource", "leftEntityType", "leftField", "rightSource", "rightEntityType", "rightField", "targetEntity", "matchType", "configuration", "priority", "confidenceThreshold", "enabled", "createdAt", "updatedAt"], "relationships": ["importSourceId -> import-sources.id"]}
      ]
    },
    {
      "id": "reports",
      "label": {"cs": "Reporty a historie exportů", "en": "Reports and export history", "de": "Berichte und Exporthistorie", "hu": "Jelentések és exportelőzmények", "pl": "Raporty i historia eksportów", "it": "Report e cronologia export", "es": "Informes e historial de exportaciones", "pt": "Relatórios e histórico de exportações"},
      "entities": [
        {"id": "report-definitions", "file": "reports/report-definitions.ndjson", "primaryKey": "id", "fields": ["id", "name", "module", "queryConfiguration", "columnsConfiguration", "filtersConfiguration", "createdByUserId", "createdAt", "updatedAt"], "relationships": ["createdByUserId -> users.id"]},
        {"id": "scheduled-reports", "file": "reports/scheduled-reports.ndjson", "primaryKey": "id", "fields": ["id", "reportDefinitionId", "frequency", "recipients", "format", "enabled", "lastSentAt", "createdAt", "updatedAt"], "relationships": ["reportDefinitionId -> report-definitions.id"]},
        {"id": "export-jobs", "file": "reports/export-jobs.ndjson", "primaryKey": "id", "fields": ["id", "reportDefinitionId", "exportType", "format", "status", "createdByUserId", "createdAt", "finishedAt"], "relationships": ["reportDefinitionId -> report-definitions.id", "createdByUserId -> users.id"]}
      ]
    },
    {
      "id": "billing",
      "label": {"cs": "Předplatné, využití, faktury a platby", "en": "Subscriptions, usage, invoices and payments", "de": "Abonnements, Nutzung, Rechnungen und Zahlungen", "hu": "Előfizetések, használat, számlák és fizetések", "pl": "Subskrypcje, użycie, faktury i płatności", "it": "Abbonamenti, utilizzo, fatture e pagamenti", "es": "Suscripciones, uso, facturas y pagos", "pt": "Subscrições, utilização, faturas e pagamentos"},
      "entities": [
        {"id": "billing-profile", "file": "billing/billing-profile.ndjson", "primaryKey": "tenantId", "fields": ["tenantId", "billingName", "companyId", "vatId", "billingEmail", "contactEmail", "contactPhone", "billingPhone", "billingAddress", "registrationCountryCode", "billingCountryCode", "customerType", "invoiceLanguage", "taxRegime", "paymentMode", "currency", "paymentTermsDays", "createdAt", "updatedAt"], "relationships": ["tenantId -> tenant.id"]},
        {"id": "payment-methods", "file": "billing/payment-methods.ndjson", "primaryKey": "id", "fields": ["id", "provider", "type", "cardBrand", "cardLast4", "cardExpiryMonth", "cardExpiryYear", "status", "default", "testMode", "removedAt", "createdAt", "updatedAt"], "relationships": []},
        {"id": "subscriptions", "file": "billing/subscriptions.ndjson", "primaryKey": "id", "fields": ["id", "productType", "productCode", "status", "quantity", "unitPrice", "currency", "activeFrom", "currentPeriodStart", "currentPeriodEnd", "cancelAtPeriodEnd", "cancelRequestedAt", "cancelledAt", "endedAt", "createdByUserId", "createdAt", "updatedAt"], "relationships": ["createdByUserId -> users.id"]},
        {"id": "subscription-events", "file": "billing/subscription-events.ndjson", "primaryKey": "id", "fields": ["id", "productType", "productCode", "action", "activeTo", "unitPrice", "currency", "prorated", "createdByUserId", "createdAt"], "relationships": ["createdByUserId -> users.id"]},
        {"id": "monthly-usage", "file": "billing/monthly-usage.ndjson", "primaryKey": "id", "fields": ["id", "periodStart", "periodEnd", "processedUnits", "orders", "shipments", "parcels", "createdAt", "updatedAt"], "relationships": []},
        {"id": "subscription-usage-segments", "file": "billing/subscription-usage-segments.ndjson", "primaryKey": "id", "fields": ["id", "subscriptionId", "periodStart", "periodEnd", "activeFrom", "activeTo", "billableDays", "periodDays", "monthlyUnitPrice", "accruedAmount", "currency", "status", "billingItemKey", "createdAt", "updatedAt"], "relationships": ["subscriptionId -> subscriptions.id"]},
        {"id": "invoices", "file": "billing/invoices.ndjson", "primaryKey": "id", "fields": ["id", "invoiceNumber", "externalInvoiceId", "invoiceType", "status", "subtotal", "tax", "total", "currency", "accountingCurrency", "exchangeRate", "issuedAt", "dueAt", "taxableSupplyAt", "servicePeriodStart", "servicePeriodEnd", "paidAt", "cancelledAt", "variableSymbol", "paymentReference", "invoiceLanguage", "taxRegime", "reverseCharge", "supplier", "customer", "vatValidationStatus", "taxLegalNoteCode", "taxReasonCode", "createdAt"], "relationships": []},
        {"id": "invoice-items", "file": "billing/invoice-items.ndjson", "primaryKey": "id", "fields": ["id", "invoiceId", "lineNumber", "productType", "productCode", "description", "servicePeriodStart", "servicePeriodEnd", "quantity", "unit", "unitPrice", "netAmount", "taxRate", "taxAmount", "grossAmount", "currency", "prorated", "subscriptionId", "subscriptionEventId", "metadata", "createdAt"], "relationships": ["invoiceId -> invoices.id", "subscriptionId -> subscriptions.id", "subscriptionEventId -> subscription-events.id"]},
        {"id": "payments", "file": "billing/payments.ndjson", "primaryKey": "id", "fields": ["id", "invoiceId", "provider", "providerPaymentId", "type", "status", "amount", "currency", "description", "testMode", "paidAt", "cancelledAt", "failedAt", "createdAt", "updatedAt"], "relationships": ["invoiceId -> invoices.id"]},
        {"id": "payment-refunds", "file": "billing/payment-refunds.ndjson", "primaryKey": "id", "fields": ["id", "paymentId", "invoiceId", "provider", "providerRefundId", "status", "amount", "currency", "reason", "requestedByUserId", "requestedAt", "processedAt", "createdAt", "updatedAt"], "relationships": ["paymentId -> payments.id", "invoiceId -> invoices.id", "requestedByUserId -> users.id"]}
      ]
    },
    {
      "id": "original-files",
      "label": {"cs": "Původní zákaznické soubory", "en": "Original customer files", "de": "Ursprüngliche Kundendateien", "hu": "Eredeti ügyfélfájlok", "pl": "Oryginalne pliki klienta", "it": "File originali del cliente", "es": "Archivos originales del cliente", "pt": "Ficheiros originais do cliente"},
      "entities": [
        {"id": "file-index", "file": "files/index.ndjson", "primaryKey": "id", "fields": ["id", "importFileId", "originalFilename", "packagePath", "mediaType", "sizeBytes", "sha256", "createdAt", "rawExpiresAt"], "relationships": ["importFileId -> import-files.id"]},
        {"id": "original-files", "file": "files/original/*", "primaryKey": "packagePath", "fields": ["binary content in the original retained format"], "relationships": ["packagePath -> file-index.packagePath"]}
      ]
    }
  ],
  "conditionalContent": [
    "Only data belonging to the verified tenant and available in enabled or historically used modules are included.",
    "Original files and raw source payloads are included only while retained and only where the customer is entitled to receive them.",
    "Personal data are included only within the requester's authority and applicable data-protection law.",
    "Empty datasets may be omitted; manifest.json lists every included and omitted dataset with a reason."
  ],
  "knownLimitations": [
    "Operations and capacities have no standalone dataset in version 1.1. Where held for the customer, they are exported through relevant entity attributes, sourceData or custom-field values for depots, routes, vehicles and related objects; manifest.json identifies their inclusion.",
    "A self-service or real-time export API is not part of version 1.1; the supported interface is a verified on-request bulk package.",
    "The register describes the portable contract and intentionally does not disclose the full production database schema, credentials, exact physical addresses, IP addresses or network topology."
  ],
  "portableDigitalAssets": [
    "custom field definitions and values",
    "portable integration settings excluding credentials and token-bearing endpoints",
    "import file rules, mapping profiles, mapping rules and matching rules",
    "report definitions, selected columns, filters and schedules",
    "original customer files still available under the applicable retention period"
  ],
  "alwaysExcluded": [
    "password hashes, setup and reset tokens, session identifiers and API token hashes",
    "connector tokens, token-bearing inbound addresses, credentials, secret references, private keys and provider recurring-payment references",
    "checkout URLs, raw payment-provider requests or responses and anti-fraud or reconciliation internals",
    "idempotency keys, internal outbox messages, scheduler tables, locks and infrastructure topology",
    "source code, algorithms, proprietary matching implementation and internal security logs",
    "data of other tenants and global platform administration data not specific to the exporting customer",
    "data already deleted under an applicable retention rule and data the provider is legally prohibited from disclosing"
  ],
  "manifestRequiredFields": [
    "specificationVersion", "createdAt", "tenantId", "tenantName", "requestedBy", "exportScope",
    "timeRange", "files", "omittedDatasets", "checksums", "recordCounts", "warnings"
  ]
}
