Compare commits
31 Commits
6bcb2fb406
..
v0.6.5
| Author | SHA1 | Date | |
|---|---|---|---|
| 9a39879804 | |||
| 11be424c38 | |||
| 1b9064a97c | |||
| 805f782c83 | |||
| 912206f52d | |||
| 825bd6f304 | |||
| 9ecad6aa79 | |||
| 68f1a2c091 | |||
| 59cd69ddaf | |||
| 7c23f9bdae | |||
| 6d53e35399 | |||
| 42eb68d431 | |||
| 0591d91f49 | |||
| befe6a753b | |||
| 4daa6deb26 | |||
| c07a6b450c | |||
| 6fdd72e28b | |||
| 6af33c591f | |||
| f850fd08ff | |||
| b063b201e3 | |||
| 60b624b009 | |||
| 71a234ca60 | |||
| 38abfb0edd | |||
| 05a037db70 | |||
| b9287f8260 | |||
| 50ac757067 | |||
| c6cd9d7c73 | |||
| 1b28752f4c | |||
| e0bdbee2ae | |||
| ff3bd5cea5 | |||
| 116d88d3d6 |
@@ -0,0 +1,55 @@
|
||||
name: Deploy
|
||||
on:
|
||||
push:
|
||||
tags: ["v[0-9]+.[0-9]+.[0-9]+"]
|
||||
jobs:
|
||||
deploy:
|
||||
name: Build and Deploy
|
||||
runs-on: windows-latest
|
||||
permissions:
|
||||
contents: write
|
||||
steps:
|
||||
- name: Set APP_VERSION variable from tag
|
||||
shell: powershell
|
||||
run: |
|
||||
$APP_VERSION = $env:GITHUB_REF -replace '^refs/tags/v', ''
|
||||
Add-Content -Path $env:GITHUB_ENV -Value "APP_VERSION=$APP_VERSION"
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Check version in project
|
||||
shell: powershell
|
||||
run: |
|
||||
Select-String Elwig/Elwig.csproj -Pattern "<Version>"
|
||||
$res = Select-String Elwig/Elwig.csproj -Pattern "<Version>${{ env.APP_VERSION }}</Version>"
|
||||
if ($res -eq $null) {
|
||||
exit 1
|
||||
}
|
||||
- name: Setup MSBuild
|
||||
uses: microsoft/setup-msbuild@v1.1
|
||||
- name: Setup NuGet
|
||||
uses: nuget/setup-nuget@v1
|
||||
- name: Restore NuGet packages
|
||||
shell: powershell
|
||||
run: $(& nuget restore Elwig.sln; $a=$lastexitcode) | findstr x*; exit $a
|
||||
- name: Build Setup
|
||||
shell: powershell
|
||||
run: $(& msbuild -verbosity:quiet Setup/Setup.wixproj -property:Configuration=Release -property:Platform=x64; $a=$lastexitcode) | findstr x*; exit $a
|
||||
- name: Rename artifact
|
||||
shell: powershell
|
||||
run: Move-Item Setup/bin/x64/Release/Elwig.exe Setup/bin/x64/Release/Elwig-${{ env.APP_VERSION }}.exe
|
||||
- name: Create release
|
||||
uses: akkuman/gitea-release-action@v1
|
||||
with:
|
||||
name: Elwig ${{ env.APP_VERSION }}
|
||||
files: |-
|
||||
Setup/bin/x64/Release/Elwig-${{ env.APP_VERSION }}.exe
|
||||
- name: Upload to website
|
||||
shell: powershell
|
||||
run: |
|
||||
$content = [System.IO.File]::ReadAllBytes("Setup/bin/x64/Release/Elwig-${{ env.APP_VERSION }}.exe")
|
||||
Invoke-WebRequest `
|
||||
-Uri "https://www.necronda.net/elwig/files/Elwig-${{ env.APP_VERSION }}.exe" `
|
||||
-Method PUT `
|
||||
-Body $content `
|
||||
-Headers @{ Authorization = "${{ secrets.API_AUTHORIZATION }}" } `
|
||||
-ContentType "application/octet-stream"
|
||||
@@ -0,0 +1,29 @@
|
||||
name: Test
|
||||
on:
|
||||
push:
|
||||
branches: ["**"]
|
||||
jobs:
|
||||
test:
|
||||
name: Run tests
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Setup MSBuild
|
||||
uses: microsoft/setup-msbuild@v1.1
|
||||
- name: Setup NuGet
|
||||
uses: nuget/setup-nuget@v1
|
||||
- name: Restore NuGet packages
|
||||
shell: powershell
|
||||
run: $(& nuget restore Elwig.sln; $a=$lastexitcode) | findstr x*; exit $a
|
||||
- name: Build Elwig
|
||||
shell: powershell
|
||||
run: $(& msbuild -verbosity:quiet Elwig/Elwig.csproj -property:Configuration=Debug; $a=$lastexitcode) | findstr x*; exit $a
|
||||
- name: Build Tests
|
||||
shell: powershell
|
||||
run: $(& dotnet build Tests; $a=$lastexitcode) | findstr x*; exit $a
|
||||
- name: Run Tests
|
||||
shell: powershell
|
||||
run: |
|
||||
$env:PATH += ";$(pwd)\Installer\Files"
|
||||
$(& dotnet test Tests; $a=$lastexitcode) | findstr x*; exit $a
|
||||
+3
-1
@@ -3,4 +3,6 @@ bin/
|
||||
*.user
|
||||
.vs
|
||||
.idea
|
||||
Tests/Resources/Create.sql
|
||||
Tests/Resources/Sql/Create.sql
|
||||
*.exe
|
||||
!WinziPrint.exe
|
||||
|
||||
+18
-19
@@ -53,7 +53,7 @@ namespace Elwig {
|
||||
public static string? BranchFaxNr { get; private set; }
|
||||
public static string? BranchMobileNr { get; private set; }
|
||||
public static IList<IScale> Scales { get; private set; }
|
||||
public static ClientParameters Client { get; private set; }
|
||||
public static ClientParameters Client { get; set; }
|
||||
|
||||
public static bool IsPrintingReady => Html.IsReady && Pdf.IsReady;
|
||||
public static Dispatcher MainDispatcher { get; private set; }
|
||||
@@ -141,26 +141,10 @@ namespace Elwig {
|
||||
MessageBox.Show("Invalid branch name in config!", "Invalid Branch Config", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
Shutdown();
|
||||
} else {
|
||||
var entry = branches[Config.Branch.ToLower()];
|
||||
ZwstId = entry.Item1;
|
||||
BranchName = entry.Item2;
|
||||
BranchPlz = entry.Item3;
|
||||
BranchLocation = entry.Item4?.Split(" im ")[0].Split(" an ")[0].Split(" bei ")[0]; // FIXME
|
||||
BranchAddress = entry.Item5;
|
||||
BranchPhoneNr = entry.Item6;
|
||||
BranchFaxNr = entry.Item7;
|
||||
BranchMobileNr = entry.Item8;
|
||||
SetBranch(branches[Config.Branch.ToLower()]);
|
||||
}
|
||||
} else if (branches.Count == 1) {
|
||||
var entry = branches.First().Value;
|
||||
ZwstId = entry.Item1;
|
||||
BranchName = entry.Item2;
|
||||
BranchPlz = entry.Item3;
|
||||
BranchLocation = entry.Item4?.Split(" im ")[0].Split(" an ")[0].Split(" bei ")[0]; // FIXME
|
||||
BranchAddress = entry.Item5;
|
||||
BranchPhoneNr = entry.Item6;
|
||||
BranchFaxNr = entry.Item7;
|
||||
BranchMobileNr = entry.Item8;
|
||||
SetBranch(branches.First().Value);
|
||||
} else {
|
||||
MessageBox.Show("Unable to determine local branch!", "Invalid Branch Config", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
Shutdown();
|
||||
@@ -169,6 +153,21 @@ namespace Elwig {
|
||||
base.OnStartup(evt);
|
||||
}
|
||||
|
||||
public static void SetBranch(Branch b) {
|
||||
SetBranch((b.ZwstId, b.Name, b.PostalDest?.AtPlz?.Plz, b.PostalDest?.AtPlz?.Ort.Name, b.Address, b.PhoneNr, b.FaxNr, b.MobileNr));
|
||||
}
|
||||
|
||||
private static void SetBranch((string, string, int?, string?, string?, string?, string?, string?) entry) {
|
||||
ZwstId = entry.Item1;
|
||||
BranchName = entry.Item2;
|
||||
BranchPlz = entry.Item3;
|
||||
BranchLocation = entry.Item4?.Split(" im ")[0].Split(" an ")[0].Split(" bei ")[0]; // FIXME
|
||||
BranchAddress = entry.Item5;
|
||||
BranchPhoneNr = entry.Item6;
|
||||
BranchFaxNr = entry.Item7;
|
||||
BranchMobileNr = entry.Item8;
|
||||
}
|
||||
|
||||
private void PrintingReadyChanged() {
|
||||
Dispatcher.BeginInvoke(OnPrintingReadyChanged, new EventArgs());
|
||||
}
|
||||
|
||||
@@ -20,7 +20,15 @@ namespace Elwig.Documents {
|
||||
public decimal MemberTotalUnderDelivery;
|
||||
public decimal MemberAutoBusinessShares;
|
||||
|
||||
public CreditNote(AppDbContext ctx, PaymentMember p, CreditNoteDeliveryData data, Dictionary<string, UnderDelivery>? underDeliveries = null) :
|
||||
public CreditNote(
|
||||
AppDbContext ctx,
|
||||
PaymentMember p,
|
||||
CreditNoteDeliveryData data,
|
||||
bool considerContractPenalties,
|
||||
bool considerTotalPenalty,
|
||||
bool considerAutoBusinessShares,
|
||||
Dictionary<string, UnderDelivery>? underDeliveries = null
|
||||
) :
|
||||
base($"{Name} {(p.Credit != null ? $"Nr. {p.Credit.Year}/{p.Credit.TgNr:000}" : p.Member.Name)} – {p.Variant.Name}", p.Member) {
|
||||
UseBillingAddress = true;
|
||||
ShowDateAndLocation = true;
|
||||
@@ -34,16 +42,6 @@ namespace Elwig.Documents {
|
||||
} else {
|
||||
MemberModifier = "Sonstige Zu-/Abschläge";
|
||||
}
|
||||
var total = data.Rows.SelectMany(r => r.Buckets).Sum(b => b.Value);
|
||||
var totalUnderDelivery = total - p.Member.BusinessShares * season.MinKgPerBusinessShare;
|
||||
MemberTotalUnderDelivery = totalUnderDelivery < 0 ? totalUnderDelivery * (season.PenaltyPerKg ?? 0) - (season.PenaltyAmount ?? 0) : 0;
|
||||
var fromDate = $"{season.Year}-06-01";
|
||||
var toDate = $"{season.Year + 1}-06-01";
|
||||
MemberAutoBusinessShares = ctx.MemberHistory
|
||||
.Where(h => h.MgNr == p.Member.MgNr && h.Type == "auto")
|
||||
.Where(h => h.DateString.CompareTo(fromDate) >= 0 && h.DateString.CompareTo(toDate) < 0)
|
||||
.Sum(h => h.BusinessShares) * (-season.BusinessShareValue ?? 0);
|
||||
if (total == 0) MemberTotalUnderDelivery -= (season.PenaltyNone ?? 0);
|
||||
Aside = Aside.Replace("</table>", "") +
|
||||
$"<thead><tr><th colspan='2'>Gutschrift</th></tr></thead><tbody>" +
|
||||
$"<tr><th>TG-Nr.</th><td>{(p.Credit != null ? $"{p.Credit.Year}/{p.Credit.TgNr:000}" : "-")}</td></tr>" +
|
||||
@@ -55,18 +53,35 @@ namespace Elwig.Documents {
|
||||
CurrencySymbol = season.Currency.Symbol ?? season.Currency.Code;
|
||||
Precision = season.Precision;
|
||||
|
||||
var varieties = ctx.WineVarieties.ToDictionary(v => v.SortId, v => v);
|
||||
var attributes = ctx.WineAttributes.ToDictionary(a => a.AttrId, a => a);
|
||||
var comTypes = ctx.AreaCommitmentTypes.ToDictionary(t => t.VtrgId, t => t);
|
||||
MemberUnderDeliveries = underDeliveries?
|
||||
.OrderBy(u => u.Key)
|
||||
.Select(u => (
|
||||
varieties[u.Key[..2]].Name + (u.Key.Length > 2 ? " " + attributes[u.Key[2..]].Name : ""),
|
||||
u.Value.Diff,
|
||||
u.Value.Diff * (comTypes[u.Key].PenaltyPerKg ?? 0)
|
||||
- (comTypes[u.Key].PenaltyAmount ?? 0)
|
||||
- ((u.Value.Weight == 0 ? comTypes[u.Key].PenaltyNone : null) ?? 0)))
|
||||
.Where(u => u.Item3 != 0)
|
||||
.ToList();
|
||||
if (considerTotalPenalty) {
|
||||
var total = data.Rows.SelectMany(r => r.Buckets).Sum(b => b.Value);
|
||||
var totalUnderDelivery = total - p.Member.BusinessShares * season.MinKgPerBusinessShare;
|
||||
MemberTotalUnderDelivery = totalUnderDelivery < 0 ? totalUnderDelivery * (season.PenaltyPerKg ?? 0) - (season.PenaltyAmount ?? 0) : 0;
|
||||
if (total == 0)
|
||||
MemberTotalUnderDelivery -= (season.PenaltyNone ?? 0);
|
||||
}
|
||||
if (considerAutoBusinessShares) {
|
||||
var fromDate = $"{season.Year}-01-01";
|
||||
var toDate = $"{season.Year}-12-31";
|
||||
MemberAutoBusinessShares = ctx.MemberHistory
|
||||
.Where(h => h.MgNr == p.Member.MgNr && h.Type == "auto")
|
||||
.Where(h => h.DateString.CompareTo(fromDate) >= 0 && h.DateString.CompareTo(toDate) <= 0)
|
||||
.Sum(h => h.BusinessShares) * (-season.BusinessShareValue ?? 0);
|
||||
}
|
||||
if (considerContractPenalties) {
|
||||
var varieties = ctx.WineVarieties.ToDictionary(v => v.SortId, v => v);
|
||||
var attributes = ctx.WineAttributes.ToDictionary(a => a.AttrId, a => a);
|
||||
var comTypes = ctx.AreaCommitmentTypes.ToDictionary(t => t.VtrgId, t => t);
|
||||
MemberUnderDeliveries = underDeliveries?
|
||||
.OrderBy(u => u.Key)
|
||||
.Select(u => (
|
||||
varieties[u.Key[..2]].Name + (u.Key.Length > 2 ? " " + attributes[u.Key[2..]].Name : ""),
|
||||
u.Value.Diff,
|
||||
u.Value.Diff * (comTypes[u.Key].PenaltyPerKg ?? 0)
|
||||
- (comTypes[u.Key].PenaltyAmount ?? 0)
|
||||
- ((u.Value.Weight == 0 ? comTypes[u.Key].PenaltyNone : null) ?? 0)))
|
||||
.Where(u => u.Item3 != 0)
|
||||
.ToList();
|
||||
}
|
||||
}
|
||||
}}
|
||||
|
||||
@@ -81,15 +81,20 @@
|
||||
</table>
|
||||
<div class="hint">
|
||||
Hinweis:<br/>
|
||||
Die Summe der Lieferungen und die Summe der anfallenden Pönalen werden mit
|
||||
@Model.Payment?.Variant.Season.Precision Nachkommastellen berechnent,
|
||||
erst das Ergebnis wird kaufmännisch auf 2 Nachkommastellen gerundet.
|
||||
Die Summe der Lieferungen und die Summe der anfal­lenden Pönalen werden mit
|
||||
@Model.Payment?.Variant.Season.Precision Nach­komma­stellen berechnent,
|
||||
erst das Ergebnis wird kauf­männisch auf 2 Nach­komma­stellen gerundet.
|
||||
</div>
|
||||
<table class="credit-sum">
|
||||
<colgroup>
|
||||
<col style="width: auto;"/>
|
||||
<col style="width: 5mm;"/>
|
||||
<col style="width: 30mm;"/>
|
||||
</colgroup>
|
||||
@{
|
||||
string FormatRow(string name, decimal? value, bool add = false, bool bold = false, bool subCat = false, bool noTopBorder = false) {
|
||||
return $"<tr class=\"{(!add && !noTopBorder ? "sum" : !add ? "large" : "")} {(bold ? "large bold" : "")}\">"
|
||||
+ $"<td class=\"{(subCat ? "small" : "")}\" style=\"overflow: visible;\">{name}:</td>"
|
||||
+ $"<td class=\"{(subCat ? "small" : "")}\">{name}:</td>"
|
||||
+ $"<td class=\"number {(subCat ? "small" : "large")}\">{(value < 0 ? "–" : (add ? "+" : ""))}</td>"
|
||||
+ $"<td class=\"number {(subCat ? "small" : "large")}\">"
|
||||
+ $"<span class=\"fleft\">{Model.CurrencySymbol}</span>{Math.Abs(value ?? 0):N2}</td>"
|
||||
@@ -148,8 +153,9 @@
|
||||
@if (Model.Credit == null) {
|
||||
@Raw(FormatRow("Auszahlungsbetrag", (Model.Payment?.Amount + penalty) ?? (sum + penalty), bold: true))
|
||||
} else {
|
||||
if (Model.Credit.Modifiers - penalty != 0) {
|
||||
@Raw(FormatRow("Weitere Abzüge", Model.Credit.Modifiers - penalty, add: true))
|
||||
var diff = Model.Credit.Modifiers - penalty;
|
||||
if (diff != 0) {
|
||||
@Raw(FormatRow(diff < 0 ? "Weitere Abzüge" : "Weitere Zuschläge", diff, add: true))
|
||||
}
|
||||
if (Model.Credit.PrevModifiers != null && Model.Credit.PrevModifiers != 0) {
|
||||
@Raw(FormatRow("Bereits berücksichtigte Abzüge", -Model.Credit.PrevModifiers, add: true))
|
||||
|
||||
@@ -24,8 +24,8 @@ table.credit tr.last td {
|
||||
}
|
||||
|
||||
table.credit-sum {
|
||||
width: 50%;
|
||||
margin-left: 50%;
|
||||
width: 60%;
|
||||
margin-left: 40%;
|
||||
}
|
||||
|
||||
table.credit-sum tr.sum,
|
||||
@@ -41,7 +41,7 @@ table.credit-sum td.sum {
|
||||
.hint {
|
||||
font-style: italic;
|
||||
font-size: 8pt;
|
||||
width: 74mm;
|
||||
width: 56mm;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
margin: 2mm 4mm;
|
||||
|
||||
@@ -15,7 +15,7 @@ namespace Elwig.Documents {
|
||||
// 3 - full
|
||||
public int DisplayStats = App.Client.ModeDeliveryNoteStats;
|
||||
|
||||
public DeliveryNote(Delivery d, AppDbContext ctx) : base($"Traubenübernahmeschein Nr. {d.LsNr}", d.Member) {
|
||||
public DeliveryNote(Delivery d, AppDbContext? ctx = null) : base($"Traubenübernahmeschein Nr. {d.LsNr}", d.Member) {
|
||||
UseBillingAddress = true;
|
||||
ShowDateAndLocation = true;
|
||||
Delivery = d;
|
||||
@@ -27,7 +27,7 @@ namespace Elwig.Documents {
|
||||
$"</tbody></table>";
|
||||
Text = App.Client.TextDeliveryNote;
|
||||
DocumentId = d.LsNr;
|
||||
MemberBuckets = ctx.GetMemberBuckets(d.Year, d.Member.MgNr).GetAwaiter().GetResult();
|
||||
MemberBuckets = ctx?.GetMemberBuckets(d.Year, d.Member.MgNr).GetAwaiter().GetResult() ?? [];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,8 +63,8 @@
|
||||
<td colspan="5">
|
||||
@if (Model.Member.BillingAddress != null) {
|
||||
@Model.Member.BillingAddress.PostalDest.AtPlz?.Plz
|
||||
@Model.Member.BillingAddress.PostalDest.AtPlz?.Dest
|
||||
@("(")@Model.Member.BillingAddress.PostalDest.AtPlz?.Ort.Name@(")")
|
||||
@(" ")@Model.Member.BillingAddress.PostalDest.AtPlz?.Dest
|
||||
@(" (")@Model.Member.BillingAddress.PostalDest.AtPlz?.Ort.Name@(")")
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@
|
||||
<UseWPF>true</UseWPF>
|
||||
<PreserveCompilationContext>true</PreserveCompilationContext>
|
||||
<ApplicationIcon>Resources\Images\Elwig.ico</ApplicationIcon>
|
||||
<Version>0.6.1</Version>
|
||||
<Version>0.6.5</Version>
|
||||
<SatelliteResourceLanguages>de-AT</SatelliteResourceLanguages>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
@@ -58,6 +58,7 @@ namespace Elwig.Helpers {
|
||||
public DbSet<OverUnderDeliveryRow> OverUnderDeliveryRows { get; private set; }
|
||||
public DbSet<AreaComUnderDeliveryRowSingle> AreaComUnderDeliveryRows { get; private set; }
|
||||
public DbSet<MemberDeliveryPerVariantRowSingle> MemberDeliveryPerVariantRows { get; private set; }
|
||||
public DbSet<CreditNoteDeliveryRowSingle> CreditNoteDeliveryRows { get; private set; }
|
||||
public DbSet<CreditNoteRowSingle> CreditNoteRows { get; private set; }
|
||||
|
||||
private readonly StreamWriter? LogFile = null;
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace Elwig.Helpers {
|
||||
public static class AppDbUpdater {
|
||||
|
||||
// Don't forget to update value in Tests/fetch-resources.bat!
|
||||
public static readonly int RequiredSchemaVersion = 13;
|
||||
public static readonly int RequiredSchemaVersion = 16;
|
||||
|
||||
private static int VersionOffset = 0;
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
using Elwig.Models.Entities;
|
||||
using Microsoft.Data.Sqlite;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -8,6 +10,7 @@ namespace Elwig.Helpers.Billing {
|
||||
|
||||
protected readonly int Year;
|
||||
protected readonly AppDbContext Context;
|
||||
protected readonly Season Season;
|
||||
protected readonly Dictionary<string, string> Attributes;
|
||||
protected readonly Dictionary<string, (decimal?, decimal?)> Modifiers;
|
||||
protected readonly Dictionary<string, (string, string?, string?, int?, decimal?)> AreaComTypes;
|
||||
@@ -15,6 +18,7 @@ namespace Elwig.Helpers.Billing {
|
||||
public Billing(int year) {
|
||||
Year = year;
|
||||
Context = new AppDbContext();
|
||||
Season = Context.Seasons.Find(Year)!;
|
||||
Attributes = Context.WineAttributes.ToDictionary(a => a.AttrId, a => a.Name);
|
||||
Modifiers = Context.Modifiers.Where(m => m.Year == Year).ToDictionary(m => m.ModId, m => (m.Abs, m.Rel));
|
||||
AreaComTypes = Context.AreaCommitmentTypes.ToDictionary(v => v.VtrgId, v => (v.SortId, v.AttrId, v.Discriminator, v.MinKgPerHa, v.PenaltyAmount));
|
||||
@@ -26,8 +30,6 @@ namespace Elwig.Helpers.Billing {
|
||||
UPDATE season
|
||||
SET (start_date, end_date) = (SELECT MIN(date), MAX(date) FROM delivery WHERE year = {Year})
|
||||
WHERE year = {Year};
|
||||
|
||||
DELETE FROM delivery_part_bucket WHERE year = {Year};
|
||||
""");
|
||||
}
|
||||
|
||||
@@ -43,10 +45,19 @@ namespace Elwig.Helpers.Billing {
|
||||
""");
|
||||
}
|
||||
|
||||
public async Task CalculateBuckets(bool allowAttrsIntoLower, bool avoidUnderDeliveries, bool honorGebunden) {
|
||||
public async Task CalculateBuckets(
|
||||
bool? honorGebundenField = null,
|
||||
bool? allowAttributesIntoLower = null,
|
||||
bool? avoidUnderDeliveries = null,
|
||||
SqliteConnection? cnx = null
|
||||
) {
|
||||
var honorGebunden = honorGebundenField ?? Season.Billing_HonorGebunden;
|
||||
var allowAttrsIntoLower = allowAttributesIntoLower ?? Season.Billing_AllowAttrsIntoLower;
|
||||
var avoidUnderDlvrs = avoidUnderDeliveries ?? Season.Billing_AvoidUnderDeliveries;
|
||||
var attrVals = Context.WineAttributes.ToDictionary(a => a.AttrId, a => (a.IsStrict, a.FillLower));
|
||||
var attrForced = attrVals.Where(a => a.Value.IsStrict && a.Value.FillLower == 0).Select(a => a.Key).ToArray();
|
||||
using var cnx = await AppDbContext.ConnectAsync();
|
||||
var ownCnx = cnx == null;
|
||||
cnx ??= await AppDbContext.ConnectAsync();
|
||||
await Context.GetMemberAreaCommitmentBuckets(Year, 0, cnx);
|
||||
var inserts = new List<(int, int, int, string, int)>();
|
||||
|
||||
@@ -65,7 +76,7 @@ namespace Elwig.Helpers.Billing {
|
||||
reader.GetInt32(0), reader.GetInt32(1), reader.GetInt32(2), reader.GetString(3), reader.GetInt32(4),
|
||||
reader.GetDouble(5), reader.GetString(6),
|
||||
reader.IsDBNull(7) ? null : reader.GetString(7),
|
||||
reader.IsDBNull(8) ? Array.Empty<string>() : reader.GetString(8).Split(",").Order().ToArray(),
|
||||
reader.IsDBNull(8) ? [] : reader.GetString(8).Split(",").Order().ToArray(),
|
||||
reader.IsDBNull(9) ? null : reader.GetBoolean(9)
|
||||
));
|
||||
}
|
||||
@@ -73,11 +84,11 @@ namespace Elwig.Helpers.Billing {
|
||||
|
||||
int lastMgNr = 0;
|
||||
Dictionary<string, AreaComBucket>? rightsAndObligations = null;
|
||||
Dictionary<string, int> used = new();
|
||||
Dictionary<string, int> used = [];
|
||||
foreach (var (mgnr, did, dpnr, sortid, weight, kmw, qualid, attrid, modifiers, gebunden) in deliveries) {
|
||||
if (lastMgNr != mgnr) {
|
||||
rightsAndObligations = await Context.GetMemberAreaCommitmentBuckets(Year, mgnr);
|
||||
used = new();
|
||||
used = [];
|
||||
}
|
||||
if ((honorGebunden && gebunden == false) ||
|
||||
rightsAndObligations == null || rightsAndObligations.Count == 0 ||
|
||||
@@ -92,16 +103,16 @@ namespace Elwig.Helpers.Billing {
|
||||
}
|
||||
|
||||
int w = weight;
|
||||
var attributes = attrid == null ? Array.Empty<string>() : new string[] { attrid };
|
||||
var attributes = attrid == null ? [] : new string[] { attrid };
|
||||
var isStrict = attrid != null && attrVals[attrid].IsStrict;
|
||||
foreach (var p in Utils.Permutate(attributes, attributes.Intersect(attrForced))) {
|
||||
var c = p.Count();
|
||||
var key = sortid + string.Join("", p);
|
||||
if (rightsAndObligations.ContainsKey(key)) {
|
||||
if (rightsAndObligations.TryGetValue(key, out AreaComBucket value)) {
|
||||
int i = (c == 0) ? 1 : 2;
|
||||
var u = used.GetValueOrDefault(key, 0);
|
||||
var vr = Math.Max(0, Math.Min(rightsAndObligations[key].Right - u, w));
|
||||
var vo = Math.Max(0, Math.Min(rightsAndObligations[key].Obligation - u, w));
|
||||
var vr = Math.Max(0, Math.Min(value.Right - u, w));
|
||||
var vo = Math.Max(0, Math.Min(value.Obligation - u, w));
|
||||
var v = (attributes.Length == c || attributes.Select(a => !attrVals[a].IsStrict ? 2 : attrVals[a].FillLower).Min() == 2) ? vr : vo;
|
||||
used[key] = u + v;
|
||||
if (key.Length > 2 && !isStrict) used[key[..2]] = used.GetValueOrDefault(key[..2], 0) + v;
|
||||
@@ -115,14 +126,17 @@ namespace Elwig.Helpers.Billing {
|
||||
}
|
||||
|
||||
await AppDbContext.ExecuteBatch(cnx, $"""
|
||||
UPDATE delivery_part_bucket SET value = 0 WHERE year = {Year};
|
||||
INSERT INTO delivery_part_bucket (year, did, dpnr, bktnr, discr, value)
|
||||
VALUES {string.Join(",\n ", inserts.Select(i => $"({Year}, {i.Item1}, {i.Item2}, {i.Item3}, '{i.Item4}', {i.Item5})"))}
|
||||
ON CONFLICT DO UPDATE
|
||||
SET discr = excluded.discr, value = value + excluded.value;
|
||||
""");
|
||||
|
||||
if (!avoidUnderDeliveries)
|
||||
if (!avoidUnderDlvrs) {
|
||||
if (ownCnx) await cnx.DisposeAsync();
|
||||
return;
|
||||
}
|
||||
|
||||
// FIXME avoidUnderDelivery-calculations not always right!
|
||||
|
||||
@@ -200,6 +214,8 @@ namespace Elwig.Helpers.Billing {
|
||||
ON CONFLICT DO UPDATE
|
||||
SET value = excluded.value;
|
||||
""");
|
||||
|
||||
if (ownCnx) await cnx.DisposeAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,9 +18,10 @@ namespace Elwig.Helpers.Billing {
|
||||
Data = PaymentBillingData.FromJson(PaymentVariant.Data, Utils.GetVaributes(Context, Year, onlyDelivered: false));
|
||||
}
|
||||
|
||||
public async Task Calculate() {
|
||||
public async Task Calculate(bool? honorGebunden = null, bool ? allowAttrsIntoLower = null, bool? avoidUnderDeliveries = null) {
|
||||
using var cnx = await AppDbContext.ConnectAsync();
|
||||
using var tx = await cnx.BeginTransactionAsync();
|
||||
await CalculateBuckets(honorGebunden, allowAttrsIntoLower, avoidUnderDeliveries, cnx);
|
||||
await DeleteInDb(cnx);
|
||||
await SetCalcTime(cnx);
|
||||
await CalculatePrices(cnx);
|
||||
@@ -43,11 +44,10 @@ namespace Elwig.Helpers.Billing {
|
||||
ROUND(p.amount / POW(10, s.precision - 2)) AS net_amount,
|
||||
ROUND(lp.amount / POW(10, s.precision - 2)) AS prev_amount,
|
||||
IIF(m.buchführend, s.vat_normal, s.vat_flatrate) AS vat,
|
||||
ROUND(
|
||||
IIF({Data.ConsiderContractPenalties}, COALESCE(u.total_penalty, 0) / POW(10, 4 - 2), 0) +
|
||||
IIF({Data.ConsiderTotalPenalty}, COALESCE(b.total_penalty, 0), 0) +
|
||||
IIF({Data.ConsiderAutoBusinessShares}, -COALESCE(a.business_shares * s.bs_value, 0), 0) / POW(10, s.precision - 2)
|
||||
) AS modifiers,
|
||||
ROUND(IIF({Data.ConsiderContractPenalties}, COALESCE(u.total_penalty, 0), 0) / POW(10, 4 - 2)) +
|
||||
ROUND(IIF({Data.ConsiderTotalPenalty}, COALESCE(b.total_penalty, 0), 0) / POW(10, s.precision - 2)) +
|
||||
ROUND(IIF({Data.ConsiderAutoBusinessShares}, -COALESCE(a.total_amount, 0), 0) / POW(10, s.precision - 2))
|
||||
AS modifiers,
|
||||
lc.modifiers AS prev_modifiers
|
||||
FROM season s
|
||||
JOIN payment_variant v ON v.year = s.year
|
||||
@@ -63,26 +63,9 @@ namespace Elwig.Helpers.Billing {
|
||||
LEFT JOIN payment_member lp ON (lp.year, lp.avnr, lp.mgnr) = (l.year, l.avnr, m.mgnr)
|
||||
LEFT JOIN payment_member p ON (p.year, p.avnr, p.mgnr) = (v.year, v.avnr, m.mgnr)
|
||||
LEFT JOIN credit lc ON (lc.year, lc.avnr, lc.mgnr) = (l.year, l.avnr, m.mgnr)
|
||||
LEFT JOIN (SELECT year, mgnr,
|
||||
SUM(COALESCE(IIF(u.weight = 0, -t.penalty_none, 0), 0) +
|
||||
COALESCE(IIF(u.diff < 0, -t.penalty_amount, 0), 0) +
|
||||
COALESCE(u.diff * t.penalty_per_kg, 0)) AS total_penalty
|
||||
FROM v_under_delivery u
|
||||
JOIN area_commitment_type t ON t.vtrgid = u.bucket
|
||||
GROUP BY year, mgnr) u ON (u.year, u.mgnr) = (s.year, m.mgnr)
|
||||
LEFT JOIN (SELECT s.year, u.mgnr,
|
||||
(COALESCE(IIF(u.weight = 0, -s.penalty_none, 0), 0) +
|
||||
COALESCE(IIF(u.diff < 0, -s.penalty_amount, 0), 0) +
|
||||
COALESCE(u.diff * s.penalty_per_kg, 0)
|
||||
) / POW(10, s.precision - 2) AS total_penalty
|
||||
FROM v_total_under_delivery u
|
||||
JOIN season s ON s.year = u.year
|
||||
WHERE u.diff < 0) b ON (b.year, b.mgnr) = (s.year, m.mgnr)
|
||||
LEFT JOIN (SELECT h.mgnr, h.business_shares
|
||||
FROM member_history h
|
||||
WHERE type = 'auto' AND
|
||||
date >= '{Year}-06-01' AND
|
||||
date < '{Year + 1}-06-01') a ON a.mgnr = m.mgnr
|
||||
LEFT JOIN v_penalty_area_commitments u ON (u.year, u.mgnr) = (s.year, m.mgnr)
|
||||
LEFT JOIN v_penalty_business_shares b ON (b.year, b.mgnr) = (s.year, m.mgnr)
|
||||
LEFT JOIN v_auto_business_shares a ON (a.year, a.mgnr) = (s.year, m.mgnr)
|
||||
WHERE s.year = {Year} AND v.avnr = {AvNr};
|
||||
|
||||
UPDATE payment_variant SET test_variant = FALSE WHERE (year, avnr) = ({Year}, {AvNr});
|
||||
@@ -162,8 +145,9 @@ namespace Elwig.Helpers.Billing {
|
||||
foreach (var part in parts) {
|
||||
var ungeb = part.Discr == "_";
|
||||
var payAttrId = (part.Discr is "" or "_") ? null : part.Discr;
|
||||
var geb = !ungeb && payAttrId == part.AttrId;
|
||||
var price = Data.CalculatePrice(part.SortId, part.AttrId, part.QualId, geb, part.Oe, part.Kmw);
|
||||
var attrId = part.AttrId == "B" ? "B" : payAttrId; // FIXME
|
||||
var geb = !ungeb; // FIXME && payAttrId == part.AttrId;
|
||||
var price = Data.CalculatePrice(part.SortId, attrId, part.QualId, geb, part.Oe, part.Kmw);
|
||||
var priceL = PaymentVariant.Season.DecToDb(price);
|
||||
inserts.Add((part.Year, part.DId, part.DPNr, part.BktNr, priceL, priceL * part.Value));
|
||||
}
|
||||
|
||||
@@ -2,12 +2,14 @@ using Elwig.Models.Dtos;
|
||||
using Elwig.Models.Entities;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Security;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Elwig.Helpers.Export {
|
||||
public class Ebics(PaymentVar variant, string filename) : IBankingExporter {
|
||||
public class Ebics(PaymentVar variant, string filename, int version) : IBankingExporter {
|
||||
|
||||
public static string FileExtension => "xml";
|
||||
|
||||
@@ -16,6 +18,7 @@ namespace Elwig.Helpers.Export {
|
||||
private readonly int Year = variant.Year;
|
||||
private readonly string Name = variant.Name;
|
||||
private readonly int AvNr = variant.AvNr;
|
||||
private readonly int Version = version;
|
||||
|
||||
public void Dispose() {
|
||||
GC.SuppressFinalize(this);
|
||||
@@ -32,6 +35,8 @@ namespace Elwig.Helpers.Export {
|
||||
}
|
||||
|
||||
public async Task ExportAsync(IEnumerable<Transaction> transactions, IProgress<double>? progress = null) {
|
||||
if (transactions.Any(tx => tx.Amount < 0))
|
||||
throw new ArgumentException("Tranaction amount may not be negative");
|
||||
progress?.Report(0.0);
|
||||
var nbOfTxs = transactions.Count();
|
||||
int count = nbOfTxs + 2, i = 0;
|
||||
@@ -41,26 +46,24 @@ namespace Elwig.Helpers.Export {
|
||||
|
||||
await Writer.WriteLineAsync($"""
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.09"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="urn:iso:std:iso:20022:tech:xsd:pain.001.001.09 pain.001.001.09.xsd">
|
||||
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.{Version:00}">
|
||||
<CstmrCdtTrfInitn>
|
||||
<GrpHdr>
|
||||
<MsgId>{msgId}</MsgId>
|
||||
<CreDtTm>{DateTime.UtcNow:o}</CreDtTm>
|
||||
<NbOfTxs>{nbOfTxs}</NbOfTxs>
|
||||
<CtrlSum>{Transaction.FormatAmount(ctrlSum)}</CtrlSum>
|
||||
<InitgPty><Nm>{App.Client.NameFull}</Nm></InitgPty>
|
||||
<InitgPty><Nm>{SecurityElement.Escape(App.Client.NameFull)}</Nm></InitgPty>
|
||||
</GrpHdr>
|
||||
<PmtInf>
|
||||
<PmtInfId>{pmtInfId}</PmtInfId>
|
||||
<PmtMtd>TRF</PmtMtd>
|
||||
<NbOfTxs>{nbOfTxs}</NbOfTxs>
|
||||
<CtrlSum>{Transaction.FormatAmount(ctrlSum)}</CtrlSum>
|
||||
<ReqdExctnDt><Dt>{Date:yyyy-MM-dd}</Dt></ReqdExctnDt>
|
||||
<Dbtr><Nm>{App.Client.NameFull}</Nm></Dbtr>
|
||||
<DbtrAcct><Id><IBAN>{App.Client.Iban?.Replace(" ", "")}</IBAN></Id></DbtrAcct>
|
||||
<DbtrAgt><FinInstnId><BICFI>{App.Client.Bic ?? "NOTPROVIDED"}</BICFI></FinInstnId></DbtrAgt>
|
||||
<ReqdExctnDt>{(Version >= 8 ? "<Dt>" : "")}{Date:yyyy-MM-dd}{(Version >= 8 ? "</Dt>" : "")}</ReqdExctnDt>
|
||||
<Dbtr><Nm>{SecurityElement.Escape(App.Client.NameFull)}</Nm></Dbtr>
|
||||
<DbtrAcct><Id><IBAN>{App.Client.Iban!.Replace(" ", "")}</IBAN></Id></DbtrAcct>
|
||||
<DbtrAgt><FinInstnId>{(Version >= 4 ? "<BICFI>" : "<BIC>")}{App.Client.Bic ?? "NOTPROVIDED"}{(Version >= 4 ? "</BICFI>" : "</BIC>")}</FinInstnId></DbtrAgt>
|
||||
""");
|
||||
progress?.Report(100.0 * ++i / count);
|
||||
|
||||
@@ -74,16 +77,15 @@ namespace Elwig.Helpers.Export {
|
||||
<PmtId><EndToEndId>{id}</EndToEndId></PmtId>
|
||||
<Amt><InstdAmt Ccy="{tx.Currency}">{Transaction.FormatAmount(tx.Amount)}</InstdAmt></Amt>
|
||||
<Cdtr>
|
||||
<Nm>{a.Name}</Nm>
|
||||
<Nm>{SecurityElement.Escape(a.Name[..Math.Min(140, a.Name.Length)])}</Nm>
|
||||
<PstlAdr>
|
||||
<StrtNm>{a1}</StrtNm><BldgNb>{a2}</BldgNb>
|
||||
<PstCd>{a.PostalDest.AtPlz?.Plz}</PstCd><TwnNm>{a.PostalDest.AtPlz?.Ort.Name}</TwnNm>
|
||||
<StrtNm>{a1?[..Math.Min(70, a1.Length)]}</StrtNm><BldgNb>{SecurityElement.Escape(a2?[..Math.Min(16, a2.Length)])}</BldgNb>
|
||||
<PstCd>{a.PostalDest.AtPlz?.Plz}</PstCd><TwnNm>{SecurityElement.Escape(a.PostalDest.AtPlz?.Ort.Name)}</TwnNm>
|
||||
<Ctry>{a.PostalDest.Country.Alpha2}</Ctry>
|
||||
</PstlAdr>
|
||||
</Cdtr>
|
||||
<CdtrAcct><Id><IBAN>{tx.Member.Iban}</IBAN></Id></CdtrAcct>
|
||||
<CdtrAgt><FinInstnId><BICFI>{tx.Member.Bic ?? "NOTPROVIDED"}</BICFI></FinInstnId></CdtrAgt>
|
||||
<RmtInf><Ustrd>{info}</Ustrd></RmtInf>
|
||||
<CdtrAcct><Id><IBAN>{tx.Member.Iban!}</IBAN></Id></CdtrAcct>
|
||||
<RmtInf><Ustrd>{SecurityElement.Escape(info)}</Ustrd></RmtInf>
|
||||
</CdtTrfTxInf>
|
||||
""");
|
||||
progress?.Report(100.0 * ++i / count);
|
||||
|
||||
@@ -108,19 +108,19 @@ namespace Elwig.Helpers.Export {
|
||||
<style:paragraph-properties fo:text-align="center"/>
|
||||
<style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<number:number-style style:name="NN0"><number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1"/></number:number-style>
|
||||
<number:number-style style:name="NN0"><number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/></number:number-style>
|
||||
<style:style style:name="N0" style:family="table-cell" style:parent-style-name="default" style:data-style-name="NN0"/>
|
||||
<number:number-style style:name="NN1"><number:number number:decimal-places="1" number:min-decimal-places="1" number:min-integer-digits="1"/></number:number-style>
|
||||
<number:number-style style:name="NN1"><number:number number:decimal-places="1" number:min-decimal-places="1" number:min-integer-digits="1" number:grouping="true"/></number:number-style>
|
||||
<style:style style:name="N1" style:family="table-cell" style:parent-style-name="default" style:data-style-name="NN1"/>
|
||||
<number:number-style style:name="NN2"><number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1"/></number:number-style>
|
||||
<number:number-style style:name="NN2"><number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/></number:number-style>
|
||||
<style:style style:name="N2" style:family="table-cell" style:parent-style-name="default" style:data-style-name="NN2"/>
|
||||
<number:number-style style:name="NN3"><number:number number:decimal-places="3" number:min-decimal-places="3" number:min-integer-digits="1"/></number:number-style>
|
||||
<number:number-style style:name="NN3"><number:number number:decimal-places="3" number:min-decimal-places="3" number:min-integer-digits="1" number:grouping="true"/></number:number-style>
|
||||
<style:style style:name="N3" style:family="table-cell" style:parent-style-name="default" style:data-style-name="NN3"/>
|
||||
<number:number-style style:name="NN4"><number:number number:decimal-places="4" number:min-decimal-places="4" number:min-integer-digits="1"/></number:number-style>
|
||||
<number:number-style style:name="NN4"><number:number number:decimal-places="4" number:min-decimal-places="4" number:min-integer-digits="1" number:grouping="true"/></number:number-style>
|
||||
<style:style style:name="N4" style:family="table-cell" style:parent-style-name="default" style:data-style-name="NN4"/>
|
||||
<number:number-style style:name="NN5"><number:number number:decimal-places="5" number:min-decimal-places="5" number:min-integer-digits="1"/></number:number-style>
|
||||
<number:number-style style:name="NN5"><number:number number:decimal-places="5" number:min-decimal-places="5" number:min-integer-digits="1" number:grouping="true"/></number:number-style>
|
||||
<style:style style:name="N5" style:family="table-cell" style:parent-style-name="default" style:data-style-name="NN5"/>
|
||||
<number:number-style style:name="NN6"><number:number number:decimal-places="6" number:min-decimal-places="6" number:min-integer-digits="1"/></number:number-style>
|
||||
<number:number-style style:name="NN6"><number:number number:decimal-places="6" number:min-decimal-places="6" number:min-integer-digits="1" number:grouping="true"/></number:number-style>
|
||||
<style:style style:name="N6" style:family="table-cell" style:parent-style-name="default" style:data-style-name="NN6"/>
|
||||
</office:automatic-styles>
|
||||
<office:body>
|
||||
@@ -262,13 +262,14 @@ namespace Elwig.Helpers.Export {
|
||||
string c;
|
||||
if (data == null) {
|
||||
c = $"<{ct}{add}/>";
|
||||
} else if (data is float || data is double || data is byte || data is char ||
|
||||
} else if (data is decimal || data is float || data is double || data is byte || data is char ||
|
||||
data is short || data is ushort || data is int || data is uint || data is long || data is ulong) {
|
||||
double v = double.Parse(data?.ToString() ?? "0"); // use default culture for ToString and Parse()!
|
||||
if (units != null && units.Length > 0) {
|
||||
int n = -1;
|
||||
switch (units[0]) {
|
||||
case "%": n = 1; data = $"{v:N1}"; break;
|
||||
case "€": n = 2; data = $"{v:N2}"; break;
|
||||
case "°KMW": n = 1; data = $"{v:N1}"; break;
|
||||
case "°Oe": n = 0; data = $"{v:N0}"; break;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ namespace Elwig.Helpers.Printing {
|
||||
private static RazorLightEngine? Engine = null;
|
||||
public static bool IsReady => Engine != null;
|
||||
|
||||
public static async Task Init(Action evtHandler) {
|
||||
public static async Task Init(Action? evtHandler = null) {
|
||||
var e = new RazorLightEngineBuilder()
|
||||
.UseFileSystemProject(App.DataPath + "resources")
|
||||
.UseMemoryCachingProvider()
|
||||
@@ -24,7 +24,7 @@ namespace Elwig.Helpers.Printing {
|
||||
await e.CompileTemplateAsync("DeliveryConfirmation");
|
||||
|
||||
Engine = e;
|
||||
evtHandler();
|
||||
evtHandler?.Invoke();
|
||||
}
|
||||
|
||||
public static async Task<string> CompileRenderAsync(string key, object model) {
|
||||
|
||||
@@ -11,13 +11,20 @@ using System.Linq;
|
||||
namespace Elwig.Helpers.Printing {
|
||||
public static class Pdf {
|
||||
|
||||
private static readonly string PdfToPrinter = App.ExePath + "PDFtoPrinter.exe";
|
||||
private static readonly string WinziPrint = App.ExePath + "WinziPrint.exe";
|
||||
private static readonly string PdfToPrinter = new string[] { App.ExePath }
|
||||
.Union(Environment.GetEnvironmentVariable("PATH")?.Split(';') ?? [])
|
||||
.Select(x => Path.Combine(x, "PDFtoPrinter.exe"))
|
||||
.Where(x => File.Exists(x))
|
||||
.FirstOrDefault() ?? throw new FileNotFoundException("PDFtoPrinter executable not found");
|
||||
private static readonly string WinziPrint = new string[] { App.ExePath }
|
||||
.Union(Environment.GetEnvironmentVariable("PATH")?.Split(';') ?? [])
|
||||
.Select(x => Path.Combine(x, "WinziPrint.exe"))
|
||||
.Where(x => File.Exists(x))
|
||||
.FirstOrDefault() ?? throw new FileNotFoundException("WiniPrint executable not found");
|
||||
private static Process? WinziPrintProc;
|
||||
public static bool IsReady => WinziPrintProc != null;
|
||||
|
||||
|
||||
public static async Task Init(Action evtHandler) {
|
||||
public static async Task Init(Action? evtHandler = null) {
|
||||
var p = new Process() { StartInfo = new() {
|
||||
FileName = WinziPrint,
|
||||
CreateNoWindow = true,
|
||||
@@ -33,7 +40,7 @@ namespace Elwig.Helpers.Printing {
|
||||
p.StartInfo.ArgumentList.Add("-");
|
||||
p.Start();
|
||||
WinziPrintProc = p;
|
||||
evtHandler();
|
||||
evtHandler?.Invoke();
|
||||
}
|
||||
|
||||
public static async Task<IEnumerable<int>> Convert(string htmlPath, string pdfPath, bool doubleSided = false, IProgress<double>? progress = null) {
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Elwig.Helpers.Weighing {
|
||||
/// <summary>
|
||||
/// Interface for controlling a a scale which responds to commands sent to it
|
||||
/// </summary>
|
||||
public interface ICommandScale : IScale {
|
||||
/// <summary>
|
||||
/// Get the current weight on the scale without performing a weighing process
|
||||
/// </summary>
|
||||
/// <returns>Result of the weighing process (probably without a weighing id)</returns>
|
||||
Task<WeighingResult> GetCurrentWeight();
|
||||
|
||||
/// <summary>
|
||||
/// Perform a weighing process
|
||||
/// </summary>
|
||||
/// <returns>Result of the weighing process (including a weighing id)</returns>
|
||||
Task<WeighingResult> Weigh();
|
||||
|
||||
/// <summary>
|
||||
/// Empty the scale container or grant clearance to do so
|
||||
/// </summary>
|
||||
Task Empty();
|
||||
|
||||
/// <summary>
|
||||
/// Grant clearance to fill the scale container
|
||||
/// </summary>
|
||||
Task GrantFillingClearance();
|
||||
|
||||
/// <summary>
|
||||
/// Revoke clearance to fill the scale container
|
||||
/// </summary>
|
||||
Task RevokeFillingClearance();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
namespace Elwig.Helpers.Weighing {
|
||||
/// <summary>
|
||||
/// Interface for controlling a a scale which automatically sends weighing updates
|
||||
/// </summary>
|
||||
public interface IEventScale : IScale {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,8 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Elwig.Helpers.Weighing {
|
||||
/// <summary>
|
||||
/// Interface for controlling a industrial scale
|
||||
/// Interface for controlling a industrial scale (industrial terminal, "IT")
|
||||
/// </summary>
|
||||
public interface IScale : IDisposable {
|
||||
/// <summary>
|
||||
@@ -45,32 +44,5 @@ namespace Elwig.Helpers.Weighing {
|
||||
/// Where to log the requests and responses from the scale to
|
||||
/// </summary>
|
||||
string? LogPath { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Get the current weight on the scale without performing a weighing process
|
||||
/// </summary>
|
||||
/// <returns>Result of the weighing process (probably without a weighing id)</returns>
|
||||
Task<WeighingResult> GetCurrentWeight();
|
||||
|
||||
/// <summary>
|
||||
/// Perform a weighing process
|
||||
/// </summary>
|
||||
/// <returns>Result of the weighing process (including a weighing id)</returns>
|
||||
Task<WeighingResult> Weigh();
|
||||
|
||||
/// <summary>
|
||||
/// Empty the scale container or grant clearance to do so
|
||||
/// </summary>
|
||||
Task Empty();
|
||||
|
||||
/// <summary>
|
||||
/// Grant clearance to fill the scale container
|
||||
/// </summary>
|
||||
Task GrantFillingClearance();
|
||||
|
||||
/// <summary>
|
||||
/// Revoke clearance to fill the scale container
|
||||
/// </summary>
|
||||
Task RevokeFillingClearance();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,44 +1,19 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Elwig.Helpers.Weighing {
|
||||
public class InvalidScale : IScale {
|
||||
public class InvalidScale(string id) : IScale {
|
||||
|
||||
public string Manufacturer => "NONE";
|
||||
public string Model => "NONE";
|
||||
public string ScaleId { get; private set; }
|
||||
public string ScaleId => id;
|
||||
public int InternalScaleNr => 0;
|
||||
public bool IsReady => false;
|
||||
public bool HasFillingClearance => false;
|
||||
public int? WeightLimit => null;
|
||||
public string? LogPath => null;
|
||||
|
||||
public InvalidScale(string id) {
|
||||
ScaleId = id;
|
||||
}
|
||||
|
||||
public void Dispose() {
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
public Task<WeighingResult> Weigh() {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public Task<WeighingResult> GetCurrentWeight() {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public Task Empty() {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public Task GrantFillingClearance() {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public Task RevokeFillingClearance() {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Elwig.Helpers.Weighing {
|
||||
// TODO implement SchemberScale
|
||||
public class SchemberScale : IScale {
|
||||
public class SchemberScale : IEventScale {
|
||||
|
||||
public string Manufacturer => "Schember";
|
||||
public string Model => throw new NotImplementedException();
|
||||
@@ -18,24 +16,7 @@ namespace Elwig.Helpers.Weighing {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public Task Empty() {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public Task<WeighingResult> GetCurrentWeight() {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public Task GrantFillingClearance() {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public Task RevokeFillingClearance() {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public Task<WeighingResult> Weigh() {
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Elwig.Helpers.Weighing {
|
||||
public class SystecScale : IScale {
|
||||
public class SystecScale : ICommandScale {
|
||||
|
||||
protected enum Output { RTS, DTR, OUT1, OUT2 };
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Linq;
|
||||
@@ -8,7 +7,7 @@ using System.Threading.Tasks;
|
||||
namespace Elwig.Models.Dtos {
|
||||
public class AreaComUnderDeliveryData : DataTable<AreaComUnderDeliveryRow> {
|
||||
|
||||
private static readonly (string, string, string?, int)[] FieldNames = new[] {
|
||||
private static readonly (string, string, string?, int)[] FieldNames = [
|
||||
("MgNr", "MgNr.", null, 12),
|
||||
("Name", "Name", null, 40),
|
||||
("GivenName", "Vorname", null, 40),
|
||||
@@ -20,7 +19,7 @@ namespace Elwig.Models.Dtos {
|
||||
("DeliveryObligations", "Lieferpflicht", "kg", 22),
|
||||
("Weights", "Geliefert", "kg", 22),
|
||||
("UnderDeliveries", "Unterliefert", "kg|%", 34),
|
||||
};
|
||||
];
|
||||
|
||||
public AreaComUnderDeliveryData(IEnumerable<AreaComUnderDeliveryRow> rows, int year) :
|
||||
base($"Unterlieferungen FB", $"Unterlieferungen laut Flächenbindungen {year}", rows, FieldNames) {
|
||||
|
||||
@@ -0,0 +1,180 @@
|
||||
using Elwig.Helpers;
|
||||
using Elwig.Helpers.Billing;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Elwig.Models.Dtos {
|
||||
public class CreditNoteData : DataTable<CreditNoteRow> {
|
||||
|
||||
private static readonly (string, string, string?, int)[] FieldNames = [
|
||||
("MgNr", "MgNr.", null, 12),
|
||||
("Name", "Name", null, 40),
|
||||
("GivenName", "Vorname", null, 40),
|
||||
("Address", "Adresse", null, 60),
|
||||
("Plz", "PLZ", null, 10),
|
||||
("Locality", "Ort", null, 60),
|
||||
("Iban", "IBAN", null, 45),
|
||||
("TgNr", "TG-Nr.", null, 20),
|
||||
("Sum", "Zwischens.", "€", 20),
|
||||
("Surcharge", "Zuschlag", "€", 20),
|
||||
("Total", "Gesamt", "€", 20),
|
||||
("ConsideredSum", "Berückstgt.", "€", 20),
|
||||
("Net", "Netto", "€", 20),
|
||||
("Vat1", "10% MwSt.", "€", 20),
|
||||
("Vat2", "13% MwSt.", "€", 20),
|
||||
("Gross", "Brutto", "€", 20),
|
||||
("Penalties", "Pönalen FB", "€", 20),
|
||||
("Penalty", "Unterl. GA", "€", 20),
|
||||
("AutoBs", "GA Nachz.", "€", 20),
|
||||
("Others", "Sonstige", "€", 20),
|
||||
("Considered", "Berückstgt.", "€", 20),
|
||||
("Amount", "Betrag", "€", 20),
|
||||
];
|
||||
|
||||
public CreditNoteData(IEnumerable<CreditNoteRow> rows, int year, string name) :
|
||||
base($"Buchungsliste", $"Buchungsliste {name} {year}", rows, FieldNames) {
|
||||
}
|
||||
|
||||
public static async Task<CreditNoteData> ForPaymentVariant(AppDbContext ctx, int year, int avnr) {
|
||||
var variant = await ctx.PaymentVariants.FindAsync(year, avnr);
|
||||
var name = variant!.Name;
|
||||
var data = BillingData.FromJson(variant!.Data);
|
||||
var rows = (await FromDbSet(ctx.CreditNoteRows, year, avnr)).Select(r => new CreditNoteRow(r, data)).ToList();
|
||||
return new CreditNoteData(rows, year, name);
|
||||
}
|
||||
|
||||
private static async Task<IEnumerable<CreditNoteRowSingle>> FromDbSet(DbSet<CreditNoteRowSingle> table, int year, int avnr) {
|
||||
return await table.FromSql($"""
|
||||
SELECT m.mgnr, m.family_name, m.given_name, p.plz, o.name AS ort, m.address, m.iban, c.tgnr, s.year, s.precision,
|
||||
p.amount - p.net_amount AS surcharge,
|
||||
c.net_amount, c.prev_net_amount, c.vat, c.vat_amount, c.gross_amount, c.modifiers, c.prev_modifiers, c.amount,
|
||||
ROUND(COALESCE(u.total_penalty, 0) / POW(10, 4 - 2)) AS fb_penalty,
|
||||
ROUND(COALESCE(b.total_penalty, 0) / POW(10, s.precision - 2)) AS bs_penalty,
|
||||
ROUND(COALESCE(a.total_amount, 0) / POW(10, s.precision - 2)) AS auto_bs
|
||||
FROM credit c
|
||||
LEFT JOIN member m ON m.mgnr = c.mgnr
|
||||
LEFT JOIN payment_member p ON (p.year, p.avnr, p.mgnr) = (c.year, c.avnr, c.mgnr)
|
||||
LEFT JOIN AT_plz_dest p ON p.id = m.postal_dest
|
||||
LEFT JOIN AT_ort o ON o.okz = p.okz
|
||||
LEFT JOIN season s ON s.year = c.year
|
||||
LEFT JOIN v_penalty_area_commitments u ON (u.year, u.mgnr) = (s.year, m.mgnr)
|
||||
LEFT JOIN v_penalty_business_shares b ON (b.year, b.mgnr) = (s.year, m.mgnr)
|
||||
LEFT JOIN v_auto_business_shares a ON (a.year, a.mgnr) = (s.year, m.mgnr)
|
||||
WHERE c.year = {year} AND c.avnr = {avnr}
|
||||
ORDER BY m.mgnr
|
||||
""").ToListAsync();
|
||||
}
|
||||
}
|
||||
|
||||
public class CreditNoteRow {
|
||||
public int MgNr;
|
||||
public string Name;
|
||||
public string GivenName;
|
||||
public string Address;
|
||||
public int Plz;
|
||||
public string Locality;
|
||||
public string Iban;
|
||||
public string TgNr;
|
||||
public decimal Sum;
|
||||
public decimal? Surcharge;
|
||||
public decimal Total;
|
||||
public decimal? ConsideredSum;
|
||||
public decimal Net;
|
||||
public decimal? Vat1, Vat2;
|
||||
public decimal Gross;
|
||||
public decimal? Penalties;
|
||||
public decimal? Penalty;
|
||||
public decimal? AutoBs;
|
||||
public decimal? Others;
|
||||
public decimal? Considered;
|
||||
public decimal Amount;
|
||||
|
||||
public CreditNoteRow(CreditNoteRowSingle row, BillingData data) {
|
||||
byte prec1 = 2, prec2 = row.Precision;
|
||||
MgNr = row.MgNr;
|
||||
Name = row.Name;
|
||||
GivenName = row.GivenName;
|
||||
Address = row.Address;
|
||||
Plz = row.Plz;
|
||||
Locality = row.Locality;
|
||||
Iban = Utils.FormatIban(row.Iban);
|
||||
TgNr = $"{row.Year}/{row.TgNr}";
|
||||
Total = Utils.DecFromDb(row.NetAmount, prec1);
|
||||
Surcharge = (row.Surcharge == null || row.Surcharge == 0) ? null : Utils.DecFromDb((long)row.Surcharge, prec2);
|
||||
Sum = Total - (Surcharge ?? 0);
|
||||
ConsideredSum = (row.PrevNetAmount == null ||row.PrevNetAmount == 0) ? null : -Utils.DecFromDb((long)row.PrevNetAmount, prec1);
|
||||
Net = Total + (ConsideredSum ?? 0);
|
||||
if (row.Vat == 0.10) {
|
||||
Vat1 = Utils.DecFromDb(row.VatAmount, prec1);
|
||||
} else if (row.Vat == 0.13) {
|
||||
Vat2 = Utils.DecFromDb(row.VatAmount, prec1);
|
||||
}
|
||||
decimal mod = (row.Modifiers == null) ? 0 : Utils.DecFromDb((long)row.Modifiers, prec1);
|
||||
if (data.ConsiderContractPenalties)
|
||||
Penalties = (row.FbPenalty == null || row.FbPenalty == 0) ? null : Utils.DecFromDb((long)row.FbPenalty, prec1);
|
||||
if (data.ConsiderTotalPenalty)
|
||||
Penalty = (row.BsPealty == null || row.BsPealty == 0) ? null : Utils.DecFromDb((long)row.BsPealty, prec1);
|
||||
if (data.ConsiderAutoBusinessShares)
|
||||
AutoBs = (row.AutoBs == null || row.AutoBs == 0) ? null : -Utils.DecFromDb((long)row.AutoBs, prec1);
|
||||
mod -= (Penalties ?? 0) + (Penalty ?? 0) + (AutoBs ?? 0);
|
||||
Others = (mod == 0) ? null : mod;
|
||||
Gross = Utils.DecFromDb(row.GrossAmount, prec1);
|
||||
Considered = (row.PrevModifiers == null || row.PrevModifiers == 0) ? null : -Utils.DecFromDb((long)row.PrevModifiers, prec1);
|
||||
Amount = Utils.DecFromDb(row.Amount, prec1);
|
||||
}
|
||||
}
|
||||
|
||||
[Keyless]
|
||||
public class CreditNoteRowSingle {
|
||||
[Column("mgnr")]
|
||||
public int MgNr { get; set; }
|
||||
[Column("family_name")]
|
||||
public string Name { get; set; }
|
||||
[Column("given_name")]
|
||||
public string GivenName { get; set; }
|
||||
[Column("address")]
|
||||
public string Address { get; set; }
|
||||
[Column("plz")]
|
||||
public int Plz { get; set; }
|
||||
[Column("ort")]
|
||||
public string LocalityFull { get; set; }
|
||||
[NotMapped]
|
||||
public string Locality => LocalityFull.Split(",")[0];
|
||||
[Column("iban")]
|
||||
public string Iban { get; set; }
|
||||
[Column("year")]
|
||||
public int Year { get; set; }
|
||||
[Column("precision")]
|
||||
public byte Precision { get; set; }
|
||||
[Column("tgnr")]
|
||||
public string TgNr { get; set; }
|
||||
[Column("surcharge")]
|
||||
public long? Surcharge { get; set; }
|
||||
[Column("net_amount")]
|
||||
public long NetAmount { get; set; }
|
||||
[Column("prev_net_amount")]
|
||||
public long? PrevNetAmount { get; set; }
|
||||
[Column("vat")]
|
||||
public double Vat { get; set; }
|
||||
[Column("vat_amount")]
|
||||
public long VatAmount { get; set; }
|
||||
[Column("gross_amount")]
|
||||
public long GrossAmount { get; set; }
|
||||
[Column("modifiers")]
|
||||
public long? Modifiers { get; set; }
|
||||
[Column("prev_modifiers")]
|
||||
public long? PrevModifiers { get; set; }
|
||||
[Column("amount")]
|
||||
public long Amount { get; set; }
|
||||
[Column("fb_penalty")]
|
||||
public long? FbPenalty { get; set; }
|
||||
[Column("bs_penalty")]
|
||||
public long? BsPealty { get; set; }
|
||||
[Column("auto_bs")]
|
||||
public long? AutoBs { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -8,9 +8,9 @@ using System.Threading.Tasks;
|
||||
namespace Elwig.Models.Dtos {
|
||||
public class CreditNoteDeliveryData : DataTable<CreditNoteDeliveryRow> {
|
||||
|
||||
private static readonly (string, string, string?)[] FieldNames = new[] {
|
||||
("", "", (string?)null), // TODO
|
||||
};
|
||||
private static readonly (string, string, string?)[] FieldNames = [
|
||||
("", "", null), // TODO
|
||||
];
|
||||
|
||||
private readonly int Year;
|
||||
private readonly int? TgNr;
|
||||
@@ -25,7 +25,7 @@ namespace Elwig.Models.Dtos {
|
||||
MgNr = mgnr;
|
||||
}
|
||||
|
||||
public static async Task<IDictionary<int, CreditNoteDeliveryData>> ForPaymentVariant(DbSet<CreditNoteRowSingle> table, DbSet<Season> seasons, int year, int avnr) {
|
||||
public static async Task<IDictionary<int, CreditNoteDeliveryData>> ForPaymentVariant(DbSet<CreditNoteDeliveryRowSingle> table, DbSet<Season> seasons, int year, int avnr) {
|
||||
return (await FromDbSet(table, year, avnr))
|
||||
.GroupBy(
|
||||
r => new { r.Year, r.AvNr, r.MgNr, r.TgNr, r.DId, r.DPNr },
|
||||
@@ -36,7 +36,7 @@ namespace Elwig.Models.Dtos {
|
||||
.ToDictionary(d => d.MgNr ?? 0);
|
||||
}
|
||||
|
||||
private static async Task<IEnumerable<CreditNoteRowSingle>> FromDbSet(DbSet<CreditNoteRowSingle> table, int? year = null, int? avnr = null, int? mgnr = null) {
|
||||
private static async Task<IEnumerable<CreditNoteDeliveryRowSingle>> FromDbSet(DbSet<CreditNoteDeliveryRowSingle> table, int? year = null, int? avnr = null, int? mgnr = null) {
|
||||
var y = year?.ToString() ?? "NULL";
|
||||
var v = avnr?.ToString() ?? "NULL";
|
||||
var m = mgnr?.ToString() ?? "NULL";
|
||||
@@ -77,7 +77,7 @@ namespace Elwig.Models.Dtos {
|
||||
public decimal? TotalModifiers;
|
||||
public decimal? Amount;
|
||||
|
||||
public CreditNoteDeliveryRow(IEnumerable<CreditNoteRowSingle> rows, DbSet<Season> seasons) {
|
||||
public CreditNoteDeliveryRow(IEnumerable<CreditNoteDeliveryRowSingle> rows, DbSet<Season> seasons) {
|
||||
var f = rows.First();
|
||||
Year = f.Year;
|
||||
TgNr = f.TgNr;
|
||||
@@ -110,7 +110,7 @@ namespace Elwig.Models.Dtos {
|
||||
}
|
||||
|
||||
[Keyless]
|
||||
public class CreditNoteRowSingle {
|
||||
public class CreditNoteDeliveryRowSingle {
|
||||
[Column("year")]
|
||||
public int Year { get; set; }
|
||||
[Column("tgnr")]
|
||||
|
||||
@@ -7,7 +7,7 @@ using System.Threading.Tasks;
|
||||
namespace Elwig.Models.Dtos {
|
||||
public class DeliveryConfirmationDeliveryData : DataTable<DeliveryConfirmationDeliveryRow> {
|
||||
|
||||
private static readonly (string, string, string?, int)[] FieldNames = new[] {
|
||||
private static readonly (string, string, string?, int)[] FieldNames = [
|
||||
("LsNr", "LsNr.", null, 26),
|
||||
("DPNr", "Pos.", null, 8),
|
||||
("Variety", "Sorte", null, 40),
|
||||
@@ -17,7 +17,7 @@ namespace Elwig.Models.Dtos {
|
||||
("Gradation", "Gradation", "°Oe|°KMW", 32),
|
||||
("Buckets", "Flächenbindung", "|kg", 36),
|
||||
("Weight", "Gewicht", "kg", 16),
|
||||
};
|
||||
];
|
||||
|
||||
private readonly int MgNr;
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ using System.Threading.Tasks;
|
||||
namespace Elwig.Models.Dtos {
|
||||
public class MemberDeliveryPerVariantData : DataTable<MemberDeliveryPerVariantRow> {
|
||||
|
||||
private static readonly (string, string, string?, int)[] FieldNames = new[] {
|
||||
private static readonly (string, string, string?, int)[] FieldNames = [
|
||||
("MgNr", "MgNr.", null, 12),
|
||||
("Name", "Name", null, 40),
|
||||
("GivenName", "Vorname", null, 40),
|
||||
@@ -20,7 +20,7 @@ namespace Elwig.Models.Dtos {
|
||||
("Weights", "Geliefert", "kg", 22),
|
||||
("Areas", "Fläche", "m²", 22),
|
||||
("Yields", "Ertrag", "kg/ha", 22),
|
||||
};
|
||||
];
|
||||
|
||||
|
||||
public MemberDeliveryPerVariantData(IEnumerable<MemberDeliveryPerVariantRow> rows, int year) :
|
||||
|
||||
@@ -7,7 +7,7 @@ using System.Threading.Tasks;
|
||||
namespace Elwig.Models.Dtos {
|
||||
public class OverUnderDeliveryData : DataTable<OverUnderDeliveryRow> {
|
||||
|
||||
private static readonly (string, string, string?, int)[] FieldNames = new[] {
|
||||
private static readonly (string, string, string?, int)[] FieldNames = [
|
||||
("MgNr", "MgNr.", null, 12),
|
||||
("Name", "Name", null, 40),
|
||||
("GivenName", "Vorname", null, 40),
|
||||
@@ -19,7 +19,7 @@ namespace Elwig.Models.Dtos {
|
||||
("DeliveryRight", "Lieferrecht", "kg", 22),
|
||||
("Weight", "Geliefert", "kg", 22),
|
||||
("OverUnderDelivery", "Über-/Unterliefert", "kg|%", 34),
|
||||
};
|
||||
];
|
||||
|
||||
public OverUnderDeliveryData(IEnumerable<OverUnderDeliveryRow> rows, int year) :
|
||||
base($"Über-Unterlieferungen", $"Über- und Unterlieferungen laut gezeichneten Geschäftsanteilen {year}", rows, FieldNames) {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Elwig.Models.Entities;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
@@ -19,7 +20,7 @@ namespace Elwig.Models.Dtos {
|
||||
.ToList();
|
||||
}
|
||||
|
||||
public static string FormatAmountCent(long cents) => $"{cents / 100}.{cents % 100:00}";
|
||||
public static string FormatAmountCent(long cents) => $"{cents / 100}.{Math.Abs(cents % 100):00}";
|
||||
|
||||
public static string FormatAmount(decimal amount) => FormatAmountCent((int)(amount * 100));
|
||||
}
|
||||
|
||||
@@ -65,7 +65,6 @@ namespace Elwig.Models.Entities {
|
||||
|
||||
[Column("start_date")]
|
||||
public string? StartDateString { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public DateOnly? StartDate {
|
||||
get => StartDateString != null ? DateOnly.ParseExact(StartDateString, "yyyy-MM-dd") : null;
|
||||
@@ -74,13 +73,30 @@ namespace Elwig.Models.Entities {
|
||||
|
||||
[Column("end_date")]
|
||||
public string? EndDateString { get; set; }
|
||||
|
||||
[NotMapped]
|
||||
public DateOnly? EndDate {
|
||||
get => EndDateString != null ? DateOnly.ParseExact(EndDateString, "yyyy-MM-dd") : null;
|
||||
set => EndDateString = value?.ToString("yyyy-MM-dd");
|
||||
}
|
||||
|
||||
[Column("calc_mode")]
|
||||
public int CalcMode { get; set; }
|
||||
[NotMapped]
|
||||
public bool Billing_HonorGebunden {
|
||||
get => (CalcMode & 0x1) != 0;
|
||||
set => CalcMode = value ? CalcMode | 0x1 : CalcMode & ~0x1;
|
||||
}
|
||||
[NotMapped]
|
||||
public bool Billing_AllowAttrsIntoLower {
|
||||
get => (CalcMode & 0x4) != 0;
|
||||
set => CalcMode = value ? CalcMode | 0x4 : CalcMode & ~0x4;
|
||||
}
|
||||
[NotMapped]
|
||||
public bool Billing_AvoidUnderDeliveries {
|
||||
get => (CalcMode & 0x2) != 0;
|
||||
set => CalcMode = value ? CalcMode | 0x2 : CalcMode & ~0x2;
|
||||
}
|
||||
|
||||
[ForeignKey("CurrencyCode")]
|
||||
public virtual Currency Currency { get; private set; }
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
-- schema version 11 to 12
|
||||
-- schema version 12 to 13
|
||||
|
||||
ALTER TABLE season ADD COLUMN bs_value INTEGER;
|
||||
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
-- schema version 13 to 14
|
||||
|
||||
CREATE VIEW v_penalty_area_commitments AS
|
||||
SELECT year, mgnr,
|
||||
SUM(COALESCE(IIF(u.weight = 0, -t.penalty_none, 0), 0) +
|
||||
COALESCE(IIF(u.diff < 0, -t.penalty_amount, 0), 0) +
|
||||
COALESCE(u.diff * t.penalty_per_kg, 0)
|
||||
) AS total_penalty
|
||||
FROM v_under_delivery u
|
||||
JOIN area_commitment_type t ON t.vtrgid = u.bucket
|
||||
GROUP BY year, mgnr
|
||||
HAVING total_penalty < 0
|
||||
ORDER BY year, mgnr;
|
||||
|
||||
CREATE VIEW v_penalty_business_shares AS
|
||||
SELECT s.year, u.mgnr,
|
||||
(COALESCE(IIF(u.weight = 0, -s.penalty_none, 0), 0) +
|
||||
COALESCE(IIF(u.diff < 0, -s.penalty_amount, 0), 0) +
|
||||
COALESCE(u.diff * s.penalty_per_kg, 0)
|
||||
) AS total_penalty
|
||||
FROM v_total_under_delivery u
|
||||
JOIN season s ON s.year = u.year
|
||||
WHERE u.diff < 0 AND total_penalty < 0
|
||||
ORDER BY s.year, u.mgnr;
|
||||
|
||||
CREATE VIEW v_auto_business_shares AS
|
||||
SELECT s.year, h.mgnr,
|
||||
SUM(h.business_shares) AS business_shares,
|
||||
SUM(h.business_shares) * s.bs_value AS total_amount
|
||||
FROM member_history h, season s
|
||||
WHERE h.type = 'auto' AND h.date >= s.year || '-01-01' AND h.date <= s.year || '-12-31'
|
||||
GROUP BY s.year, h.mgnr
|
||||
ORDER BY s.year, h.mgnr;
|
||||
@@ -0,0 +1,18 @@
|
||||
-- schema version 14 to 15
|
||||
|
||||
ALTER TABLE season ADD COLUMN calc_mode INTEGER NOT NULL DEFAULT 0;
|
||||
|
||||
DROP TRIGGER t_payment_delivery_part_u;
|
||||
|
||||
CREATE TRIGGER t_payment_delivery_part_u
|
||||
AFTER UPDATE ON payment_delivery_part FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE payment_member
|
||||
SET net_amount = net_amount - OLD.amount
|
||||
WHERE (year, avnr, mgnr) IN (SELECT year, OLD.avnr, mgnr FROM delivery WHERE (year, did) = (OLD.year, OLD.did));
|
||||
INSERT INTO payment_member (year, avnr, mgnr, net_amount)
|
||||
SELECT d.year, v.avnr, d.mgnr, NEW.amount
|
||||
FROM delivery d, payment_variant v
|
||||
WHERE (d.year, d.did) = (NEW.year, NEW.did) AND (v.year, v.avnr) = (NEW.year, NEW.avnr)
|
||||
ON CONFLICT DO UPDATE SET net_amount = net_amount + excluded.net_amount;
|
||||
END;
|
||||
@@ -0,0 +1,9 @@
|
||||
-- schema version 15 to 16
|
||||
|
||||
INSERT INTO AT_plz_dest (plz, okz, dest)
|
||||
VALUES (2560, 3388, 'Grillenberg');
|
||||
|
||||
DELETE FROM AT_plz_dest WHERE (plz, okz) = (2561, 3388);
|
||||
|
||||
UPDATE AT_ort SET kgnr = 23351 WHERE okz = 5280;
|
||||
UPDATE AT_ort SET kgnr = 4311 WHERE okz = 3388;
|
||||
@@ -1,6 +1,7 @@
|
||||
using Elwig.Documents;
|
||||
using Elwig.Helpers;
|
||||
using Elwig.Helpers.Export;
|
||||
using Elwig.Helpers.Weighing;
|
||||
using Elwig.Models.Entities;
|
||||
using LinqKit;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
@@ -968,7 +969,8 @@ namespace Elwig.Windows {
|
||||
CancelCreatingButton.IsEnabled = false;
|
||||
try {
|
||||
var s = App.Scales[index];
|
||||
var res = await s.Weigh();
|
||||
if (s is not ICommandScale cs) return;
|
||||
var res = await cs.Weigh();
|
||||
if ((res.Weight ?? 0) > 0 && res.FullWeighingId != null) {
|
||||
WeightInput.Text = $"{res.Weight:N0}";
|
||||
ScaleId = s.ScaleId;
|
||||
@@ -1080,8 +1082,8 @@ namespace Elwig.Windows {
|
||||
|
||||
private void EmptyScale() {
|
||||
var scale = App.Scales.Where(s => s.ScaleId == ScaleId).FirstOrDefault();
|
||||
if (scale == null) return;
|
||||
scale.Empty();
|
||||
if (scale is not ICommandScale cs) return;
|
||||
cs.Empty();
|
||||
}
|
||||
|
||||
private async void NewDeliveryPartButton_Click(object sender, RoutedEventArgs evt) {
|
||||
|
||||
@@ -160,7 +160,7 @@ namespace Elwig.Windows {
|
||||
filter.RemoveAt(i--);
|
||||
} else if (e.Length > 2 && e.StartsWith('"') && e.EndsWith('"')) {
|
||||
filter[i] = e[1..^1];
|
||||
} else if (e.Length <= 2) {
|
||||
} else if (e.Length < 2) {
|
||||
filter.RemoveAt(i--);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:Elwig.Windows"
|
||||
mc:Ignorable="d"
|
||||
Title="Auszahlungsvarianten - Elwig" Height="500" Width="820" MinHeight="500" MinWidth="820">
|
||||
Title="Auszahlungsvarianten - Elwig" Height="510" Width="820" MinHeight="500" MinWidth="820">
|
||||
<Window.Resources>
|
||||
<Style TargetType="Label">
|
||||
<Setter Property="HorizontalAlignment" Value="Left"/>
|
||||
@@ -42,7 +42,7 @@
|
||||
</Grid.ColumnDefinitions>
|
||||
<Grid.RowDefinitions>
|
||||
<RowDefinition Height="*"/>
|
||||
<RowDefinition Height="200"/>
|
||||
<RowDefinition Height="220"/>
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<ListBox x:Name="PaymentVariantList" Margin="10,10,35,10" Grid.RowSpan="2" SelectionChanged="PaymentVariantList_SelectionChanged">
|
||||
@@ -163,6 +163,9 @@
|
||||
<Button x:Name="ExportButton" Content="Exportieren" FontSize="14" Width="180" Margin="10,10,10,10" Height="27" IsEnabled="False"
|
||||
Click="ExportButton_Click"
|
||||
VerticalAlignment="Top" HorizontalAlignment="Left"/>
|
||||
<Button x:Name="TransactionButton" Content="Buchungsliste" FontSize="14" Width="180" Margin="10,42,10,10" Height="27" IsEnabled="False"
|
||||
Click="TransactionButton_Click"
|
||||
VerticalAlignment="Top" HorizontalAlignment="Left"/>
|
||||
|
||||
<ProgressBar x:Name="ProgressBar" Margin="10,10,10,74" Height="27" Width="180"
|
||||
VerticalAlignment="Bottom" HorizontalAlignment="Left"/>
|
||||
|
||||
@@ -57,6 +57,7 @@ namespace Elwig.Windows {
|
||||
ShowButton.IsEnabled = true;
|
||||
PrintButton.IsEnabled = true;
|
||||
ExportButton.IsEnabled = locked;
|
||||
TransactionButton.IsEnabled = locked;
|
||||
|
||||
NameInput.Text = v.Name;
|
||||
NameInput.IsReadOnly = false;
|
||||
@@ -101,6 +102,7 @@ namespace Elwig.Windows {
|
||||
ShowButton.IsEnabled = false;
|
||||
PrintButton.IsEnabled = false;
|
||||
ExportButton.IsEnabled = false;
|
||||
TransactionButton.IsEnabled = false;
|
||||
|
||||
BillingData = null;
|
||||
NameInput.Text = "";
|
||||
@@ -135,6 +137,7 @@ namespace Elwig.Windows {
|
||||
(ConsiderPenaltyInput.IsChecked != BillingData?.ConsiderTotalPenalty) ||
|
||||
(ConsiderAutoInput.IsChecked != BillingData?.ConsiderAutoBusinessShares));
|
||||
CalculateButton.IsEnabled = !SaveButton.IsEnabled && PaymentVariantList.SelectedItem is PaymentVar { TestVariant: true };
|
||||
CommitButton.IsEnabled = CalculateButton.IsEnabled;
|
||||
}
|
||||
|
||||
private void UpdateSums() {
|
||||
@@ -283,9 +286,9 @@ namespace Elwig.Windows {
|
||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
||||
var b = new BillingVariant(v.Year, v.AvNr);
|
||||
await b.Revert();
|
||||
await App.HintContextChange();
|
||||
Mouse.OverrideCursor = null;
|
||||
CommitButton.IsEnabled = true;
|
||||
await App.HintContextChange();
|
||||
}
|
||||
|
||||
private async void ExportButton_Click(object sender, RoutedEventArgs evt) {
|
||||
@@ -304,13 +307,42 @@ namespace Elwig.Windows {
|
||||
if (d.ShowDialog() == true) {
|
||||
ExportButton.IsEnabled = false;
|
||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
||||
using var e = new Ebics(v, d.FileName);
|
||||
await e.ExportAsync(Transaction.FromPaymentVariant(v));
|
||||
try {
|
||||
using var e = new Ebics(v, d.FileName, 9);
|
||||
await e.ExportAsync(Transaction.FromPaymentVariant(v));
|
||||
} catch (Exception exc) {
|
||||
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
Mouse.OverrideCursor = null;
|
||||
ExportButton.IsEnabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
private async void TransactionButton_Click(object sender, RoutedEventArgs evt) {
|
||||
if (PaymentVariantList.SelectedValue is not PaymentVar v) {
|
||||
return;
|
||||
}
|
||||
var d = new SaveFileDialog() {
|
||||
FileName = $"{App.Client.NameToken}-Buchungsliste-{v.Year}-{v.Name.Trim().Replace(' ', '-')}.ods",
|
||||
DefaultExt = "ods",
|
||||
Filter = "OpenDocument Format Spreadsheet (*.ods)|*.ods",
|
||||
Title = $"Buchungsliste speichern unter - Elwig"
|
||||
};
|
||||
if (d.ShowDialog() == true) {
|
||||
TransactionButton.IsEnabled = false;
|
||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
||||
try {
|
||||
var tbl = await CreditNoteData.ForPaymentVariant(Context, v.Year, v.AvNr);
|
||||
using var ods = new OdsFile(d.FileName);
|
||||
await ods.AddTable(tbl);
|
||||
} catch (Exception exc) {
|
||||
MessageBox.Show(exc.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
|
||||
}
|
||||
Mouse.OverrideCursor = null;
|
||||
TransactionButton.IsEnabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
private async void SaveButton_Click(object sender, RoutedEventArgs evt) {
|
||||
if (PaymentVariantList.SelectedItem is not PaymentVar v || BillingData == null) return;
|
||||
try {
|
||||
@@ -488,11 +520,19 @@ namespace Elwig.Windows {
|
||||
members = members.OrderBy(m => m.MgNr);
|
||||
|
||||
IEnumerable<Member> list = await members.ToListAsync();
|
||||
var data = await CreditNoteDeliveryData.ForPaymentVariant(Context.CreditNoteRows, Context.Seasons, v.Year, v.AvNr);
|
||||
var data = await CreditNoteDeliveryData.ForPaymentVariant(Context.CreditNoteDeliveryRows, Context.Seasons, v.Year, v.AvNr);
|
||||
var payments = await Context.MemberPayments.Where(p => p.Year == v.Year && p.AvNr == v.AvNr).ToDictionaryAsync(c => c.MgNr);
|
||||
await Context.GetMemberAreaCommitmentBuckets(Year, 0);
|
||||
using var doc = Document.Merge(list.Select(m =>
|
||||
new CreditNote(Context, payments[m.MgNr], data[m.MgNr], Context.GetMemberUnderDelivery(Year, m.MgNr).GetAwaiter().GetResult())
|
||||
new CreditNote(
|
||||
Context,
|
||||
payments[m.MgNr],
|
||||
data[m.MgNr],
|
||||
BillingData?.ConsiderContractPenalties ?? false,
|
||||
BillingData?.ConsiderTotalPenalty ?? false,
|
||||
BillingData?.ConsiderAutoBusinessShares ?? false,
|
||||
Context.GetMemberUnderDelivery(Year, m.MgNr).GetAwaiter().GetResult()
|
||||
)
|
||||
));
|
||||
await doc.Generate(new Progress<double>(v => {
|
||||
ProgressBar.Value = v;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
using Elwig.Dialogs;
|
||||
using Elwig.Helpers;
|
||||
using Elwig.Helpers.Billing;
|
||||
using Elwig.Helpers.Export;
|
||||
using Elwig.Models.Dtos;
|
||||
using Elwig.Models.Entities;
|
||||
using Microsoft.Win32;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
@@ -33,19 +33,31 @@ namespace Elwig.Windows {
|
||||
OverUnderDeliveryButton.IsEnabled = valid;
|
||||
AutoBusinessSharesButton.IsEnabled = valid;
|
||||
PaymentButton.IsEnabled = valid;
|
||||
AllowAttrIntoLowerInput.IsEnabled = valid && last;
|
||||
AvoidUnderDeliveriesInput.IsEnabled = valid && last;
|
||||
HonorGebundenInput.IsEnabled = valid && last;
|
||||
AllowAttrIntoLowerInput.IsChecked = s0?.Billing_AllowAttrsIntoLower;
|
||||
AvoidUnderDeliveriesInput.IsChecked = s0?.Billing_AvoidUnderDeliveries;
|
||||
HonorGebundenInput.IsChecked = s0?.Billing_HonorGebunden;
|
||||
}
|
||||
|
||||
private async void CalculateBucketsButton_Click(object sender, RoutedEventArgs evt) {
|
||||
if (SeasonInput.Value is not int year)
|
||||
if (SeasonInput.Value is not int year || await Context.Seasons.FindAsync(year) is not Season s)
|
||||
return;
|
||||
CalculateBucketsButton.IsEnabled = false;
|
||||
Mouse.OverrideCursor = Cursors.AppStarting;
|
||||
|
||||
try {
|
||||
s.Billing_AllowAttrsIntoLower = AllowAttrIntoLowerInput.IsChecked ?? false;
|
||||
s.Billing_AvoidUnderDeliveries = AvoidUnderDeliveriesInput.IsChecked ?? false;
|
||||
s.Billing_HonorGebunden = HonorGebundenInput.IsChecked ?? false;
|
||||
Context.Update(s);
|
||||
await Context.SaveChangesAsync();
|
||||
} catch { }
|
||||
|
||||
var b = new Billing(year);
|
||||
await b.FinishSeason();
|
||||
await b.CalculateBuckets(
|
||||
AllowAttrIntoLowerInput.IsChecked ?? false,
|
||||
AvoidUnderDeliveriesInput.IsChecked ?? false,
|
||||
HonorGebundenInput.IsChecked ?? false);
|
||||
await b.CalculateBuckets();
|
||||
Mouse.OverrideCursor = null;
|
||||
CalculateBucketsButton.IsEnabled = true;
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ using Elwig.Documents;
|
||||
using Elwig.Helpers;
|
||||
using Elwig.Helpers.Billing;
|
||||
using Elwig.Helpers.Export;
|
||||
using Elwig.Helpers.Weighing;
|
||||
using Elwig.Models.Dtos;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using System;
|
||||
@@ -27,7 +28,8 @@ namespace Elwig.Windows {
|
||||
|
||||
private async void WeighingButton1_Click(object sender, RoutedEventArgs evt) {
|
||||
try {
|
||||
var res = await App.Scales[0].GetCurrentWeight();
|
||||
if (App.Scales[0] is not ICommandScale cs) return;
|
||||
var res = await cs.GetCurrentWeight();
|
||||
Output.Text = res.ToString();
|
||||
} catch (Exception e) {
|
||||
MessageBox.Show($"Beim Wiegen ist ein Fehler aufgetreten:\n\n{e.Message}", "Waagenfehler",
|
||||
@@ -37,7 +39,8 @@ namespace Elwig.Windows {
|
||||
|
||||
private async void WeighingButton2_Click(object sender, RoutedEventArgs evt) {
|
||||
try {
|
||||
var res = await App.Scales[0].Weigh();
|
||||
if (App.Scales[0] is not ICommandScale cs) return;
|
||||
var res = await cs.Weigh();
|
||||
Output.Text = res.ToString();
|
||||
} catch (Exception e) {
|
||||
MessageBox.Show($"Beim Wiegen ist ein Fehler aufgetreten:\n\n{e.Message}", "Waagenfehler",
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
</Task>
|
||||
</UsingTask>
|
||||
<Target Name="CustomBeforeBuild" BeforeTargets="BeforeBuild">
|
||||
<Exec Command="curl -s -L "http://www.columbia.edu/~em36/PDFtoPrinter.exe" -z "$(TargetDir)PDFtoPrinter.exe" -o "$(TargetDir)PDFtoPrinter.exe"" />
|
||||
<Exec Command="dotnet publish "$(SolutionDir)Elwig\Elwig.csproj" "/p:PublishProfile=$(SolutionDir)\Elwig\Properties\PublishProfiles\FolderProfile.pubxml"" />
|
||||
<Exec Command="curl -s -L "http://www.columbia.edu/~em36/PDFtoPrinter.exe" -z "$(ProjectDir)\Files\PDFtoPrinter.exe" -o "$(ProjectDir)\Files\PDFtoPrinter.exe"" />
|
||||
<Exec Command="dotnet publish "$(ProjectDir)\..\Elwig\Elwig.csproj" "/p:PublishProfile=$(ProjectDir)\..\Elwig\Properties\PublishProfiles\FolderProfile.pubxml"" />
|
||||
<GetFileVersion AssemblyPath="..\Elwig\bin\Publish\Elwig.exe">
|
||||
<Output TaskParameter="Version" PropertyName="ElwigFileVersion" />
|
||||
</GetFileVersion>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<File Source="$(ProjectDir)\Files\WinziPrint.exe" Id="WinziPrint.exe"/>
|
||||
</Component>
|
||||
<Component Directory="InstallFolder">
|
||||
<File Source="$(TargetDir)\PDFtoPrinter.exe" Id="PDFtoPrinter.exe"/>
|
||||
<File Source="$(ProjectDir)\Files\PDFtoPrinter.exe" Id="PDFtoPrinter.exe"/>
|
||||
</Component>
|
||||
</ComponentGroup>
|
||||
</Fragment>
|
||||
|
||||
+21
-18
@@ -1,25 +1,28 @@
|
||||
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
|
||||
<Bundle Name="Elwig" Manufacturer="Elwig" Version="!(bind.packageVersion.ElwigMsi)" UpgradeCode="f3c8fcab-c37c-43aa-9ab8-e42f4bb518b7" IconSourceFile="$(var.ElwigProjectDir)\Resources\Images\Elwig.ico" >
|
||||
<BootstrapperApplication>
|
||||
<bal:WixStandardBootstrapperApplication LicenseUrl="" Theme="hyperlinkLicense" LogoFile="$(var.ElwigProjectDir)\Resources\Images\Elwig.png" SuppressOptionsUI="yes" ShowVersion="yes" />
|
||||
</BootstrapperApplication>
|
||||
|
||||
<util:RegistrySearch Id="VCredistx86" Variable="VCredistx86" Result="exists" Root="HKLM" Key="SOFTWARE\Classes\Installer\Dependencies\VC,redist.x86,x86,14.36,bundle" />
|
||||
<util:RegistrySearch Id="Webview2Machine" Variable="Webview2Machine" Result="exists" Root="HKLM" Key="SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" />
|
||||
<util:RegistrySearch Id="Webview2User" Variable="Webview2User" Result="exists" Root="HKCU" Key="Software\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" />
|
||||
<Bundle Name="Elwig" Manufacturer="Elwig" Version="!(bind.packageVersion.ElwigMsi)" UpgradeCode="f3c8fcab-c37c-43aa-9ab8-e42f4bb518b7"
|
||||
IconSourceFile="$(var.ElwigProjectDir)\Resources\Images\Elwig.ico">
|
||||
<BootstrapperApplication>
|
||||
<bal:WixStandardBootstrapperApplication LicenseUrl="" Theme="hyperlinkLicense" LogoFile="$(var.ElwigProjectDir)\Resources\Images\Elwig.png"
|
||||
SuppressOptionsUI="yes" ShowVersion="yes"/>
|
||||
</BootstrapperApplication>
|
||||
|
||||
<util:RegistrySearch Id="VCredistx86" Variable="VCredistx86" Result="exists"
|
||||
Root="HKLM" Key="SOFTWARE\Classes\Installer\Dependencies\VC,redist.x86,x86,14.36,bundle"/>
|
||||
<util:RegistrySearch Id="Webview2Machine" Variable="Webview2Machine" Result="exists"
|
||||
Root="HKLM" Key="SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}"/>
|
||||
<util:RegistrySearch Id="Webview2User" Variable="Webview2User" Result="exists"
|
||||
Root="HKCU" Key="Software\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}"/>
|
||||
|
||||
<Chain>
|
||||
<ExePackage Id="VCredistx86Installer" DisplayName="VC Redist x86 installer" Name="VC_redist.x86.exe" Cache="remove" Compressed="yes" PerMachine="yes"
|
||||
Permanent="yes" Vital="yes" SourceFile="$(TargetDir)VC_redist.x86.exe" InstallArguments="/install /passive /norestart" DetectCondition="VCredistx86">
|
||||
</ExePackage>
|
||||
|
||||
<ExePackage Id="MicrosoftEdgeWebview2" DisplayName="Microsoft Edge Webview2 Runtime" Name="MicrosoftEdgeWebview2Setup.exe" Cache="remove"
|
||||
Compressed="yes" PerMachine="yes" Permanent ="yes" Vital ="no" SourceFile="$(TargetDir)MicrosoftEdgeWebview2Setup.exe" InstallArguments="/silent /install"
|
||||
UninstallArguments="/silent /uninstall" DetectCondition="Webview2Machine OR Webview2User" >
|
||||
</ExePackage>
|
||||
|
||||
<ExePackage Id="VCredistx86Installer" DisplayName="VC Redist x86 installer" Name="VC_redist.x86.exe"
|
||||
SourceFile="$(ProjectDir)\Files\VC_redist.x86.exe"
|
||||
Cache="remove" Compressed="yes" PerMachine="yes" Permanent="yes" Vital="yes"
|
||||
InstallArguments="/install /passive /norestart" DetectCondition="VCredistx86"/>
|
||||
<ExePackage Id="MicrosoftEdgeWebview2" DisplayName="Microsoft Edge Webview2 Runtime" Name="MicrosoftEdgeWebview2Setup.exe"
|
||||
SourceFile="$(ProjectDir)\Files\MicrosoftEdgeWebview2Setup.exe"
|
||||
Cache="remove" Compressed="yes" PerMachine="yes" Permanent ="yes" Vital="no"
|
||||
InstallArguments="/silent /install" UninstallArguments="/silent /uninstall" DetectCondition="Webview2Machine OR Webview2User"/>
|
||||
<MsiPackage Id="ElwigMsi" SourceFile="$(var.Installer.TargetDir)\Elwig.msi" Permanent="no" Compressed="yes" Vital="yes"/>
|
||||
</Chain>
|
||||
|
||||
</Bundle>
|
||||
</Wix>
|
||||
|
||||
+2
-2
@@ -5,8 +5,8 @@
|
||||
<Cultures>de-AT</Cultures>
|
||||
</PropertyGroup>
|
||||
<Target Name="CustomBeforeBuild" BeforeTargets="BeforeBuild">
|
||||
<Exec Command='curl -s -L "https://go.microsoft.com/fwlink/p/?LinkId=2124703" -z "$(TargetDir)MicrosoftEdgeWebview2Setup.exe" -o "$(TargetDir)MicrosoftEdgeWebview2Setup.exe"' />
|
||||
<Exec Command='curl -s -L "https://aka.ms/vs/17/release/vc_redist.x86.exe" -z "$(TargetDir)VC_redist.x86.exe" -o "$(TargetDir)VC_redist.x86.exe"' />
|
||||
<Exec Command='curl -s -L "https://go.microsoft.com/fwlink/p/?LinkId=2124703" -z "$(ProjectDir)\Files\MicrosoftEdgeWebview2Setup.exe" -o "$(ProjectDir)\Files\MicrosoftEdgeWebview2Setup.exe"' />
|
||||
<Exec Command='curl -s -L "https://aka.ms/vs/17/release/vc_redist.x86.exe" -z "$(ProjectDir)\Files\VC_redist.x86.exe" -o "$(ProjectDir)\Files\VC_redist.x86.exe"' />
|
||||
<PropertyGroup>
|
||||
<DefineConstants>ElwigProjectDir=..\Elwig</DefineConstants>
|
||||
</PropertyGroup>
|
||||
|
||||
+13
-5
@@ -1,4 +1,5 @@
|
||||
using Elwig.Helpers;
|
||||
using Elwig;
|
||||
using Elwig.Helpers;
|
||||
using Elwig.Helpers.Billing;
|
||||
using Microsoft.Data.Sqlite;
|
||||
using System.Reflection;
|
||||
@@ -10,15 +11,22 @@ namespace Tests {
|
||||
private SqliteConnection? Connection;
|
||||
|
||||
[OneTimeSetUp]
|
||||
public async Task SetupDatabase() {
|
||||
public async Task Setup_1_Database() {
|
||||
AppDbContext.ConnectionStringOverride = $"Data Source=ElwigTestDB; Mode=Memory; Foreign Keys=True; Cache=Shared";
|
||||
Connection = await AppDbContext.ConnectAsync();
|
||||
await AppDbContext.ExecuteEmbeddedScript(Connection, Assembly.GetExecutingAssembly(), "Tests.Resources.Create.sql");
|
||||
await AppDbContext.ExecuteEmbeddedScript(Connection, Assembly.GetExecutingAssembly(), "Tests.Resources.Insert.sql");
|
||||
await AppDbContext.ExecuteEmbeddedScript(Connection, Assembly.GetExecutingAssembly(), "Tests.Resources.Sql.Create.sql");
|
||||
await AppDbContext.ExecuteEmbeddedScript(Connection, Assembly.GetExecutingAssembly(), "Tests.Resources.Sql.Insert.sql");
|
||||
}
|
||||
|
||||
[OneTimeSetUp]
|
||||
public async Task SetupBillingData() {
|
||||
public void Setup_2_Client() {
|
||||
using var ctx = new AppDbContext();
|
||||
App.Client = new ClientParameters(ctx);
|
||||
App.SetBranch(ctx.Branches.Single());
|
||||
}
|
||||
|
||||
[OneTimeSetUp]
|
||||
public async Task Setup_3_BillingData() {
|
||||
await BillingData.Init();
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
using Elwig.Documents;
|
||||
using Elwig.Helpers;
|
||||
|
||||
namespace Tests.DocumentTests {
|
||||
[TestFixture]
|
||||
public class DeliveryNoteTest {
|
||||
|
||||
private readonly AppDbContext Context = new();
|
||||
|
||||
[Test]
|
||||
public async Task Test_01_OneDeliveryPart() {
|
||||
var d = await Context.Deliveries.FindAsync(2020, 1);
|
||||
using var doc = new DeliveryNote(d!, Context);
|
||||
var text = await Utils.GeneratePdfText(doc);
|
||||
Assert.Multiple(() => {
|
||||
Assert.That(text, Contains.Substring("""
|
||||
MUSTERMANN Max
|
||||
Winzerstraße 1
|
||||
2223 Hohenruppersdorf
|
||||
"""));
|
||||
Assert.That(text, Contains.Substring("1472583")); // Betriebsnummer
|
||||
Assert.That(text, Contains.Substring("pauschaliert"));
|
||||
Assert.That(text, Contains.Substring($"Wolkersdorf, am {DateTime.Now:dd.MM.yyyy}"));
|
||||
Assert.That(text, Contains.Substring("Traubenübernahmeschein Nr. 20201001X001"));
|
||||
// TODO
|
||||
Assert.That(text, Contains.Substring("Ich bin der Text, der auf einem Traubenübernahmeschein steht!"));
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
using Elwig.Helpers;
|
||||
using System.Reflection;
|
||||
using Microsoft.Data.Sqlite;
|
||||
using Elwig.Helpers.Printing;
|
||||
|
||||
namespace Tests.DocumentTests {
|
||||
[SetUpFixture]
|
||||
public class Setup {
|
||||
|
||||
private SqliteConnection? Connection;
|
||||
|
||||
[OneTimeSetUp]
|
||||
public async Task SetupDatabase() {
|
||||
Connection = await AppDbContext.ConnectAsync();
|
||||
await AppDbContext.ExecuteEmbeddedScript(Connection, Assembly.GetExecutingAssembly(), "Tests.Resources.Sql.DocumentInsert.sql");
|
||||
}
|
||||
|
||||
[OneTimeTearDown]
|
||||
public async Task TeardownDatabase() {
|
||||
if (Connection == null) return;
|
||||
await AppDbContext.ExecuteEmbeddedScript(Connection, Assembly.GetExecutingAssembly(), "Tests.Resources.Sql.DocumentDelete.sql");
|
||||
await Connection.DisposeAsync();
|
||||
Connection = null;
|
||||
}
|
||||
|
||||
[OneTimeSetUp]
|
||||
public async Task SetupPrinting() {
|
||||
await Html.Init();
|
||||
await Pdf.Init();
|
||||
}
|
||||
|
||||
[OneTimeTearDown]
|
||||
public void TeardownPrinting() {
|
||||
// no teardown needed yet
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using Elwig.Documents;
|
||||
using NReco.PdfRenderer;
|
||||
|
||||
namespace Tests.DocumentTests {
|
||||
public static class Utils {
|
||||
|
||||
private static readonly string FileName = Path.Combine(Path.GetTempPath(), "test_document.pdf");
|
||||
|
||||
public static async Task<string> GeneratePdfText(Document doc) {
|
||||
await doc.Generate();
|
||||
try {
|
||||
doc.SaveTo(FileName);
|
||||
var conv = new PdfToTextConverter { CustomArgs = "-raw " };
|
||||
return conv.GenerateText(FileName);
|
||||
} finally {
|
||||
File.Delete(FileName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7,81 +7,37 @@ namespace Tests.HelperTests {
|
||||
[TestFixture]
|
||||
public class BillingTest {
|
||||
|
||||
private const int Year1 = 2020, Year2 = 2020;
|
||||
private const int Year1 = 2020, Year2 = 2021;
|
||||
private const int MgNr1 = 101, MgNr2 = 102, MgNr3 = 103, MgNr4 = 104;
|
||||
|
||||
private const decimal
|
||||
GV_ungeb = 0.50m,
|
||||
GV_geb = 0.60m,
|
||||
GVB_ungeb = 0.54m,
|
||||
GVB_geb = 0.64m,
|
||||
GVK_ungeb = 0.61m,
|
||||
GVK_geb = 0.71m,
|
||||
WEI = 0.10m;
|
||||
|
||||
private SqliteConnection? Connection;
|
||||
|
||||
[OneTimeSetUp]
|
||||
public async Task SetupDatabase() {
|
||||
Connection = await AppDbContext.ConnectAsync();
|
||||
await AppDbContext.ExecuteEmbeddedScript(Connection, Assembly.GetExecutingAssembly(), "Tests.Resources.BillingInsert.sql");
|
||||
await AppDbContext.ExecuteEmbeddedScript(Connection, Assembly.GetExecutingAssembly(), "Tests.Resources.Sql.BillingInsert.sql");
|
||||
}
|
||||
|
||||
[OneTimeTearDown]
|
||||
public async Task TeardownDatabase() {
|
||||
if (Connection == null) return;
|
||||
await AppDbContext.ExecuteEmbeddedScript(Connection, Assembly.GetExecutingAssembly(), "Tests.Resources.BillingDelete.sql");
|
||||
await AppDbContext.ExecuteEmbeddedScript(Connection, Assembly.GetExecutingAssembly(), "Tests.Resources.Sql.BillingDelete.sql");
|
||||
await Connection.DisposeAsync();
|
||||
Connection = null;
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public async Task CleanupDatabasePayment() {
|
||||
if (Connection == null) return;
|
||||
await AppDbContext.ExecuteBatch(Connection, """
|
||||
DELETE FROM credit;
|
||||
DELETE FROM delivery_part_bucket;
|
||||
DELETE FROM payment_variant;
|
||||
""");
|
||||
}
|
||||
|
||||
private Task<Dictionary<string, AreaComBucket>> GetMemberAreaCommitmentBuckets(int year, int mgnr) {
|
||||
var ctx = new AppDbContext();
|
||||
return ctx.GetMemberAreaCommitmentBuckets(year, mgnr, Connection);
|
||||
}
|
||||
|
||||
private Task<Dictionary<string, int>> GetMemberDeliveryBuckets(int year, int mgnr) {
|
||||
var ctx = new AppDbContext();
|
||||
return ctx.GetMemberDeliveryBuckets(year, mgnr, Connection);
|
||||
}
|
||||
|
||||
private Task<Dictionary<string, int>> GetMemberPaymentBuckets(int year, int mgnr) {
|
||||
var ctx = new AppDbContext();
|
||||
return ctx.GetMemberPaymentBuckets(year, mgnr, Connection);
|
||||
}
|
||||
|
||||
private async Task<Dictionary<(string, string), int>> GetMemberDeliveryPrices(int year, int mgnr) {
|
||||
var buckets = new Dictionary<(string, string), int>();
|
||||
using (var cmd = Connection!.CreateCommand()) {
|
||||
cmd.CommandText = $"""
|
||||
SELECT lsnr || '/' || d.dpnr, d.sortid || b.discr, price
|
||||
FROM v_delivery d
|
||||
LEFT JOIN payment_delivery_part_bucket p ON (p.year, p.did, p.dpnr) = (d.year, d.did, d.dpnr)
|
||||
LEFT JOIN delivery_part_bucket b ON (b.year, b.did, b.dpnr, b.bktnr) = (p.year, p.did, p.dpnr, p.bktnr)
|
||||
WHERE d.year = {year} AND mgnr = {mgnr}
|
||||
""";
|
||||
using var reader = await cmd.ExecuteReaderAsync();
|
||||
while (await reader.ReadAsync()) {
|
||||
var lsnr = reader.GetString(0);
|
||||
var bucket = reader.GetString(1);
|
||||
buckets[(lsnr, bucket)] = reader.GetInt32(2);
|
||||
}
|
||||
}
|
||||
return buckets;
|
||||
}
|
||||
|
||||
private Task InsertPaymentVariant(int year, int avnr, string data) {
|
||||
return AppDbContext.ExecuteBatch(Connection!, $"""
|
||||
INSERT INTO payment_variant (year, avnr, name, date, transfer_date, test_variant, calc_time, data)
|
||||
VALUES ({year}, {avnr}, 'Test', '2021-01-15', NULL, TRUE, NULL, '{data}');
|
||||
""");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Test_01_NoActiveAreaCommitments() {
|
||||
int mgnr = MgNr1, year = Year1;
|
||||
await InsertPaymentVariant(year, 1, """
|
||||
[SetUp]
|
||||
public async Task CreatePaymentVariant() {
|
||||
var json = """
|
||||
{
|
||||
"mode": "elwig",
|
||||
"version": 1,
|
||||
@@ -108,7 +64,66 @@ namespace Tests.HelperTests {
|
||||
"geb": 0.1
|
||||
}]
|
||||
}
|
||||
""";
|
||||
await InsertPaymentVariant(Year1, 1, json);
|
||||
await InsertPaymentVariant(Year2, 1, json);
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public async Task CleanupDatabasePayment() {
|
||||
if (Connection == null) return;
|
||||
await AppDbContext.ExecuteBatch(Connection, """
|
||||
DELETE FROM credit;
|
||||
DELETE FROM payment_variant;
|
||||
DELETE FROM delivery_part_bucket;
|
||||
""");
|
||||
}
|
||||
|
||||
private Task<Dictionary<string, AreaComBucket>> GetMemberAreaCommitmentBuckets(int year, int mgnr) {
|
||||
var ctx = new AppDbContext();
|
||||
return ctx.GetMemberAreaCommitmentBuckets(year, mgnr, Connection);
|
||||
}
|
||||
|
||||
private Task<Dictionary<string, int>> GetMemberDeliveryBuckets(int year, int mgnr) {
|
||||
var ctx = new AppDbContext();
|
||||
return ctx.GetMemberDeliveryBuckets(year, mgnr, Connection);
|
||||
}
|
||||
|
||||
private Task<Dictionary<string, int>> GetMemberPaymentBuckets(int year, int mgnr) {
|
||||
var ctx = new AppDbContext();
|
||||
return ctx.GetMemberPaymentBuckets(year, mgnr, Connection);
|
||||
}
|
||||
|
||||
private async Task<Dictionary<(string, string), (int, decimal)>> GetMemberDeliveryPrices(int year, int mgnr) {
|
||||
var buckets = new Dictionary<(string, string), (int, decimal)>();
|
||||
using (var cmd = Connection!.CreateCommand()) {
|
||||
cmd.CommandText = $"""
|
||||
SELECT lsnr || '/' || d.dpnr, d.sortid || b.discr, b.value, p.price
|
||||
FROM v_delivery d
|
||||
LEFT JOIN payment_delivery_part_bucket p ON (p.year, p.did, p.dpnr) = (d.year, d.did, d.dpnr)
|
||||
LEFT JOIN delivery_part_bucket b ON (b.year, b.did, b.dpnr, b.bktnr) = (p.year, p.did, p.dpnr, p.bktnr)
|
||||
WHERE d.year = {year} AND mgnr = {mgnr}
|
||||
""";
|
||||
using var reader = await cmd.ExecuteReaderAsync();
|
||||
while (await reader.ReadAsync()) {
|
||||
var lsnr = reader.GetString(0);
|
||||
var bucket = reader.GetString(1);
|
||||
buckets[(lsnr, bucket)] = (reader.GetInt32(2), Utils.DecFromDb(reader.GetInt32(3), 4));
|
||||
}
|
||||
}
|
||||
return buckets;
|
||||
}
|
||||
|
||||
private Task InsertPaymentVariant(int year, int avnr, string data) {
|
||||
return AppDbContext.ExecuteBatch(Connection!, $"""
|
||||
INSERT INTO payment_variant (year, avnr, name, date, transfer_date, test_variant, calc_time, data)
|
||||
VALUES ({year}, {avnr}, 'Test', '2021-01-15', NULL, TRUE, NULL, '{data}');
|
||||
""");
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Test_01_NoActiveAreaComs() {
|
||||
int mgnr = MgNr1, year = Year1;
|
||||
|
||||
var areaCom = await GetMemberAreaCommitmentBuckets(year, mgnr);
|
||||
Assert.That(areaCom, Is.Empty);
|
||||
@@ -133,13 +148,202 @@ namespace Tests.HelperTests {
|
||||
var prices = await GetMemberDeliveryPrices(year, mgnr);
|
||||
Assert.Multiple(() => {
|
||||
Assert.That(prices, Has.Count.EqualTo(6));
|
||||
Assert.That(prices[("20201001X001/1", "GV_")], Is.EqualTo(0_6100));
|
||||
Assert.That(prices[("20201001X001/2", "GV_")], Is.EqualTo(0_5000));
|
||||
Assert.That(prices[("20201001X002/1", "GV_")], Is.EqualTo(0_5400));
|
||||
Assert.That(prices[("20201001X002/2", "GV_")], Is.EqualTo(0_5400));
|
||||
Assert.That(prices[("20201001X003/1", "GV_")], Is.EqualTo(0_1000));
|
||||
Assert.That(prices[("20201001X003/2", "GV_")], Is.EqualTo(0_5000));
|
||||
// Kabinett
|
||||
Assert.That(prices[("20201001X001/1", "GV_")], Is.EqualTo((4_000, GV_ungeb)));
|
||||
// ohne Attribut
|
||||
Assert.That(prices[("20201001X001/2", "GV_")], Is.EqualTo((4_000, GV_ungeb)));
|
||||
// Bio
|
||||
Assert.That(prices[("20201001X002/1", "GV_")], Is.EqualTo((4_000, GVB_ungeb)));
|
||||
// Bio
|
||||
Assert.That(prices[("20201001X002/2", "GV_")], Is.EqualTo((4_000, GVB_ungeb)));
|
||||
// ohne Attribut
|
||||
Assert.That(prices[("20201001X003/1", "GV_")], Is.EqualTo(( 500, WEI)));
|
||||
// ohne Attribut
|
||||
Assert.That(prices[("20201001X003/2", "GV_")], Is.EqualTo(( 500, GV_ungeb)));
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Test_02_SimpleNotStrictAreaComs() {
|
||||
int mgnr = MgNr1, year = Year2;
|
||||
|
||||
var areaCom = await GetMemberAreaCommitmentBuckets(year, mgnr);
|
||||
Assert.Multiple(() => {
|
||||
Assert.That(areaCom, Has.Count.EqualTo(1));
|
||||
Assert.That(areaCom["GV"], Is.EqualTo(new AreaComBucket(10_000, 5_000, 10_000)));
|
||||
});
|
||||
var delivery = await GetMemberDeliveryBuckets(year, mgnr);
|
||||
Assert.Multiple(() => {
|
||||
Assert.That(delivery, Has.Count.EqualTo(4));
|
||||
Assert.That(delivery["GV"], Is.EqualTo(16_000));
|
||||
Assert.That(delivery["GV_"], Is.EqualTo( 1_000));
|
||||
Assert.That(delivery["GVB"], Is.EqualTo( 8_000));
|
||||
Assert.That(delivery["GVK"], Is.EqualTo( 4_000));
|
||||
});
|
||||
|
||||
BillingVariant b = new(year, 1);
|
||||
await b.CalculateBuckets(false, false, false, Connection);
|
||||
var payment = await GetMemberPaymentBuckets(year, mgnr);
|
||||
Assert.Multiple(() => {
|
||||
Assert.That(payment, Has.Count.EqualTo(2));
|
||||
Assert.That(payment["GV_"], Is.EqualTo( 7_000));
|
||||
Assert.That(payment["GV"], Is.EqualTo(10_000));
|
||||
});
|
||||
|
||||
await b.Calculate(false, false, false);
|
||||
var prices = await GetMemberDeliveryPrices(year, mgnr);
|
||||
Assert.Multiple(() => {
|
||||
Assert.That(prices, Has.Count.EqualTo(10));
|
||||
// Kabinett
|
||||
Assert.That(prices[("20211001X001/1", "GV_")], Is.EqualTo((2_000, GV_ungeb)));
|
||||
Assert.That(prices[("20211001X001/1", "GV")] , Is.EqualTo((2_000, GV_geb)));
|
||||
// ohne Attribut
|
||||
Assert.That(prices[("20211001X001/2", "GV_")], Is.EqualTo((4_000, GV_ungeb)));
|
||||
Assert.That(prices[("20211001X001/2", "GV")], Is.EqualTo(( 0, GV_geb)));
|
||||
// Bio
|
||||
Assert.That(prices[("20211001X002/1", "GV_")], Is.EqualTo(( 0, GVB_ungeb)));
|
||||
Assert.That(prices[("20211001X002/1", "GV")], Is.EqualTo((4_000, GVB_geb)));
|
||||
// Bio
|
||||
Assert.That(prices[("20211001X002/2", "GV_")], Is.EqualTo(( 0, GVB_ungeb)));
|
||||
Assert.That(prices[("20211001X002/2", "GV")], Is.EqualTo((4_000, GVB_geb)));
|
||||
// ohne Attribut
|
||||
Assert.That(prices[("20211001X003/1", "GV_")], Is.EqualTo(( 500, WEI)));
|
||||
// ohne Attribut
|
||||
Assert.That(prices[("20211001X003/2", "GV_")], Is.EqualTo(( 500, GV_ungeb)));
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Test_03_SimpleNotStrictAreaComs_HonorGebunden() {
|
||||
int mgnr = MgNr1, year = Year2;
|
||||
|
||||
var areaCom = await GetMemberAreaCommitmentBuckets(year, mgnr);
|
||||
Assert.Multiple(() => {
|
||||
Assert.That(areaCom, Has.Count.EqualTo(1));
|
||||
Assert.That(areaCom["GV"], Is.EqualTo(new AreaComBucket(10_000, 5_000, 10_000)));
|
||||
});
|
||||
var delivery = await GetMemberDeliveryBuckets(year, mgnr);
|
||||
Assert.Multiple(() => {
|
||||
Assert.That(delivery, Has.Count.EqualTo(4));
|
||||
Assert.That(delivery["GV"], Is.EqualTo(16_000));
|
||||
Assert.That(delivery["GV_"], Is.EqualTo( 1_000));
|
||||
Assert.That(delivery["GVB"], Is.EqualTo( 8_000));
|
||||
Assert.That(delivery["GVK"], Is.EqualTo( 4_000));
|
||||
});
|
||||
|
||||
BillingVariant b = new(year, 1);
|
||||
await b.CalculateBuckets(true, false, false, Connection);
|
||||
var payment = await GetMemberPaymentBuckets(year, mgnr);
|
||||
Assert.Multiple(() => {
|
||||
Assert.That(payment, Has.Count.EqualTo(2));
|
||||
Assert.That(payment["GV_"], Is.EqualTo(9_000));
|
||||
Assert.That(payment["GV"], Is.EqualTo(8_000));
|
||||
});
|
||||
|
||||
await b.Calculate(true, false, false);
|
||||
var prices = await GetMemberDeliveryPrices(year, mgnr);
|
||||
Assert.Multiple(() => {
|
||||
Assert.That(prices, Has.Count.EqualTo(8));
|
||||
// Kabinett
|
||||
Assert.That(prices[("20211001X001/1", "GV_")], Is.EqualTo(( 0, GV_ungeb)));
|
||||
Assert.That(prices[("20211001X001/1", "GV")], Is.EqualTo((4_000, GV_geb)));
|
||||
// ohne Attribut
|
||||
Assert.That(prices[("20211001X001/2", "GV_")], Is.EqualTo((4_000, GV_ungeb)));
|
||||
// Bio
|
||||
Assert.That(prices[("20211001X002/1", "GV_")], Is.EqualTo(( 0, GVB_ungeb)));
|
||||
Assert.That(prices[("20211001X002/1", "GV")], Is.EqualTo((4_000, GVB_geb)));
|
||||
// Bio
|
||||
Assert.That(prices[("20211001X002/2", "GV_")], Is.EqualTo((4_000, GVB_ungeb)));
|
||||
// ohne Attribut
|
||||
Assert.That(prices[("20211001X003/1", "GV_")], Is.EqualTo(( 500, WEI)));
|
||||
// ohne Attribut
|
||||
Assert.That(prices[("20211001X003/2", "GV_")], Is.EqualTo(( 500, GV_ungeb)));
|
||||
});
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Ignore("Not implemented yet")]
|
||||
public async Task Test_04_ComplexNotStrictAreaComs() {
|
||||
// TODO
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Ignore("Not implemented yet")]
|
||||
public async Task Test_05_ComplexNotStrictAreaComs_HonorGebunden() {
|
||||
// TODO
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Ignore("Not implemented yet")]
|
||||
public async Task Test_06_StrictAreaComs_NoFillLower_NotAllowed() {
|
||||
// TODO
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Ignore("Not implemented yet")]
|
||||
public async Task Test_07_StrictAreaComs_NoFillLower_Allowed() {
|
||||
// TODO
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Ignore("Not implemented yet")]
|
||||
public async Task Test_08_StrictAreaComs_NoFillLower_Allowed_AvoidUnderDeliveries() {
|
||||
// TODO
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Ignore("Not implemented yet")]
|
||||
public async Task Test_09_StrictAreaComs_FillLowerUntilObligation_NotAllowed() {
|
||||
// TODO
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Ignore("Not implemented yet")]
|
||||
public async Task Test_10_StrictAreaComs_FillLowerUntilObligation_Allowed() {
|
||||
// TODO
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Ignore("Not implemented yet")]
|
||||
public async Task Test_11_StrictAreaComs_FillLowerUntilObligation_Allowed_AvoidUnderDeliveries() {
|
||||
// TODO
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
[Ignore("Not implemented yet")]
|
||||
public async Task Test_12_StrictAreaComs_FillLowerUntilObligation_NotAllowed() {
|
||||
// TODO
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Ignore("Not implemented yet")]
|
||||
public async Task Test_13_StrictAreaComs_FillLowerUntilObligation_Allowed() {
|
||||
// TODO
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Ignore("Not implemented yet")]
|
||||
public async Task Test_14_StrictAreaComs_FillLowerUntilObligation_Allowed_AvoidUnderDeliveries() {
|
||||
// TODO
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Ignore("Not implemented yet")]
|
||||
public async Task Test_15_StrictAreaComs_FillLowerUntilRight_NotAllowed() {
|
||||
// TODO
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Ignore("Not implemented yet")]
|
||||
public async Task Test_16_StrictAreaComs_FillLowerUntilRight_Allowed() {
|
||||
// TODO
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Ignore("Not implemented yet")]
|
||||
public async Task Test_17_StrictAreaComs_FillLowerUntilRight_Allowed_AvoidUnderDeliveries() {
|
||||
// TODO
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
using Elwig.Helpers;
|
||||
using Elwig.Helpers.Export;
|
||||
using Elwig.Models.Dtos;
|
||||
using Elwig.Models.Entities;
|
||||
using System.Reflection;
|
||||
using System.Xml;
|
||||
|
||||
namespace Tests.HelperTests {
|
||||
// see https://www.iso20022.org/iso-20022-message-definitions
|
||||
// and https://www.iso20022.org/catalogue-messages/iso-20022-messages-archive?search=pain
|
||||
[TestFixture]
|
||||
public class EbicsTest {
|
||||
|
||||
public static readonly string FileName = Path.Combine(Path.GetTempPath(), "test_ebics.xml");
|
||||
public static readonly string Iban = "AT123456789012345678";
|
||||
|
||||
private static void ValidateSchema(string xmlPath, int version) {
|
||||
XmlDocument xml = new();
|
||||
xml.Load(xmlPath);
|
||||
var schema = new XmlTextReader(Assembly.GetExecutingAssembly()
|
||||
.GetManifestResourceStream($"Tests.Resources.Schemas.pain.001.001.{version:00}.xsd")!);
|
||||
xml.Schemas.Add(null, schema);
|
||||
xml.Validate(null);
|
||||
}
|
||||
|
||||
private static async Task CreateXmlFile(int version) {
|
||||
var v = new PaymentVar() {
|
||||
Year = 2020,
|
||||
AvNr = 1,
|
||||
Name = "Endauszahlung",
|
||||
TransferDate = new DateOnly(2021, 6, 15),
|
||||
};
|
||||
using var ctx = new AppDbContext();
|
||||
var members = ctx.Members.ToList();
|
||||
Assert.That(members, Has.Count.GreaterThan(0));
|
||||
using var exporter = new Ebics(v, FileName, version);
|
||||
await exporter.ExportAsync(members.Select(m => new Transaction(m, 1234.56m, "EUR", m.MgNr % 100)));
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public static void RemoveXmlFile() {
|
||||
File.Delete(FileName);
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Ignore("Version has no need to be supported")]
|
||||
public async Task Test_CustomerCreditTransferInitiationV01() {
|
||||
await CreateXmlFile(1);
|
||||
Assert.DoesNotThrow(() => ValidateSchema(FileName, 1));
|
||||
}
|
||||
|
||||
[Test]
|
||||
[Ignore("Version has no need to be supported")]
|
||||
public async Task Test_CustomerCreditTransferInitiationV02() {
|
||||
await CreateXmlFile(2);
|
||||
Assert.DoesNotThrow(() => ValidateSchema(FileName, 2));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Test_CustomerCreditTransferInitiationV03() {
|
||||
await CreateXmlFile(3);
|
||||
Assert.DoesNotThrow(() => ValidateSchema(FileName, 3));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Test_CustomerCreditTransferInitiationV04() {
|
||||
await CreateXmlFile(4);
|
||||
Assert.DoesNotThrow(() => ValidateSchema(FileName, 4));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Test_CustomerCreditTransferInitiationV05() {
|
||||
await CreateXmlFile(5);
|
||||
Assert.DoesNotThrow(() => ValidateSchema(FileName, 5));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Test_CustomerCreditTransferInitiationV06() {
|
||||
await CreateXmlFile(6);
|
||||
Assert.DoesNotThrow(() => ValidateSchema(FileName, 6));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Test_CustomerCreditTransferInitiationV07() {
|
||||
await CreateXmlFile(7);
|
||||
Assert.DoesNotThrow(() => ValidateSchema(FileName, 7));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Test_CustomerCreditTransferInitiationV08() {
|
||||
await CreateXmlFile(8);
|
||||
Assert.DoesNotThrow(() => ValidateSchema(FileName, 8));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Test_CustomerCreditTransferInitiationV09() {
|
||||
await CreateXmlFile(9);
|
||||
Assert.DoesNotThrow(() => ValidateSchema(FileName, 9));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Test_CustomerCreditTransferInitiationV10() {
|
||||
await CreateXmlFile(10);
|
||||
Assert.DoesNotThrow(() => ValidateSchema(FileName, 10));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task Test_CustomerCreditTransferInitiationV11() {
|
||||
await CreateXmlFile(11);
|
||||
Assert.DoesNotThrow(() => ValidateSchema(FileName, 11));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
-- inserts for DatabaseSetup
|
||||
|
||||
INSERT INTO branch (zwstid, name) VALUES
|
||||
('X', 'Test');
|
||||
|
||||
INSERT INTO wb_gl (glnr, name) VALUES
|
||||
(1, 'Matzner Hügel'),
|
||||
(2, 'Wolkersdorfer Hochleithen');
|
||||
|
||||
INSERT INTO AT_gem (gkz, name) VALUES
|
||||
(30828, 'Hohenruppersdorf'),
|
||||
(31655, 'Wolkersdorf im Weinviertel');
|
||||
|
||||
INSERT INTO wb_gem (gkz, hkid) VALUES
|
||||
(30828, 'WLWV'),
|
||||
(31655, 'WLWV');
|
||||
|
||||
INSERT INTO AT_kg (kgnr, gkz, name) VALUES
|
||||
(06109, 30828, 'Hohenruppersdorf'),
|
||||
(15209, 31655, 'Münichsthal'),
|
||||
(15211, 31655, 'Obersdorf'),
|
||||
(15212, 31655, 'Pfösing'),
|
||||
(15216, 31655, 'Riedentahl'),
|
||||
(15224, 31655, 'Wolkersdorf');
|
||||
|
||||
INSERT INTO wb_kg (kgnr, glnr) VALUES
|
||||
(06109, 1),
|
||||
(15209, 2),
|
||||
(15211, 2),
|
||||
(15212, 2),
|
||||
(15216, 2),
|
||||
(15224, 2);
|
||||
|
||||
INSERT INTO AT_ort (okz, gkz, kgnr, name) VALUES
|
||||
(03524, 30828, 06109, 'Hohenruppersdorf'),
|
||||
(05092, 31655, 15211, 'Obersdorf'),
|
||||
(05135, 31655, 15209, 'Münichsthal'),
|
||||
(05136, 31655, 15212, 'Pfösing'),
|
||||
(05137, 31655, 15216, 'Riedenthal'),
|
||||
(05138, 31655, 15224, 'Wolkersdorf im Weinviertel');
|
||||
|
||||
INSERT INTO AT_plz (plz, ort, blnr, type, internal, addressable, po_box) VALUES
|
||||
(2223, 'Hohenruppersdorf', 3, 'PLZ-Adressierung', FALSE, TRUE, FALSE),
|
||||
(2120, 'Wolkersdorf im Weinviertel', 3, 'PLZ-Adressierung', FALSE, TRUE, TRUE ),
|
||||
(2122, 'Ulrichskirchen', 3, 'PLZ-Adressierung', FALSE, TRUE, FALSE);
|
||||
|
||||
INSERT INTO AT_plz_dest (plz, okz, dest) VALUES
|
||||
(2223, 03524, 'Hohenruppersdorf'),
|
||||
(2120, 05092, 'Obersdorf'),
|
||||
(2120, 05138, 'Wolkersdorf im Weinviertel'),
|
||||
(2122, 05135, 'Münichsthal'),
|
||||
(2122, 05136, 'Pfösing'),
|
||||
(2122, 05137, 'Riedenthal');
|
||||
@@ -0,0 +1,747 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--Generated by SWIFTStandards Workstation (build:R5.1.0.4) on 2005 Sep 13 16:04:25-->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:iso:std:iso:20022:xsd:pain.001.001.01" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:xsd:pain.001.001.01">
|
||||
<xs:element name="Document" type="Document"/>
|
||||
<xs:complexType name="AccountIdentification1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="IBAN" type="IBANIdentifier"/>
|
||||
<xs:element name="BBAN" type="BBANIdentifier"/>
|
||||
<xs:element name="UPIC" type="UPICIdentifier"/>
|
||||
<xs:element name="DmstAcct" type="SimpleIdentificationInformation"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="AddressType2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="ADDR"/>
|
||||
<xs:enumeration value="PBOX"/>
|
||||
<xs:enumeration value="HOME"/>
|
||||
<xs:enumeration value="BIZZ"/>
|
||||
<xs:enumeration value="MLTO"/>
|
||||
<xs:enumeration value="DLVY"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="AmountType1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="InstdAmt" type="CurrencyAndAmount"/>
|
||||
<xs:element name="EqvtAmt" type="EquivalentAmount"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="AustrianBankleitzahlIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="AT[0-9]{5,5}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BBANIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[a-zA-Z0-9]{1,30}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BEIIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BICIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BatchBookingIndicator">
|
||||
<xs:restriction base="xs:boolean"/>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="BranchAndFinancialInstitutionIdentification">
|
||||
<xs:sequence>
|
||||
<xs:element name="FinInstnId" type="FinancialInstitutionIdentification1"/>
|
||||
<xs:element name="BrnchId" type="BranchData" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="BranchData">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Nm" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="CHIPSParticipantIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="CP[0-9]{4,4}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="CHIPSUniversalIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="CH[0-9]{6,6}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="CanadianPaymentsARNIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="CA[0-9]{9,9}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="CashAccount3">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="AccountIdentification1Choice"/>
|
||||
<xs:element name="Tp" type="CashAccountType3Code" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Ccy" type="CurrencyCode" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Nm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="CashAccountType3Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CASH"/>
|
||||
<xs:enumeration value="CHAR"/>
|
||||
<xs:enumeration value="SACC"/>
|
||||
<xs:enumeration value="CACC"/>
|
||||
<xs:enumeration value="SVGS"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="CashClearingSystem2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="RTG"/>
|
||||
<xs:enumeration value="ACH"/>
|
||||
<xs:enumeration value="CHI"/>
|
||||
<xs:enumeration value="FDN"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ChargeBearer1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="OUR"/>
|
||||
<xs:enumeration value="BEN"/>
|
||||
<xs:enumeration value="SHA"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Cheque2">
|
||||
<xs:sequence>
|
||||
<xs:element name="ChqTp" type="ChequeType2Code" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="ChqNb" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="ChqFr" type="NameAndAddress3" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="DlvryMtd" type="ChequeDelivery1Code" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="DlvrTo" type="NameAndAddress3" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="InstrPrty" type="Priority2Code" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="ChqMtrtyDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="FrmsCd" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="MemoFld" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="RgnlClrZone" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ChequeDelivery1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MLDB"/>
|
||||
<xs:enumeration value="MLCD"/>
|
||||
<xs:enumeration value="MLFA"/>
|
||||
<xs:enumeration value="CRDB"/>
|
||||
<xs:enumeration value="CRCD"/>
|
||||
<xs:enumeration value="CRFA"/>
|
||||
<xs:enumeration value="PUDB"/>
|
||||
<xs:enumeration value="PUCD"/>
|
||||
<xs:enumeration value="PUFA"/>
|
||||
<xs:enumeration value="RGDB"/>
|
||||
<xs:enumeration value="RGCD"/>
|
||||
<xs:enumeration value="RGFA"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ChequeType2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CCHQ"/>
|
||||
<xs:enumeration value="CCCH"/>
|
||||
<xs:enumeration value="BCHQ"/>
|
||||
<xs:enumeration value="DRFT"/>
|
||||
<xs:enumeration value="ELDR"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ClearingSystemMemberIdentificationChoice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="USCHU" type="CHIPSUniversalIdentifier"/>
|
||||
<xs:element name="NZNCC" type="NewZealandNCCIdentifier"/>
|
||||
<xs:element name="IENSC" type="IrishNSCIdentifier"/>
|
||||
<xs:element name="GBSC" type="UKDomesticSortCodeIdentifier"/>
|
||||
<xs:element name="USCH" type="CHIPSParticipantIdentifier"/>
|
||||
<xs:element name="CHBC" type="SwissBCIdentifier"/>
|
||||
<xs:element name="USFW" type="FedwireRoutingNumberIdentifier"/>
|
||||
<xs:element name="PTNCC" type="PortugueseNCCIdentifier"/>
|
||||
<xs:element name="RUCB" type="RussianCentralBankIdentificationCodeIdentifier"/>
|
||||
<xs:element name="ITNCC" type="ItalianDomesticIdentifier"/>
|
||||
<xs:element name="ATBLZ" type="AustrianBankleitzahlIdentifier"/>
|
||||
<xs:element name="CACPA" type="CanadianPaymentsARNIdentifier"/>
|
||||
<xs:element name="CHSIC" type="SwissSICIdentifier"/>
|
||||
<xs:element name="DEBLZ" type="GermanBankleitzahlIdentifier"/>
|
||||
<xs:element name="ESNCC" type="SpanishDomesticInterbankingIdentifier"/>
|
||||
<xs:element name="ZANCC" type="SouthAfricanNCCIdentifier"/>
|
||||
<xs:element name="HKNCC" type="HongKongBankIdentifier"/>
|
||||
<xs:element name="AUBSBx" type="ExtensiveBranchNetworkIdentifier"/>
|
||||
<xs:element name="AUBSBs" type="SmallNetworkIdentifier"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="CountryCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{2,2}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="CreditTransferType2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CORT"/>
|
||||
<xs:enumeration value="SALA"/>
|
||||
<xs:enumeration value="TREA"/>
|
||||
<xs:enumeration value="CASH"/>
|
||||
<xs:enumeration value="DIVI"/>
|
||||
<xs:enumeration value="GOVT"/>
|
||||
<xs:enumeration value="INTE"/>
|
||||
<xs:enumeration value="LOAN"/>
|
||||
<xs:enumeration value="PENS"/>
|
||||
<xs:enumeration value="SECU"/>
|
||||
<xs:enumeration value="SSBE"/>
|
||||
<xs:enumeration value="SUPP"/>
|
||||
<xs:enumeration value="TAXS"/>
|
||||
<xs:enumeration value="TRAD"/>
|
||||
<xs:enumeration value="VATX"/>
|
||||
<xs:enumeration value="HEDG"/>
|
||||
<xs:enumeration value="INTC"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="CreditTransferTypeIdentification">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="CreditTransferType2Code" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="LclInstrm" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:choice>
|
||||
<xs:element name="InstrPrty" type="Priority2Code" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="SttlmPrty" type="SettlementPriorityChoice" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="CurrencyAndAmount_SimpleType">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:minInclusive value="0"/>
|
||||
<xs:fractionDigits value="5"/>
|
||||
<xs:totalDigits value="18"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="CurrencyAndAmount">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="CurrencyAndAmount_SimpleType">
|
||||
<xs:attribute name="Ccy" type="CurrencyCode" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="CurrencyCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{3,3}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="DecimalNumber">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="17"/>
|
||||
<xs:totalDigits value="18"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Document">
|
||||
<xs:sequence>
|
||||
<xs:element name="pain.001.001.01" type="pain.001.001.01"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="DocumentType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MSIN"/>
|
||||
<xs:enumeration value="CNFA"/>
|
||||
<xs:enumeration value="DNFA"/>
|
||||
<xs:enumeration value="CINV"/>
|
||||
<xs:enumeration value="CREN"/>
|
||||
<xs:enumeration value="DEBN"/>
|
||||
<xs:enumeration value="HIRI"/>
|
||||
<xs:enumeration value="SBIN"/>
|
||||
<xs:enumeration value="RADM"/>
|
||||
<xs:enumeration value="RPIN"/>
|
||||
<xs:enumeration value="CMCN"/>
|
||||
<xs:enumeration value="FXDR"/>
|
||||
<xs:enumeration value="SOAC"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="DunsIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[0-9]{9,9}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="EANGLNIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[0-9]{13,13}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="EquivalentAmount">
|
||||
<xs:sequence>
|
||||
<xs:element name="Amt" type="CurrencyAndAmount"/>
|
||||
<xs:element name="CcyOfTrf" type="CurrencyCode"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ExtensiveBranchNetworkIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="AU[0-9]{6,6}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="FedwireRoutingNumberIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="FW[0-9]{9,9}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="FinancialInstitutionIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="BIC" type="BICIdentifier" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentificationChoice" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Nm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="PrtryId" type="GenericIdentification3" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericIdentification3">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max35Text"/>
|
||||
<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericIdentification4">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max35Text"/>
|
||||
<xs:element name="IdTp" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericPaymentTransaction3">
|
||||
<xs:sequence>
|
||||
<xs:element name="PmtId" type="PaymentIdentification"/>
|
||||
<xs:element name="Purp" type="PurposeChoice" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Amt" type="AmountType1Choice"/>
|
||||
<xs:element name="ChqInstr" type="Cheque2" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="OrgtgPty" type="PartyIdentification1" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Cdtr" type="PartyIdentification1" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="CdtrAcct" type="CashAccount3" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="CdtrCtryOfRes" type="CountryCode" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="FnlAgt" type="BranchAndFinancialInstitutionIdentification" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="FnlAgtAcct" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="FnlPty" type="PartyIdentification1" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="ChrgBr" type="ChargeBearer1Code"/>
|
||||
<xs:element name="XchgCtrctRef" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="RgltryRptg" type="StructuredRegulatoryReporting2" minOccurs="0" maxOccurs="3"/>
|
||||
<xs:element name="InstrForFnlAgt" type="InstructionForFinalAgent" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="InstrForFrstAgt" type="InstructionForFirstAgent" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="RmtInf" type="RemittanceInformation3Choice" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="GermanBankleitzahlIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="BL[0-9]{8,8}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="GroupInformation1">
|
||||
<xs:sequence>
|
||||
<xs:element name="GrpId" type="Max35Text"/>
|
||||
<xs:element name="CreDtTm" type="ISODateTime"/>
|
||||
<xs:element name="Authstn" type="Max128Text" minOccurs="0" maxOccurs="2"/>
|
||||
<xs:element name="CtrlSum" type="DecimalNumber" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="BtchBookg" type="BatchBookingIndicator" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="NbOfTxs" type="Max15NumericText" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Grpg" type="GroupingIndicator" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="InitgPty" type="PartyIdentification1"/>
|
||||
<xs:element name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="GroupingIndicator">
|
||||
<xs:restriction base="xs:boolean"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="HongKongBankIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="HK[0-9]{3,3}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="IBANIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[a-zA-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ISODate">
|
||||
<xs:restriction base="xs:date"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ISODateTime">
|
||||
<xs:restriction base="xs:dateTime"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Instruction3Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CHQB"/>
|
||||
<xs:enumeration value="HOLD"/>
|
||||
<xs:enumeration value="PHOB"/>
|
||||
<xs:enumeration value="TELB"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="InstructionForFinalAgent">
|
||||
<xs:sequence>
|
||||
<xs:element name="Cd" type="Instruction3Code" minOccurs="0" maxOccurs="2"/>
|
||||
<xs:element name="Prtry" type="Max140Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="InstructionForFirstAgent">
|
||||
<xs:sequence>
|
||||
<xs:element name="RmtLctnMtd" type="RemittanceLocationMethod1Code" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="RmtLctnElctrncAdr" type="Max128Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="RmtLctnPstlAdr" type="NameAndAddress3" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="DbtPurp" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Prtry" type="Max140Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Tax" type="TaxInformation1" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="IrishNSCIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="IE[0-9]{6,6}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ItalianDomesticIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="IT[0-9]{10,10}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max128Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="128"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max140Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="140"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max15NumericText">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[0-9]{1,15}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max16Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="16"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max35Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="35"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max3Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="3"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max70Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="70"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="NameAndAddress3">
|
||||
<xs:sequence>
|
||||
<xs:element name="Nm" type="Max70Text"/>
|
||||
<xs:element name="Adr" type="PostalAddress1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="NewZealandNCCIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="NZ[0-9]{6,6}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="NonFinancialInstitutionIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="BEI" type="BEIIdentifier" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="EANGLN" type="EANGLNIdentifier" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="USCHU" type="CHIPSUniversalIdentifier" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="DUNS" type="DunsIdentifier" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="BkPtyId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="TaxIdNb" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="PrtryId" type="GenericIdentification3" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="Party1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="OrgId" type="NonFinancialInstitutionIdentification1"/>
|
||||
<xs:element name="PrvtId" type="PersonIdentification2" minOccurs="1" maxOccurs="2"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PartyIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Nm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Id" type="Party1Choice" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PaymentIdentification">
|
||||
<xs:sequence>
|
||||
<xs:element name="InstrId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="EndToEndId" type="Max35Text"/>
|
||||
<xs:element name="PmtRmtId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PaymentInformation6">
|
||||
<xs:sequence>
|
||||
<xs:element name="ReqdExctnDt" type="ISODate"/>
|
||||
<xs:element name="PmtMtdByFrstAgt" type="PaymentMethod1Code"/>
|
||||
<xs:element name="CdtTrfTpId" type="CreditTransferTypeIdentification" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Dbtr" type="PartyIdentification1" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="DbtrCtryOfRes" type="CountryCode" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="DbtrAcct" type="CashAccount3"/>
|
||||
<xs:element name="FrstAgt" type="BranchAndFinancialInstitutionIdentification"/>
|
||||
<xs:element name="ChrgsAcct" type="CashAccount3" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="PmtTx" type="GenericPaymentTransaction3" minOccurs="1" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PaymentMethod1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CHK"/>
|
||||
<xs:enumeration value="TRF"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="PaymentPurpose1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="SALA"/>
|
||||
<xs:enumeration value="TREA"/>
|
||||
<xs:enumeration value="ADVA"/>
|
||||
<xs:enumeration value="AGRT"/>
|
||||
<xs:enumeration value="ALMY"/>
|
||||
<xs:enumeration value="BECH"/>
|
||||
<xs:enumeration value="BENE"/>
|
||||
<xs:enumeration value="BONU"/>
|
||||
<xs:enumeration value="CASH"/>
|
||||
<xs:enumeration value="CBFF"/>
|
||||
<xs:enumeration value="CHAR"/>
|
||||
<xs:enumeration value="COLL"/>
|
||||
<xs:enumeration value="CMDT"/>
|
||||
<xs:enumeration value="COMC"/>
|
||||
<xs:enumeration value="COMM"/>
|
||||
<xs:enumeration value="COST"/>
|
||||
<xs:enumeration value="CPYR"/>
|
||||
<xs:enumeration value="DIVI"/>
|
||||
<xs:enumeration value="FREX"/>
|
||||
<xs:enumeration value="GDDS"/>
|
||||
<xs:enumeration value="GOVT"/>
|
||||
<xs:enumeration value="IHRP"/>
|
||||
<xs:enumeration value="INTC"/>
|
||||
<xs:enumeration value="INSU"/>
|
||||
<xs:enumeration value="INTE"/>
|
||||
<xs:enumeration value="LICF"/>
|
||||
<xs:enumeration value="LOAN"/>
|
||||
<xs:enumeration value="LOAR"/>
|
||||
<xs:enumeration value="NETT"/>
|
||||
<xs:enumeration value="PAYR"/>
|
||||
<xs:enumeration value="PENS"/>
|
||||
<xs:enumeration value="REFU"/>
|
||||
<xs:enumeration value="RENT"/>
|
||||
<xs:enumeration value="ROYA"/>
|
||||
<xs:enumeration value="SCVE"/>
|
||||
<xs:enumeration value="SECU"/>
|
||||
<xs:enumeration value="SSBE"/>
|
||||
<xs:enumeration value="SUBS"/>
|
||||
<xs:enumeration value="TAXS"/>
|
||||
<xs:enumeration value="VATX"/>
|
||||
<xs:enumeration value="COMT"/>
|
||||
<xs:enumeration value="DBTC"/>
|
||||
<xs:enumeration value="SUPP"/>
|
||||
<xs:enumeration value="HEDG"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PaymentSchemeChoice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="CashClearingSystem2Code"/>
|
||||
<xs:element name="PrtryInf" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PercentageRate">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="10"/>
|
||||
<xs:totalDigits value="11"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PersonIdentification2">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="DrvrsLicNb" type="Max35Text"/>
|
||||
<xs:element name="SclSctyNb" type="Max35Text"/>
|
||||
<xs:element name="AlnRegnNb" type="Max35Text"/>
|
||||
<xs:element name="PsptNb" type="Max35Text"/>
|
||||
<xs:element name="TaxIdNb" type="Max35Text"/>
|
||||
<xs:element name="IdntyCardNb" type="Max35Text"/>
|
||||
<xs:element name="MplyrIdNb" type="Max35Text"/>
|
||||
<xs:element name="OthrId" type="GenericIdentification4"/>
|
||||
</xs:choice>
|
||||
<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PortugueseNCCIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="PT[0-9]{8,8}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PostalAddress1">
|
||||
<xs:sequence>
|
||||
<xs:element name="AdrTp" type="AddressType2Code" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="AdrLine" type="Max70Text" minOccurs="0" maxOccurs="5"/>
|
||||
<xs:element name="StrtNm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="BldgNb" type="Max16Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="PstCd" type="Max16Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="TwnNm" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="CtrySubDvsn" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Ctry" type="CountryCode"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Priority2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="HIGH"/>
|
||||
<xs:enumeration value="NORM"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PurposeChoice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
<xs:element name="Cd" type="PaymentPurpose1Code"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ReferredDocumentAmount1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="DuePyblAmt" type="CurrencyAndAmount"/>
|
||||
<xs:element name="DscntApldAmt" type="CurrencyAndAmount"/>
|
||||
<xs:element name="RmtdAmt" type="CurrencyAndAmount"/>
|
||||
<xs:element name="CdtNoteAmt" type="CurrencyAndAmount"/>
|
||||
<xs:element name="TaxAmt" type="CurrencyAndAmount"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RemittanceInformation3Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Ustrd" type="Max140Text"/>
|
||||
<xs:element name="Strd" type="StructuredRemittanceInformation2"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="RemittanceLocationMethod1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="FAXI"/>
|
||||
<xs:enumeration value="EDIC"/>
|
||||
<xs:enumeration value="URID"/>
|
||||
<xs:enumeration value="EMAL"/>
|
||||
<xs:enumeration value="POST"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="RussianCentralBankIdentificationCodeIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="RU[0-9]{9,9}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="SettlementPriorityChoice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Prty" type="Priority2Code"/>
|
||||
<xs:element name="PmtSchme" type="PaymentSchemeChoice"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="SimpleIdentificationInformation">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="SmallNetworkIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="AU[0-9]{6,6}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="SouthAfricanNCCIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="ZA[0-9]{6,6}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="SpanishDomesticInterbankingIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="ES[0-9]{8,9}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="StructuredRegulatoryReporting2">
|
||||
<xs:sequence>
|
||||
<xs:element name="Cd" type="Max3Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Amt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Inf" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="StructuredRemittanceInformation2">
|
||||
<xs:sequence>
|
||||
<xs:element name="RfrdDocTp" type="DocumentType1Code" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="RfrdDocRltdDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="RfrdDocAmt" type="ReferredDocumentAmount1Choice" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="DocRefNb" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="CdtrRef" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Invcr" type="PartyIdentification1" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Invcee" type="PartyIdentification1" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="SwissBCIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="SW[0-9]{3,5}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="SwissSICIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="SW[0-9]{6,6}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="TaxDetails">
|
||||
<xs:sequence>
|
||||
<xs:element name="CertId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="TaxTp" type="TaxType" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxInformation1">
|
||||
<xs:sequence>
|
||||
<xs:element name="CdtrTaxId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="CdtrTaxTp" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="DbtrTaxId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="TaxRefNb" type="Max140Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="TtlTaxblBaseAmt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="TtlTaxAmt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="TaxTpInf" type="TaxDetails" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxType">
|
||||
<xs:sequence>
|
||||
<xs:element name="CtgyDesc" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Rate" type="PercentageRate" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="TaxblBaseAmt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Amt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="UKDomesticSortCodeIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="SC[0-9]{6,6}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="UPICIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[0-9]{8,17}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="pain.001.001.01">
|
||||
<xs:sequence>
|
||||
<xs:element name="GrpHdr" type="GroupInformation1"/>
|
||||
<xs:element name="PmtInf" type="PaymentInformation6" minOccurs="1" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
||||
@@ -0,0 +1,784 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--Generated by SWIFTStandards Workstation (build:R5.1.0.4) on 2006 Sep 08 11:58:39-->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.02" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.02">
|
||||
<xs:element name="Document" type="Document"/>
|
||||
<xs:complexType name="AccountIdentification3Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="IBAN" type="IBANIdentifier"/>
|
||||
<xs:element name="BBAN" type="BBANIdentifier"/>
|
||||
<xs:element name="UPIC" type="UPICIdentifier"/>
|
||||
<xs:element name="PrtryAcct" type="SimpleIdentificationInformation2"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="AddressType2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="ADDR"/>
|
||||
<xs:enumeration value="PBOX"/>
|
||||
<xs:enumeration value="HOME"/>
|
||||
<xs:enumeration value="BIZZ"/>
|
||||
<xs:enumeration value="MLTO"/>
|
||||
<xs:enumeration value="DLVY"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="AmountType2Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="InstdAmt" type="CurrencyAndAmount"/>
|
||||
<xs:element name="EqvtAmt" type="EquivalentAmount"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="BBANIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[a-zA-Z0-9]{1,30}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BEIIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BICIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BaseOneRate">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="10"/>
|
||||
<xs:totalDigits value="11"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BatchBookingIndicator">
|
||||
<xs:restriction base="xs:boolean"/>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="BranchAndFinancialInstitutionIdentification3">
|
||||
<xs:sequence>
|
||||
<xs:element name="FinInstnId" type="FinancialInstitutionIdentification5Choice"/>
|
||||
<xs:element name="BrnchId" type="BranchData" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="BranchData">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Nm" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="CHIPSUniversalIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="CH[0-9]{6,6}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="CashAccount7">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="AccountIdentification3Choice"/>
|
||||
<xs:element name="Tp" type="CashAccountType2" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Ccy" type="CurrencyCode" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Nm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CashAccountType2">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="CashAccountType4Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="CashAccountType4Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CASH"/>
|
||||
<xs:enumeration value="CHAR"/>
|
||||
<xs:enumeration value="COMM"/>
|
||||
<xs:enumeration value="TAXE"/>
|
||||
<xs:enumeration value="CISH"/>
|
||||
<xs:enumeration value="TRAS"/>
|
||||
<xs:enumeration value="SACC"/>
|
||||
<xs:enumeration value="CACC"/>
|
||||
<xs:enumeration value="SVGS"/>
|
||||
<xs:enumeration value="ONDP"/>
|
||||
<xs:enumeration value="MGLD"/>
|
||||
<xs:enumeration value="NREX"/>
|
||||
<xs:enumeration value="MOMA"/>
|
||||
<xs:enumeration value="LOAN"/>
|
||||
<xs:enumeration value="SLRY"/>
|
||||
<xs:enumeration value="ODFT"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ChargeBearerType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="DEBT"/>
|
||||
<xs:enumeration value="CRED"/>
|
||||
<xs:enumeration value="SHAR"/>
|
||||
<xs:enumeration value="SLEV"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Cheque5">
|
||||
<xs:sequence>
|
||||
<xs:element name="ChqTp" type="ChequeType2Code" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="ChqNb" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="ChqFr" type="NameAndAddress3" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="DlvryMtd" type="ChequeDeliveryMethod1Choice" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="DlvrTo" type="NameAndAddress3" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="InstrPrty" type="Priority2Code" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="ChqMtrtyDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="FrmsCd" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="MemoFld" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="RgnlClrZone" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="PrtLctn" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ChequeDelivery1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MLDB"/>
|
||||
<xs:enumeration value="MLCD"/>
|
||||
<xs:enumeration value="MLFA"/>
|
||||
<xs:enumeration value="CRDB"/>
|
||||
<xs:enumeration value="CRCD"/>
|
||||
<xs:enumeration value="CRFA"/>
|
||||
<xs:enumeration value="PUDB"/>
|
||||
<xs:enumeration value="PUCD"/>
|
||||
<xs:enumeration value="PUFA"/>
|
||||
<xs:enumeration value="RGDB"/>
|
||||
<xs:enumeration value="RGCD"/>
|
||||
<xs:enumeration value="RGFA"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ChequeDeliveryMethod1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ChequeDelivery1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ChequeType2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CCHQ"/>
|
||||
<xs:enumeration value="CCCH"/>
|
||||
<xs:enumeration value="BCHQ"/>
|
||||
<xs:enumeration value="DRFT"/>
|
||||
<xs:enumeration value="ELDR"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ClearingChannel2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="RTGS"/>
|
||||
<xs:enumeration value="RTNS"/>
|
||||
<xs:enumeration value="MPNS"/>
|
||||
<xs:enumeration value="BOOK"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ClearingSystemMemberIdentification3Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Id" type="ExternalClearingSystemMemberCode"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="CountryCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{2,2}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="CreditTransferTransactionInformation1">
|
||||
<xs:sequence>
|
||||
<xs:element name="PmtId" type="PaymentIdentification1"/>
|
||||
<xs:element name="PmtTpInf" type="PaymentTypeInformation1" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Amt" type="AmountType2Choice"/>
|
||||
<xs:element name="XchgRateInf" type="ExchangeRateInformation1" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="ChrgBr" type="ChargeBearerType1Code" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="ChqInstr" type="Cheque5" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="UltmtDbtr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="IntrmyAgt1Acct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="IntrmyAgt2Acct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="IntrmyAgt3Acct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="CdtrAgtAcct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Cdtr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="CdtrAcct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="UltmtCdtr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="InstrForCdtrAgt" type="InstructionForCreditorAgent1" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="InstrForDbtrAgt" type="Max140Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Purp" type="Purpose1Choice" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="RgltryRptg" type="RegulatoryReporting2" minOccurs="0" maxOccurs="10"/>
|
||||
<xs:element name="Tax" type="TaxInformation2" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="RltdRmtInf" type="RemittanceLocation1" minOccurs="0" maxOccurs="10"/>
|
||||
<xs:element name="RmtInf" type="RemittanceInformation1" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CreditorReferenceInformation1">
|
||||
<xs:sequence>
|
||||
<xs:element name="CdtrRefTp" type="CreditorReferenceType1" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="CdtrRef" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CreditorReferenceType1">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="DocumentType3Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="CurrencyAndAmount_SimpleType">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:minInclusive value="0"/>
|
||||
<xs:fractionDigits value="5"/>
|
||||
<xs:totalDigits value="18"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="CurrencyAndAmount">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="CurrencyAndAmount_SimpleType">
|
||||
<xs:attribute name="Ccy" type="CurrencyCode" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="CurrencyCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{3,3}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="DateAndPlaceOfBirth">
|
||||
<xs:sequence>
|
||||
<xs:element name="BirthDt" type="ISODate"/>
|
||||
<xs:element name="PrvcOfBirth" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="CityOfBirth" type="Max35Text"/>
|
||||
<xs:element name="CtryOfBirth" type="CountryCode"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="DecimalNumber">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="17"/>
|
||||
<xs:totalDigits value="18"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Document">
|
||||
<xs:sequence>
|
||||
<xs:element name="pain.001.001.02" type="pain.001.001.02"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="DocumentType2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MSIN"/>
|
||||
<xs:enumeration value="CNFA"/>
|
||||
<xs:enumeration value="DNFA"/>
|
||||
<xs:enumeration value="CINV"/>
|
||||
<xs:enumeration value="CREN"/>
|
||||
<xs:enumeration value="DEBN"/>
|
||||
<xs:enumeration value="HIRI"/>
|
||||
<xs:enumeration value="SBIN"/>
|
||||
<xs:enumeration value="CMCN"/>
|
||||
<xs:enumeration value="SOAC"/>
|
||||
<xs:enumeration value="DISP"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="DocumentType3Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="RADM"/>
|
||||
<xs:enumeration value="RPIN"/>
|
||||
<xs:enumeration value="FXDR"/>
|
||||
<xs:enumeration value="DISP"/>
|
||||
<xs:enumeration value="PUOR"/>
|
||||
<xs:enumeration value="SCOR"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="DunsIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[0-9]{9,9}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="EANGLNIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[0-9]{13,13}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="EquivalentAmount">
|
||||
<xs:sequence>
|
||||
<xs:element name="Amt" type="CurrencyAndAmount"/>
|
||||
<xs:element name="CcyOfTrf" type="CurrencyCode"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ExchangeRateInformation1">
|
||||
<xs:sequence>
|
||||
<xs:element name="XchgRate" type="BaseOneRate" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="RateTp" type="ExchangeRateType1Code" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="CtrctId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ExchangeRateType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="SPOT"/>
|
||||
<xs:enumeration value="SALE"/>
|
||||
<xs:enumeration value="AGRD"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalClearingSystemMemberCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="35"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalLocalInstrumentCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="35"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalPurposeCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="35"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="FinancialInstitutionIdentification3">
|
||||
<xs:sequence>
|
||||
<xs:element name="BIC" type="BICIdentifier" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification3Choice" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Nm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="PrtryId" type="GenericIdentification3" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="FinancialInstitutionIdentification5Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="BIC" type="BICIdentifier"/>
|
||||
<xs:element name="ClrSysMmbId" type="ClearingSystemMemberIdentification3Choice"/>
|
||||
<xs:element name="NmAndAdr" type="NameAndAddress7"/>
|
||||
<xs:element name="PrtryId" type="GenericIdentification3"/>
|
||||
<xs:element name="CmbndId" type="FinancialInstitutionIdentification3"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericIdentification3">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max35Text"/>
|
||||
<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericIdentification4">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max35Text"/>
|
||||
<xs:element name="IdTp" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GroupHeader1">
|
||||
<xs:sequence>
|
||||
<xs:element name="MsgId" type="Max35Text"/>
|
||||
<xs:element name="CreDtTm" type="ISODateTime"/>
|
||||
<xs:element name="Authstn" type="Max128Text" minOccurs="0" maxOccurs="2"/>
|
||||
<xs:element name="BtchBookg" type="BatchBookingIndicator" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="NbOfTxs" type="Max15NumericText"/>
|
||||
<xs:element name="CtrlSum" type="DecimalNumber" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Grpg" type="Grouping1Code"/>
|
||||
<xs:element name="InitgPty" type="PartyIdentification8"/>
|
||||
<xs:element name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Grouping1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="SNGL"/>
|
||||
<xs:enumeration value="GRPD"/>
|
||||
<xs:enumeration value="MIXD"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="IBANIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[a-zA-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="IBEIIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{2,2}[B-DF-HJ-NP-TV-XZ0-9]{7,7}[0-9]{1,1}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ISODate">
|
||||
<xs:restriction base="xs:date"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ISODateTime">
|
||||
<xs:restriction base="xs:dateTime"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Instruction3Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CHQB"/>
|
||||
<xs:enumeration value="HOLD"/>
|
||||
<xs:enumeration value="PHOB"/>
|
||||
<xs:enumeration value="TELB"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="InstructionForCreditorAgent1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Cd" type="Instruction3Code" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="InstrInf" type="Max140Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="LocalInstrument1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalLocalInstrumentCode"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Max128Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="128"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max140Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="140"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max15NumericText">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[0-9]{1,15}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max16Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="16"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max256Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="256"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max34Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="34"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max35Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="35"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max3Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="3"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max70Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="70"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="NameAndAddress3">
|
||||
<xs:sequence>
|
||||
<xs:element name="Nm" type="Max70Text"/>
|
||||
<xs:element name="Adr" type="PostalAddress1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="NameAndAddress7">
|
||||
<xs:sequence>
|
||||
<xs:element name="Nm" type="Max70Text"/>
|
||||
<xs:element name="PstlAdr" type="PostalAddress1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="OrganisationIdentification2">
|
||||
<xs:sequence>
|
||||
<xs:element name="BIC" type="BICIdentifier" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="IBEI" type="IBEIIdentifier" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="BEI" type="BEIIdentifier" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="EANGLN" type="EANGLNIdentifier" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="USCHU" type="CHIPSUniversalIdentifier" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="DUNS" type="DunsIdentifier" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="BkPtyId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="TaxIdNb" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="PrtryId" type="GenericIdentification3" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="Party2Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="OrgId" type="OrganisationIdentification2"/>
|
||||
<xs:element name="PrvtId" type="PersonIdentification3" minOccurs="1" maxOccurs="4"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PartyIdentification8">
|
||||
<xs:sequence>
|
||||
<xs:element name="Nm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="PstlAdr" type="PostalAddress1" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Id" type="Party2Choice" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="CtryOfRes" type="CountryCode" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PaymentCategoryPurpose1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CORT"/>
|
||||
<xs:enumeration value="SALA"/>
|
||||
<xs:enumeration value="TREA"/>
|
||||
<xs:enumeration value="CASH"/>
|
||||
<xs:enumeration value="DIVI"/>
|
||||
<xs:enumeration value="GOVT"/>
|
||||
<xs:enumeration value="INTE"/>
|
||||
<xs:enumeration value="LOAN"/>
|
||||
<xs:enumeration value="PENS"/>
|
||||
<xs:enumeration value="SECU"/>
|
||||
<xs:enumeration value="SSBE"/>
|
||||
<xs:enumeration value="SUPP"/>
|
||||
<xs:enumeration value="TAXS"/>
|
||||
<xs:enumeration value="TRAD"/>
|
||||
<xs:enumeration value="VATX"/>
|
||||
<xs:enumeration value="HEDG"/>
|
||||
<xs:enumeration value="INTC"/>
|
||||
<xs:enumeration value="WHLD"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PaymentIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="InstrId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="EndToEndId" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PaymentInstructionInformation1">
|
||||
<xs:sequence>
|
||||
<xs:element name="PmtInfId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="PmtMtd" type="PaymentMethod3Code"/>
|
||||
<xs:element name="PmtTpInf" type="PaymentTypeInformation1" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="ReqdExctnDt" type="ISODate"/>
|
||||
<xs:element name="PoolgAdjstmntDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Dbtr" type="PartyIdentification8"/>
|
||||
<xs:element name="DbtrAcct" type="CashAccount7"/>
|
||||
<xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification3"/>
|
||||
<xs:element name="DbtrAgtAcct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="UltmtDbtr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="ChrgBr" type="ChargeBearerType1Code" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="ChrgsAcct" type="CashAccount7" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification3" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="CdtTrfTxInf" type="CreditTransferTransactionInformation1" minOccurs="1" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PaymentMethod3Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CHK"/>
|
||||
<xs:enumeration value="TRF"/>
|
||||
<xs:enumeration value="TRA"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PaymentTypeInformation1">
|
||||
<xs:sequence>
|
||||
<xs:element name="InstrPrty" type="Priority2Code" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:choice>
|
||||
<xs:element name="SvcLvl" type="ServiceLevel2Choice" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="ClrChanl" type="ClearingChannel2Code" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:choice>
|
||||
<xs:element name="LclInstrm" type="LocalInstrument1Choice" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="CtgyPurp" type="PaymentCategoryPurpose1Code" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PercentageRate">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="10"/>
|
||||
<xs:totalDigits value="11"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PersonIdentification3">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="DrvrsLicNb" type="Max35Text"/>
|
||||
<xs:element name="CstmrNb" type="Max35Text"/>
|
||||
<xs:element name="SclSctyNb" type="Max35Text"/>
|
||||
<xs:element name="AlnRegnNb" type="Max35Text"/>
|
||||
<xs:element name="PsptNb" type="Max35Text"/>
|
||||
<xs:element name="TaxIdNb" type="Max35Text"/>
|
||||
<xs:element name="IdntyCardNb" type="Max35Text"/>
|
||||
<xs:element name="MplyrIdNb" type="Max35Text"/>
|
||||
<xs:element name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/>
|
||||
<xs:element name="OthrId" type="GenericIdentification4"/>
|
||||
</xs:choice>
|
||||
<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PostalAddress1">
|
||||
<xs:sequence>
|
||||
<xs:element name="AdrTp" type="AddressType2Code" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="AdrLine" type="Max70Text" minOccurs="0" maxOccurs="5"/>
|
||||
<xs:element name="StrtNm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="BldgNb" type="Max16Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="PstCd" type="Max16Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="TwnNm" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="CtrySubDvsn" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Ctry" type="CountryCode"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Priority2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="HIGH"/>
|
||||
<xs:enumeration value="NORM"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Purpose1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalPurposeCode"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ReferredDocumentAmount1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="DuePyblAmt" type="CurrencyAndAmount"/>
|
||||
<xs:element name="DscntApldAmt" type="CurrencyAndAmount"/>
|
||||
<xs:element name="RmtdAmt" type="CurrencyAndAmount"/>
|
||||
<xs:element name="CdtNoteAmt" type="CurrencyAndAmount"/>
|
||||
<xs:element name="TaxAmt" type="CurrencyAndAmount"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ReferredDocumentInformation1">
|
||||
<xs:sequence>
|
||||
<xs:element name="RfrdDocTp" type="ReferredDocumentType1" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="RfrdDocNb" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ReferredDocumentType1">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="DocumentType2Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
<xs:element name="Issr" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RegulatoryAuthority">
|
||||
<xs:sequence>
|
||||
<xs:element name="AuthrtyNm" type="Max70Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="AuthrtyCtry" type="CountryCode" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RegulatoryReporting2">
|
||||
<xs:sequence>
|
||||
<xs:element name="DbtCdtRptgInd" type="RegulatoryReportingType1Code" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Authrty" type="RegulatoryAuthority" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="RgltryDtls" type="StructuredRegulatoryReporting2" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="RegulatoryReportingType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CRED"/>
|
||||
<xs:enumeration value="DEBT"/>
|
||||
<xs:enumeration value="BOTH"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="RemittanceInformation1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Ustrd" type="Max140Text" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="Strd" type="StructuredRemittanceInformation6" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RemittanceLocation1">
|
||||
<xs:sequence>
|
||||
<xs:element name="RmtId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="RmtLctnMtd" type="RemittanceLocationMethod1Code" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="RmtLctnElctrncAdr" type="Max256Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="RmtLctnPstlAdr" type="NameAndAddress3" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="RemittanceLocationMethod1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="FAXI"/>
|
||||
<xs:enumeration value="EDIC"/>
|
||||
<xs:enumeration value="URID"/>
|
||||
<xs:enumeration value="EMAL"/>
|
||||
<xs:enumeration value="POST"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ServiceLevel1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="SEPA"/>
|
||||
<xs:enumeration value="SDVA"/>
|
||||
<xs:enumeration value="PRPT"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ServiceLevel2Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ServiceLevel1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="SimpleIdentificationInformation2">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max34Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="StructuredRegulatoryReporting2">
|
||||
<xs:sequence>
|
||||
<xs:element name="Cd" type="Max3Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Amt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Inf" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="StructuredRemittanceInformation6">
|
||||
<xs:sequence>
|
||||
<xs:element name="RfrdDocInf" type="ReferredDocumentInformation1" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="RfrdDocRltdDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="RfrdDocAmt" type="ReferredDocumentAmount1Choice" minOccurs="0" maxOccurs="unbounded"/>
|
||||
<xs:element name="CdtrRefInf" type="CreditorReferenceInformation1" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Invcr" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Invcee" type="PartyIdentification8" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="AddtlRmtInf" type="Max140Text" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxDetails">
|
||||
<xs:sequence>
|
||||
<xs:element name="CertId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="TaxTp" type="TaxType" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxInformation2">
|
||||
<xs:sequence>
|
||||
<xs:element name="CdtrTaxId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="CdtrTaxTp" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="DbtrTaxId" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="TaxRefNb" type="Max140Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="TtlTaxblBaseAmt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="TtlTaxAmt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="TaxDt" type="ISODate" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="TaxTpInf" type="TaxDetails" minOccurs="0" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxType">
|
||||
<xs:sequence>
|
||||
<xs:element name="CtgyDesc" type="Max35Text" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Rate" type="PercentageRate" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="TaxblBaseAmt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
|
||||
<xs:element name="Amt" type="CurrencyAndAmount" minOccurs="0" maxOccurs="1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="UPICIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[0-9]{8,17}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="pain.001.001.02">
|
||||
<xs:sequence>
|
||||
<xs:element name="GrpHdr" type="GroupHeader1"/>
|
||||
<xs:element name="PmtInf" type="PaymentInstructionInformation1" minOccurs="1" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:schema>
|
||||
@@ -0,0 +1,921 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!--Generated by SWIFTStandards Workstation (build:R6.1.0.2) on 2009 Jan 08 17:30:53-->
|
||||
<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03">
|
||||
<xs:element name="Document" type="Document"/>
|
||||
<xs:complexType name="AccountIdentification4Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="IBAN" type="IBAN2007Identifier"/>
|
||||
<xs:element name="Othr" type="GenericAccountIdentification1"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="AccountSchemeName1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalAccountIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:minInclusive value="0"/>
|
||||
<xs:fractionDigits value="5"/>
|
||||
<xs:totalDigits value="18"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ActiveOrHistoricCurrencyAndAmount">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="ActiveOrHistoricCurrencyAndAmount_SimpleType">
|
||||
<xs:attribute name="Ccy" type="ActiveOrHistoricCurrencyCode" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ActiveOrHistoricCurrencyCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{3,3}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="AddressType2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="ADDR"/>
|
||||
<xs:enumeration value="PBOX"/>
|
||||
<xs:enumeration value="HOME"/>
|
||||
<xs:enumeration value="BIZZ"/>
|
||||
<xs:enumeration value="MLTO"/>
|
||||
<xs:enumeration value="DLVY"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="AmountType3Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element name="EqvtAmt" type="EquivalentAmount2"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="AnyBICIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Authorisation1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="Authorisation1Code"/>
|
||||
<xs:element name="Prtry" type="Max128Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Authorisation1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="AUTH"/>
|
||||
<xs:enumeration value="FDET"/>
|
||||
<xs:enumeration value="FSUM"/>
|
||||
<xs:enumeration value="ILEV"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BICIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BaseOneRate">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="10"/>
|
||||
<xs:totalDigits value="11"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BatchBookingIndicator">
|
||||
<xs:restriction base="xs:boolean"/>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="BranchAndFinancialInstitutionIdentification4">
|
||||
<xs:sequence>
|
||||
<xs:element name="FinInstnId" type="FinancialInstitutionIdentification7"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData2"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="BranchData2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CashAccount16">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="AccountIdentification4Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CashAccountType2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ccy" type="ActiveOrHistoricCurrencyCode"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max70Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CashAccountType2">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="CashAccountType4Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="CashAccountType4Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CASH"/>
|
||||
<xs:enumeration value="CHAR"/>
|
||||
<xs:enumeration value="COMM"/>
|
||||
<xs:enumeration value="TAXE"/>
|
||||
<xs:enumeration value="CISH"/>
|
||||
<xs:enumeration value="TRAS"/>
|
||||
<xs:enumeration value="SACC"/>
|
||||
<xs:enumeration value="CACC"/>
|
||||
<xs:enumeration value="SVGS"/>
|
||||
<xs:enumeration value="ONDP"/>
|
||||
<xs:enumeration value="MGLD"/>
|
||||
<xs:enumeration value="NREX"/>
|
||||
<xs:enumeration value="MOMA"/>
|
||||
<xs:enumeration value="LOAN"/>
|
||||
<xs:enumeration value="SLRY"/>
|
||||
<xs:enumeration value="ODFT"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="CategoryPurpose1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalCategoryPurpose1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ChargeBearerType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="DEBT"/>
|
||||
<xs:enumeration value="CRED"/>
|
||||
<xs:enumeration value="SHAR"/>
|
||||
<xs:enumeration value="SLEV"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Cheque6">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqTp" type="ChequeType2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqNb" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqFr" type="NameAndAddress10"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DlvryMtd" type="ChequeDeliveryMethod1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DlvrTo" type="NameAndAddress10"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqMtrtyDt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
|
||||
<xs:element maxOccurs="2" minOccurs="0" name="MemoFld" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RgnlClrZone" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PrtLctn" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ChequeDelivery1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MLDB"/>
|
||||
<xs:enumeration value="MLCD"/>
|
||||
<xs:enumeration value="MLFA"/>
|
||||
<xs:enumeration value="CRDB"/>
|
||||
<xs:enumeration value="CRCD"/>
|
||||
<xs:enumeration value="CRFA"/>
|
||||
<xs:enumeration value="PUDB"/>
|
||||
<xs:enumeration value="PUCD"/>
|
||||
<xs:enumeration value="PUFA"/>
|
||||
<xs:enumeration value="RGDB"/>
|
||||
<xs:enumeration value="RGCD"/>
|
||||
<xs:enumeration value="RGFA"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ChequeDeliveryMethod1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ChequeDelivery1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ChequeType2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CCHQ"/>
|
||||
<xs:enumeration value="CCCH"/>
|
||||
<xs:enumeration value="BCHQ"/>
|
||||
<xs:enumeration value="DRFT"/>
|
||||
<xs:enumeration value="ELDR"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ClearingSystemIdentification2Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ClearingSystemMemberIdentification2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/>
|
||||
<xs:element name="MmbId" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ContactDetails2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Othr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="CountryCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{2,2}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="CreditDebitCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CRDT"/>
|
||||
<xs:enumeration value="DBIT"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="CreditTransferTransactionInformation10">
|
||||
<xs:sequence>
|
||||
<xs:element name="PmtId" type="PaymentIdentification1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/>
|
||||
<xs:element name="Amt" type="AmountType3Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="XchgRateInf" type="ExchangeRateInformation1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqInstr" type="Cheque6"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification32"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification4"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1Acct" type="CashAccount16"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification4"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2Acct" type="CashAccount16"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification4"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3Acct" type="CashAccount16"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification4"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount16"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="PartyIdentification32"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtrAcct" type="CashAccount16"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification32"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="InstrForCdtrAgt" type="InstructionForCreditorAgent1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/>
|
||||
<xs:element maxOccurs="10" minOccurs="0" name="RgltryRptg" type="RegulatoryReporting3"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tax" type="TaxInformation3"/>
|
||||
<xs:element maxOccurs="10" minOccurs="0" name="RltdRmtInf" type="RemittanceLocation2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation5"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CreditorReferenceInformation2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CreditorReferenceType1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="DocumentType3Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CreditorReferenceType2">
|
||||
<xs:sequence>
|
||||
<xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CustomerCreditTransferInitiationV03">
|
||||
<xs:sequence>
|
||||
<xs:element name="GrpHdr" type="GroupHeader32"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="1" name="PmtInf" type="PaymentInstructionInformation3"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="DateAndPlaceOfBirth">
|
||||
<xs:sequence>
|
||||
<xs:element name="BirthDt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/>
|
||||
<xs:element name="CityOfBirth" type="Max35Text"/>
|
||||
<xs:element name="CtryOfBirth" type="CountryCode"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="DatePeriodDetails">
|
||||
<xs:sequence>
|
||||
<xs:element name="FrDt" type="ISODate"/>
|
||||
<xs:element name="ToDt" type="ISODate"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="DecimalNumber">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="17"/>
|
||||
<xs:totalDigits value="18"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Document">
|
||||
<xs:sequence>
|
||||
<xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV03"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="DocumentAdjustment1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="DocumentType3Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="RADM"/>
|
||||
<xs:enumeration value="RPIN"/>
|
||||
<xs:enumeration value="FXDR"/>
|
||||
<xs:enumeration value="DISP"/>
|
||||
<xs:enumeration value="PUOR"/>
|
||||
<xs:enumeration value="SCOR"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="DocumentType5Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MSIN"/>
|
||||
<xs:enumeration value="CNFA"/>
|
||||
<xs:enumeration value="DNFA"/>
|
||||
<xs:enumeration value="CINV"/>
|
||||
<xs:enumeration value="CREN"/>
|
||||
<xs:enumeration value="DEBN"/>
|
||||
<xs:enumeration value="HIRI"/>
|
||||
<xs:enumeration value="SBIN"/>
|
||||
<xs:enumeration value="CMCN"/>
|
||||
<xs:enumeration value="SOAC"/>
|
||||
<xs:enumeration value="DISP"/>
|
||||
<xs:enumeration value="BOLD"/>
|
||||
<xs:enumeration value="VCHR"/>
|
||||
<xs:enumeration value="AROI"/>
|
||||
<xs:enumeration value="TSUT"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="EquivalentAmount2">
|
||||
<xs:sequence>
|
||||
<xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ExchangeRateInformation1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="XchgRate" type="BaseOneRate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RateTp" type="ExchangeRateType1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtrctId" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ExchangeRateType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="SPOT"/>
|
||||
<xs:enumeration value="SALE"/>
|
||||
<xs:enumeration value="AGRD"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalAccountIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalCategoryPurpose1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalClearingSystemIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="5"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalLocalInstrument1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="35"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalOrganisationIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalPersonIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalPurpose1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalServiceLevel1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="FinancialIdentificationSchemeName1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="FinancialInstitutionIdentification7">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="BIC" type="BICIdentifier"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericAccountIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max34Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericFinancialIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericOrganisationIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericPersonIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GroupHeader32">
|
||||
<xs:sequence>
|
||||
<xs:element name="MsgId" type="Max35Text"/>
|
||||
<xs:element name="CreDtTm" type="ISODateTime"/>
|
||||
<xs:element maxOccurs="2" minOccurs="0" name="Authstn" type="Authorisation1Choice"/>
|
||||
<xs:element name="NbOfTxs" type="Max15NumericText"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
|
||||
<xs:element name="InitgPty" type="PartyIdentification32"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification4"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="IBAN2007Identifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ISODate">
|
||||
<xs:restriction base="xs:date"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ISODateTime">
|
||||
<xs:restriction base="xs:dateTime"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Instruction3Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CHQB"/>
|
||||
<xs:enumeration value="HOLD"/>
|
||||
<xs:enumeration value="PHOB"/>
|
||||
<xs:enumeration value="TELB"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="InstructionForCreditorAgent1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Instruction3Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="LocalInstrument2Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalLocalInstrument1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Max10Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="10"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max128Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="128"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max140Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="140"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max15NumericText">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[0-9]{1,15}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max16Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="16"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max2048Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="2048"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max34Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="34"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max35Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="35"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max4Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max70Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="70"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="NameAndAddress10">
|
||||
<xs:sequence>
|
||||
<xs:element name="Nm" type="Max140Text"/>
|
||||
<xs:element name="Adr" type="PostalAddress6"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="NamePrefix1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="DOCT"/>
|
||||
<xs:enumeration value="MIST"/>
|
||||
<xs:enumeration value="MISS"/>
|
||||
<xs:enumeration value="MADM"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Number">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="0"/>
|
||||
<xs:totalDigits value="18"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="OrganisationIdentification4">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="BICOrBEI" type="AnyBICIdentifier"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="OrganisationIdentificationSchemeName1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="Party6Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="OrgId" type="OrganisationIdentification4"/>
|
||||
<xs:element name="PrvtId" type="PersonIdentification5"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PartyIdentification32">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party6Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="ContactDetails2"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PaymentIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrId" type="Max35Text"/>
|
||||
<xs:element name="EndToEndId" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PaymentInstructionInformation3">
|
||||
<xs:sequence>
|
||||
<xs:element name="PmtInfId" type="Max35Text"/>
|
||||
<xs:element name="PmtMtd" type="PaymentMethod3Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="BtchBookg" type="BatchBookingIndicator"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="NbOfTxs" type="Max15NumericText"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/>
|
||||
<xs:element name="ReqdExctnDt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PoolgAdjstmntDt" type="ISODate"/>
|
||||
<xs:element name="Dbtr" type="PartyIdentification32"/>
|
||||
<xs:element name="DbtrAcct" type="CashAccount16"/>
|
||||
<xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification4"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount16"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification32"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcct" type="CashAccount16"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification4"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="1" name="CdtTrfTxInf" type="CreditTransferTransactionInformation10"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PaymentMethod3Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CHK"/>
|
||||
<xs:enumeration value="TRF"/>
|
||||
<xs:enumeration value="TRA"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PaymentTypeInformation19">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PercentageRate">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="10"/>
|
||||
<xs:totalDigits value="11"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PersonIdentification5">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PersonIdentificationSchemeName1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalPersonIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PhoneNumber">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PostalAddress6">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
|
||||
<xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Priority2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="HIGH"/>
|
||||
<xs:enumeration value="NORM"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Purpose2Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalPurpose1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ReferredDocumentInformation3">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ReferredDocumentType1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="DocumentType5Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ReferredDocumentType2">
|
||||
<xs:sequence>
|
||||
<xs:element name="CdOrPrtry" type="ReferredDocumentType1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RegulatoryAuthority2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RegulatoryReporting3">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DbtCdtRptgInd" type="RegulatoryReportingType1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Authrty" type="RegulatoryAuthority2"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="StructuredRegulatoryReporting3"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="RegulatoryReportingType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CRED"/>
|
||||
<xs:enumeration value="DEBT"/>
|
||||
<xs:enumeration value="BOTH"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="RemittanceAmount1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DscntApldAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RemittanceInformation5">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation7"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RemittanceLocation2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtLctnMtd" type="RemittanceLocationMethod2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtLctnElctrncAdr" type="Max2048Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtLctnPstlAdr" type="NameAndAddress10"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="RemittanceLocationMethod2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="FAXI"/>
|
||||
<xs:enumeration value="EDIC"/>
|
||||
<xs:enumeration value="URID"/>
|
||||
<xs:enumeration value="EMAL"/>
|
||||
<xs:enumeration value="POST"/>
|
||||
<xs:enumeration value="SMSM"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ServiceLevel8Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalServiceLevel1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="StructuredRegulatoryReporting3">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Max10Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Inf" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="StructuredRemittanceInformation7">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation3"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification32"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification32"/>
|
||||
<xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxAmount1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxAuthorisation1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxInformation3">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AdmstnZn" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxParty1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxParty2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxPeriod1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriodDetails"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxRecord1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxRecordDetails1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
|
||||
<xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="TaxRecordPeriod1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MM01"/>
|
||||
<xs:enumeration value="MM02"/>
|
||||
<xs:enumeration value="MM03"/>
|
||||
<xs:enumeration value="MM04"/>
|
||||
<xs:enumeration value="MM05"/>
|
||||
<xs:enumeration value="MM06"/>
|
||||
<xs:enumeration value="MM07"/>
|
||||
<xs:enumeration value="MM08"/>
|
||||
<xs:enumeration value="MM09"/>
|
||||
<xs:enumeration value="MM10"/>
|
||||
<xs:enumeration value="MM11"/>
|
||||
<xs:enumeration value="MM12"/>
|
||||
<xs:enumeration value="QTR1"/>
|
||||
<xs:enumeration value="QTR2"/>
|
||||
<xs:enumeration value="QTR3"/>
|
||||
<xs:enumeration value="QTR4"/>
|
||||
<xs:enumeration value="HLF1"/>
|
||||
<xs:enumeration value="HLF2"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
@@ -0,0 +1,968 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--Generated by SWIFTStandards Workstation (build:R7.1.30.4) on 2012 Jun 07 20:47:19-->
|
||||
<xs:schema elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.04" xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.04" xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:element name="Document" type="Document"/>
|
||||
<xs:complexType name="AccountIdentification4Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="IBAN" type="IBAN2007Identifier"/>
|
||||
<xs:element name="Othr" type="GenericAccountIdentification1"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="AccountSchemeName1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalAccountIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="5"/>
|
||||
<xs:totalDigits value="18"/>
|
||||
<xs:minInclusive value="0"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ActiveOrHistoricCurrencyAndAmount">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="ActiveOrHistoricCurrencyAndAmount_SimpleType">
|
||||
<xs:attribute name="Ccy" type="ActiveOrHistoricCurrencyCode" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ActiveOrHistoricCurrencyCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{3,3}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="AddressType2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="ADDR"/>
|
||||
<xs:enumeration value="PBOX"/>
|
||||
<xs:enumeration value="HOME"/>
|
||||
<xs:enumeration value="BIZZ"/>
|
||||
<xs:enumeration value="MLTO"/>
|
||||
<xs:enumeration value="DLVY"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="AmountType3Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element name="EqvtAmt" type="EquivalentAmount2"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="AnyBICIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Authorisation1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="Authorisation1Code"/>
|
||||
<xs:element name="Prtry" type="Max128Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Authorisation1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="AUTH"/>
|
||||
<xs:enumeration value="FDET"/>
|
||||
<xs:enumeration value="FSUM"/>
|
||||
<xs:enumeration value="ILEV"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BICFIIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BaseOneRate">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="10"/>
|
||||
<xs:totalDigits value="11"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BatchBookingIndicator">
|
||||
<xs:restriction base="xs:boolean"/>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="BranchAndFinancialInstitutionIdentification5">
|
||||
<xs:sequence>
|
||||
<xs:element name="FinInstnId" type="FinancialInstitutionIdentification8"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData2"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="BranchData2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CashAccount24">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="AccountIdentification4Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CashAccountType2Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ccy" type="ActiveOrHistoricCurrencyCode"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max70Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CashAccountType2Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalCashAccountType1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CategoryPurpose1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalCategoryPurpose1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ChargeBearerType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="DEBT"/>
|
||||
<xs:enumeration value="CRED"/>
|
||||
<xs:enumeration value="SHAR"/>
|
||||
<xs:enumeration value="SLEV"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Cheque7">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqTp" type="ChequeType2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqNb" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqFr" type="NameAndAddress10"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DlvryMtd" type="ChequeDeliveryMethod1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DlvrTo" type="NameAndAddress10"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqMtrtyDt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
|
||||
<xs:element maxOccurs="2" minOccurs="0" name="MemoFld" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RgnlClrZone" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PrtLctn" type="Max35Text"/>
|
||||
<xs:element maxOccurs="5" minOccurs="0" name="Sgntr" type="Max70Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ChequeDelivery1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MLDB"/>
|
||||
<xs:enumeration value="MLCD"/>
|
||||
<xs:enumeration value="MLFA"/>
|
||||
<xs:enumeration value="CRDB"/>
|
||||
<xs:enumeration value="CRCD"/>
|
||||
<xs:enumeration value="CRFA"/>
|
||||
<xs:enumeration value="PUDB"/>
|
||||
<xs:enumeration value="PUCD"/>
|
||||
<xs:enumeration value="PUFA"/>
|
||||
<xs:enumeration value="RGDB"/>
|
||||
<xs:enumeration value="RGCD"/>
|
||||
<xs:enumeration value="RGFA"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ChequeDeliveryMethod1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ChequeDelivery1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ChequeType2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CCHQ"/>
|
||||
<xs:enumeration value="CCCH"/>
|
||||
<xs:enumeration value="BCHQ"/>
|
||||
<xs:enumeration value="DRFT"/>
|
||||
<xs:enumeration value="ELDR"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ClearingSystemIdentification2Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ClearingSystemMemberIdentification2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/>
|
||||
<xs:element name="MmbId" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ContactDetails2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Othr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="CountryCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{2,2}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="CreditDebitCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CRDT"/>
|
||||
<xs:enumeration value="DBIT"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="CreditTransferTransaction1">
|
||||
<xs:sequence>
|
||||
<xs:element name="PmtId" type="PaymentIdentification1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/>
|
||||
<xs:element name="Amt" type="AmountType3Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="XchgRateInf" type="ExchangeRate1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqInstr" type="Cheque7"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1Acct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2Acct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3Acct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtrAcct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="InstrForCdtrAgt" type="InstructionForCreditorAgent1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/>
|
||||
<xs:element maxOccurs="10" minOccurs="0" name="RgltryRptg" type="RegulatoryReporting3"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tax" type="TaxInformation3"/>
|
||||
<xs:element maxOccurs="10" minOccurs="0" name="RltdRmtInf" type="RemittanceLocation2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation7"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CreditorReferenceInformation2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CreditorReferenceType1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="DocumentType3Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CreditorReferenceType2">
|
||||
<xs:sequence>
|
||||
<xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CustomerCreditTransferInitiationV04">
|
||||
<xs:sequence>
|
||||
<xs:element name="GrpHdr" type="GroupHeader48"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="1" name="PmtInf" type="PaymentInstruction6"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="DateAndPlaceOfBirth">
|
||||
<xs:sequence>
|
||||
<xs:element name="BirthDt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/>
|
||||
<xs:element name="CityOfBirth" type="Max35Text"/>
|
||||
<xs:element name="CtryOfBirth" type="CountryCode"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="DatePeriodDetails">
|
||||
<xs:sequence>
|
||||
<xs:element name="FrDt" type="ISODate"/>
|
||||
<xs:element name="ToDt" type="ISODate"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="DecimalNumber">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="17"/>
|
||||
<xs:totalDigits value="18"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="DiscountAmountAndType1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DiscountAmountType1Choice"/>
|
||||
<xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="DiscountAmountType1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalDiscountAmountType1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="Document">
|
||||
<xs:sequence>
|
||||
<xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV04"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="DocumentAdjustment1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="DocumentType3Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="RADM"/>
|
||||
<xs:enumeration value="RPIN"/>
|
||||
<xs:enumeration value="FXDR"/>
|
||||
<xs:enumeration value="DISP"/>
|
||||
<xs:enumeration value="PUOR"/>
|
||||
<xs:enumeration value="SCOR"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="DocumentType5Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MSIN"/>
|
||||
<xs:enumeration value="CNFA"/>
|
||||
<xs:enumeration value="DNFA"/>
|
||||
<xs:enumeration value="CINV"/>
|
||||
<xs:enumeration value="CREN"/>
|
||||
<xs:enumeration value="DEBN"/>
|
||||
<xs:enumeration value="HIRI"/>
|
||||
<xs:enumeration value="SBIN"/>
|
||||
<xs:enumeration value="CMCN"/>
|
||||
<xs:enumeration value="SOAC"/>
|
||||
<xs:enumeration value="DISP"/>
|
||||
<xs:enumeration value="BOLD"/>
|
||||
<xs:enumeration value="VCHR"/>
|
||||
<xs:enumeration value="AROI"/>
|
||||
<xs:enumeration value="TSUT"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="EquivalentAmount2">
|
||||
<xs:sequence>
|
||||
<xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ExchangeRate1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="UnitCcy" type="ActiveOrHistoricCurrencyCode"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="XchgRate" type="BaseOneRate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RateTp" type="ExchangeRateType1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtrctId" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ExchangeRateType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="SPOT"/>
|
||||
<xs:enumeration value="SALE"/>
|
||||
<xs:enumeration value="AGRD"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalAccountIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalCashAccountType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalCategoryPurpose1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalClearingSystemIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="5"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalDiscountAmountType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalLocalInstrument1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="35"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalOrganisationIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalPersonIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalPurpose1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalServiceLevel1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalTaxAmountType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="FinancialIdentificationSchemeName1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="FinancialInstitutionIdentification8">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="BICFI" type="BICFIIdentifier"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericAccountIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max34Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericFinancialIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericOrganisationIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericPersonIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GroupHeader48">
|
||||
<xs:sequence>
|
||||
<xs:element name="MsgId" type="Max35Text"/>
|
||||
<xs:element name="CreDtTm" type="ISODateTime"/>
|
||||
<xs:element maxOccurs="2" minOccurs="0" name="Authstn" type="Authorisation1Choice"/>
|
||||
<xs:element name="NbOfTxs" type="Max15NumericText"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
|
||||
<xs:element name="InitgPty" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="IBAN2007Identifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ISODate">
|
||||
<xs:restriction base="xs:date"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ISODateTime">
|
||||
<xs:restriction base="xs:dateTime"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Instruction3Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CHQB"/>
|
||||
<xs:enumeration value="HOLD"/>
|
||||
<xs:enumeration value="PHOB"/>
|
||||
<xs:enumeration value="TELB"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="InstructionForCreditorAgent1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Instruction3Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="LocalInstrument2Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalLocalInstrument1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Max10Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="10"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max128Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="128"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max140Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="140"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max15NumericText">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[0-9]{1,15}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max16Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="16"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max2048Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="2048"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max34Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="34"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max350Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="350"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max35Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="35"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max4Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max70Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="70"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="NameAndAddress10">
|
||||
<xs:sequence>
|
||||
<xs:element name="Nm" type="Max140Text"/>
|
||||
<xs:element name="Adr" type="PostalAddress6"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="NamePrefix1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="DOCT"/>
|
||||
<xs:enumeration value="MIST"/>
|
||||
<xs:enumeration value="MISS"/>
|
||||
<xs:enumeration value="MADM"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Number">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="0"/>
|
||||
<xs:totalDigits value="18"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="OrganisationIdentification8">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AnyBIC" type="AnyBICIdentifier"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="OrganisationIdentificationSchemeName1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="Party11Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="OrgId" type="OrganisationIdentification8"/>
|
||||
<xs:element name="PrvtId" type="PersonIdentification5"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PartyIdentification43">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party11Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="ContactDetails2"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PaymentIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrId" type="Max35Text"/>
|
||||
<xs:element name="EndToEndId" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PaymentInstruction6">
|
||||
<xs:sequence>
|
||||
<xs:element name="PmtInfId" type="Max35Text"/>
|
||||
<xs:element name="PmtMtd" type="PaymentMethod3Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="BtchBookg" type="BatchBookingIndicator"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="NbOfTxs" type="Max15NumericText"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/>
|
||||
<xs:element name="ReqdExctnDt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PoolgAdjstmntDt" type="ISODate"/>
|
||||
<xs:element name="Dbtr" type="PartyIdentification43"/>
|
||||
<xs:element name="DbtrAcct" type="CashAccount24"/>
|
||||
<xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="1" name="CdtTrfTxInf" type="CreditTransferTransaction1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PaymentMethod3Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CHK"/>
|
||||
<xs:enumeration value="TRF"/>
|
||||
<xs:enumeration value="TRA"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PaymentTypeInformation19">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PercentageRate">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="10"/>
|
||||
<xs:totalDigits value="11"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PersonIdentification5">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PersonIdentificationSchemeName1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalPersonIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PhoneNumber">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PostalAddress6">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
|
||||
<xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Priority2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="HIGH"/>
|
||||
<xs:enumeration value="NORM"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Purpose2Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalPurpose1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ReferredDocumentInformation3">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ReferredDocumentType1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="DocumentType5Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ReferredDocumentType2">
|
||||
<xs:sequence>
|
||||
<xs:element name="CdOrPrtry" type="ReferredDocumentType1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RegulatoryAuthority2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RegulatoryReporting3">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DbtCdtRptgInd" type="RegulatoryReportingType1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Authrty" type="RegulatoryAuthority2"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="StructuredRegulatoryReporting3"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="RegulatoryReportingType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CRED"/>
|
||||
<xs:enumeration value="DEBT"/>
|
||||
<xs:enumeration value="BOTH"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="RemittanceAmount2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RemittanceInformation7">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation9"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RemittanceLocation2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtLctnMtd" type="RemittanceLocationMethod2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtLctnElctrncAdr" type="Max2048Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtLctnPstlAdr" type="NameAndAddress10"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="RemittanceLocationMethod2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="FAXI"/>
|
||||
<xs:enumeration value="EDIC"/>
|
||||
<xs:enumeration value="URID"/>
|
||||
<xs:enumeration value="EMAL"/>
|
||||
<xs:enumeration value="POST"/>
|
||||
<xs:enumeration value="SMSM"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ServiceLevel8Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalServiceLevel1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="StructuredRegulatoryReporting3">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Max10Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Inf" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="StructuredRemittanceInformation9">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation3"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="SupplementaryData1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PlcAndNm" type="Max350Text"/>
|
||||
<xs:element name="Envlp" type="SupplementaryDataEnvelope1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="SupplementaryDataEnvelope1">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxAmount1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxAmountAndType1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxAmountType1Choice"/>
|
||||
<xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxAmountType1Choice">
|
||||
<xs:sequence>
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalTaxAmountType1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxAuthorisation1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxInformation3">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AdmstnZn" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxParty1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxParty2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxPeriod1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriodDetails"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxRecord1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxRecordDetails1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
|
||||
<xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="TaxRecordPeriod1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MM01"/>
|
||||
<xs:enumeration value="MM02"/>
|
||||
<xs:enumeration value="MM03"/>
|
||||
<xs:enumeration value="MM04"/>
|
||||
<xs:enumeration value="MM05"/>
|
||||
<xs:enumeration value="MM06"/>
|
||||
<xs:enumeration value="MM07"/>
|
||||
<xs:enumeration value="MM08"/>
|
||||
<xs:enumeration value="MM09"/>
|
||||
<xs:enumeration value="MM10"/>
|
||||
<xs:enumeration value="MM11"/>
|
||||
<xs:enumeration value="MM12"/>
|
||||
<xs:enumeration value="QTR1"/>
|
||||
<xs:enumeration value="QTR2"/>
|
||||
<xs:enumeration value="QTR3"/>
|
||||
<xs:enumeration value="QTR4"/>
|
||||
<xs:enumeration value="HLF1"/>
|
||||
<xs:enumeration value="HLF2"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
@@ -0,0 +1,931 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--Generated by Standards Editor (build:R1.0.41.3) on 2013 Mar 05 13:39:40, ISO 20022 version : 2013-->
|
||||
<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.05" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.05">
|
||||
<xs:element name="Document" type="Document"/>
|
||||
<xs:complexType name="AccountIdentification4Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="IBAN" type="IBAN2007Identifier"/>
|
||||
<xs:element name="Othr" type="GenericAccountIdentification1"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="AccountSchemeName1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalAccountIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="5"/>
|
||||
<xs:totalDigits value="18"/>
|
||||
<xs:minInclusive value="0"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ActiveOrHistoricCurrencyAndAmount">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="ActiveOrHistoricCurrencyAndAmount_SimpleType">
|
||||
<xs:attribute name="Ccy" type="ActiveOrHistoricCurrencyCode" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ActiveOrHistoricCurrencyCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{3,3}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="AddressType2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="ADDR"/>
|
||||
<xs:enumeration value="PBOX"/>
|
||||
<xs:enumeration value="HOME"/>
|
||||
<xs:enumeration value="BIZZ"/>
|
||||
<xs:enumeration value="MLTO"/>
|
||||
<xs:enumeration value="DLVY"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="AmountType3Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element name="EqvtAmt" type="EquivalentAmount2"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="AnyBICIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Authorisation1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="Authorisation1Code"/>
|
||||
<xs:element name="Prtry" type="Max128Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Authorisation1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="AUTH"/>
|
||||
<xs:enumeration value="FDET"/>
|
||||
<xs:enumeration value="FSUM"/>
|
||||
<xs:enumeration value="ILEV"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BICFIIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BaseOneRate">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="10"/>
|
||||
<xs:totalDigits value="11"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BatchBookingIndicator">
|
||||
<xs:restriction base="xs:boolean"/>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="BranchAndFinancialInstitutionIdentification5">
|
||||
<xs:sequence>
|
||||
<xs:element name="FinInstnId" type="FinancialInstitutionIdentification8"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData2"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="BranchData2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CashAccount24">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="AccountIdentification4Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CashAccountType2Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ccy" type="ActiveOrHistoricCurrencyCode"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max70Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CashAccountType2Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalCashAccountType1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CategoryPurpose1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalCategoryPurpose1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ChargeBearerType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="DEBT"/>
|
||||
<xs:enumeration value="CRED"/>
|
||||
<xs:enumeration value="SHAR"/>
|
||||
<xs:enumeration value="SLEV"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Cheque7">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqTp" type="ChequeType2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqNb" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqFr" type="NameAndAddress10"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DlvryMtd" type="ChequeDeliveryMethod1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DlvrTo" type="NameAndAddress10"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqMtrtyDt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
|
||||
<xs:element maxOccurs="2" minOccurs="0" name="MemoFld" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RgnlClrZone" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PrtLctn" type="Max35Text"/>
|
||||
<xs:element maxOccurs="5" minOccurs="0" name="Sgntr" type="Max70Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ChequeDelivery1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MLDB"/>
|
||||
<xs:enumeration value="MLCD"/>
|
||||
<xs:enumeration value="MLFA"/>
|
||||
<xs:enumeration value="CRDB"/>
|
||||
<xs:enumeration value="CRCD"/>
|
||||
<xs:enumeration value="CRFA"/>
|
||||
<xs:enumeration value="PUDB"/>
|
||||
<xs:enumeration value="PUCD"/>
|
||||
<xs:enumeration value="PUFA"/>
|
||||
<xs:enumeration value="RGDB"/>
|
||||
<xs:enumeration value="RGCD"/>
|
||||
<xs:enumeration value="RGFA"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ChequeDeliveryMethod1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ChequeDelivery1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ChequeType2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CCHQ"/>
|
||||
<xs:enumeration value="CCCH"/>
|
||||
<xs:enumeration value="BCHQ"/>
|
||||
<xs:enumeration value="DRFT"/>
|
||||
<xs:enumeration value="ELDR"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ClearingSystemIdentification2Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ClearingSystemMemberIdentification2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/>
|
||||
<xs:element name="MmbId" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ContactDetails2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Othr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="CountryCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{2,2}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="CreditDebitCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CRDT"/>
|
||||
<xs:enumeration value="DBIT"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="CreditTransferTransaction6">
|
||||
<xs:sequence>
|
||||
<xs:element name="PmtId" type="PaymentIdentification1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/>
|
||||
<xs:element name="Amt" type="AmountType3Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="XchgRateInf" type="ExchangeRate1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqInstr" type="Cheque7"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1Acct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2Acct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3Acct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtrAcct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="InstrForCdtrAgt" type="InstructionForCreditorAgent1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/>
|
||||
<xs:element maxOccurs="10" minOccurs="0" name="RgltryRptg" type="RegulatoryReporting3"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tax" type="TaxInformation3"/>
|
||||
<xs:element maxOccurs="10" minOccurs="0" name="RltdRmtInf" type="RemittanceLocation2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation7"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CreditorReferenceInformation2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CreditorReferenceType1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="DocumentType3Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CreditorReferenceType2">
|
||||
<xs:sequence>
|
||||
<xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CustomerCreditTransferInitiationV05">
|
||||
<xs:sequence>
|
||||
<xs:element name="GrpHdr" type="GroupHeader48"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="1" name="PmtInf" type="PaymentInstruction9"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="DateAndPlaceOfBirth">
|
||||
<xs:sequence>
|
||||
<xs:element name="BirthDt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/>
|
||||
<xs:element name="CityOfBirth" type="Max35Text"/>
|
||||
<xs:element name="CtryOfBirth" type="CountryCode"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="DatePeriodDetails">
|
||||
<xs:sequence>
|
||||
<xs:element name="FrDt" type="ISODate"/>
|
||||
<xs:element name="ToDt" type="ISODate"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="DecimalNumber">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="17"/>
|
||||
<xs:totalDigits value="18"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="DiscountAmountAndType1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DiscountAmountType1Choice"/>
|
||||
<xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="DiscountAmountType1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalDiscountAmountType1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="Document">
|
||||
<xs:sequence>
|
||||
<xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV05"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="DocumentAdjustment1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="DocumentType3Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="RADM"/>
|
||||
<xs:enumeration value="RPIN"/>
|
||||
<xs:enumeration value="FXDR"/>
|
||||
<xs:enumeration value="DISP"/>
|
||||
<xs:enumeration value="PUOR"/>
|
||||
<xs:enumeration value="SCOR"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="DocumentType5Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MSIN"/>
|
||||
<xs:enumeration value="CNFA"/>
|
||||
<xs:enumeration value="DNFA"/>
|
||||
<xs:enumeration value="CINV"/>
|
||||
<xs:enumeration value="CREN"/>
|
||||
<xs:enumeration value="DEBN"/>
|
||||
<xs:enumeration value="HIRI"/>
|
||||
<xs:enumeration value="SBIN"/>
|
||||
<xs:enumeration value="CMCN"/>
|
||||
<xs:enumeration value="SOAC"/>
|
||||
<xs:enumeration value="DISP"/>
|
||||
<xs:enumeration value="BOLD"/>
|
||||
<xs:enumeration value="VCHR"/>
|
||||
<xs:enumeration value="AROI"/>
|
||||
<xs:enumeration value="TSUT"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="EquivalentAmount2">
|
||||
<xs:sequence>
|
||||
<xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ExchangeRate1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="UnitCcy" type="ActiveOrHistoricCurrencyCode"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="XchgRate" type="BaseOneRate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RateTp" type="ExchangeRateType1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtrctId" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ExchangeRateType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="SPOT"/>
|
||||
<xs:enumeration value="SALE"/>
|
||||
<xs:enumeration value="AGRD"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalAccountIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalCashAccountType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalCategoryPurpose1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalClearingSystemIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="5"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalDiscountAmountType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalLocalInstrument1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="35"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalOrganisationIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalPersonIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalPurpose1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalServiceLevel1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalTaxAmountType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="FinancialIdentificationSchemeName1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="FinancialInstitutionIdentification8">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="BICFI" type="BICFIIdentifier"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericAccountIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max34Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericFinancialIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericOrganisationIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericPersonIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GroupHeader48">
|
||||
<xs:sequence>
|
||||
<xs:element name="MsgId" type="Max35Text"/>
|
||||
<xs:element name="CreDtTm" type="ISODateTime"/>
|
||||
<xs:element maxOccurs="2" minOccurs="0" name="Authstn" type="Authorisation1Choice"/>
|
||||
<xs:element name="NbOfTxs" type="Max15NumericText"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
|
||||
<xs:element name="InitgPty" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="IBAN2007Identifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ISODate">
|
||||
<xs:restriction base="xs:date"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ISODateTime">
|
||||
<xs:restriction base="xs:dateTime"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Instruction3Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CHQB"/>
|
||||
<xs:enumeration value="HOLD"/>
|
||||
<xs:enumeration value="PHOB"/>
|
||||
<xs:enumeration value="TELB"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="InstructionForCreditorAgent1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Instruction3Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="LocalInstrument2Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalLocalInstrument1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Max10Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="10"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max128Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="128"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max140Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="140"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max15NumericText">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[0-9]{1,15}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max16Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="16"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max2048Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="2048"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max34Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="34"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max350Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="350"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max35Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="35"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max4Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max70Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="70"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="NameAndAddress10">
|
||||
<xs:sequence>
|
||||
<xs:element name="Nm" type="Max140Text"/>
|
||||
<xs:element name="Adr" type="PostalAddress6"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="NamePrefix1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="DOCT"/>
|
||||
<xs:enumeration value="MIST"/>
|
||||
<xs:enumeration value="MISS"/>
|
||||
<xs:enumeration value="MADM"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Number">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="0"/>
|
||||
<xs:totalDigits value="18"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="OrganisationIdentification8">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AnyBIC" type="AnyBICIdentifier"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="OrganisationIdentificationSchemeName1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="Party11Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="OrgId" type="OrganisationIdentification8"/>
|
||||
<xs:element name="PrvtId" type="PersonIdentification5"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PartyIdentification43">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party11Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="ContactDetails2"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PaymentIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrId" type="Max35Text"/>
|
||||
<xs:element name="EndToEndId" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PaymentInstruction9">
|
||||
<xs:sequence>
|
||||
<xs:element name="PmtInfId" type="Max35Text"/>
|
||||
<xs:element name="PmtMtd" type="PaymentMethod3Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="BtchBookg" type="BatchBookingIndicator"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="NbOfTxs" type="Max15NumericText"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/>
|
||||
<xs:element name="ReqdExctnDt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PoolgAdjstmntDt" type="ISODate"/>
|
||||
<xs:element name="Dbtr" type="PartyIdentification43"/>
|
||||
<xs:element name="DbtrAcct" type="CashAccount24"/>
|
||||
<xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="1" name="CdtTrfTxInf" type="CreditTransferTransaction6"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PaymentMethod3Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CHK"/>
|
||||
<xs:enumeration value="TRF"/>
|
||||
<xs:enumeration value="TRA"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PaymentTypeInformation19">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PercentageRate">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="10"/>
|
||||
<xs:totalDigits value="11"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PersonIdentification5">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PersonIdentificationSchemeName1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalPersonIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PhoneNumber">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PostalAddress6">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
|
||||
<xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Priority2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="HIGH"/>
|
||||
<xs:enumeration value="NORM"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Purpose2Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalPurpose1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ReferredDocumentInformation3">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ReferredDocumentType1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="DocumentType5Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ReferredDocumentType2">
|
||||
<xs:sequence>
|
||||
<xs:element name="CdOrPrtry" type="ReferredDocumentType1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RegulatoryAuthority2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RegulatoryReporting3">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DbtCdtRptgInd" type="RegulatoryReportingType1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Authrty" type="RegulatoryAuthority2"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="StructuredRegulatoryReporting3"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="RegulatoryReportingType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CRED"/>
|
||||
<xs:enumeration value="DEBT"/>
|
||||
<xs:enumeration value="BOTH"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="RemittanceAmount2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RemittanceInformation7">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation9"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RemittanceLocation2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtLctnMtd" type="RemittanceLocationMethod2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtLctnElctrncAdr" type="Max2048Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtLctnPstlAdr" type="NameAndAddress10"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="RemittanceLocationMethod2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="FAXI"/>
|
||||
<xs:enumeration value="EDIC"/>
|
||||
<xs:enumeration value="URID"/>
|
||||
<xs:enumeration value="EMAL"/>
|
||||
<xs:enumeration value="POST"/>
|
||||
<xs:enumeration value="SMSM"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ServiceLevel8Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalServiceLevel1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="StructuredRegulatoryReporting3">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Max10Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Inf" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="StructuredRemittanceInformation9">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation3"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="SupplementaryData1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PlcAndNm" type="Max350Text"/>
|
||||
<xs:element name="Envlp" type="SupplementaryDataEnvelope1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="SupplementaryDataEnvelope1">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxAmount1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxAmountAndType1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxAmountType1Choice"/>
|
||||
<xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxAmountType1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalTaxAmountType1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxAuthorisation1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxInformation3">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AdmstnZn" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxParty1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxParty2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxPeriod1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriodDetails"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxRecord1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxRecordDetails1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
|
||||
<xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="TaxRecordPeriod1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MM01"/>
|
||||
<xs:enumeration value="MM02"/>
|
||||
<xs:enumeration value="MM03"/>
|
||||
<xs:enumeration value="MM04"/>
|
||||
<xs:enumeration value="MM05"/>
|
||||
<xs:enumeration value="MM06"/>
|
||||
<xs:enumeration value="MM07"/>
|
||||
<xs:enumeration value="MM08"/>
|
||||
<xs:enumeration value="MM09"/>
|
||||
<xs:enumeration value="MM10"/>
|
||||
<xs:enumeration value="MM11"/>
|
||||
<xs:enumeration value="MM12"/>
|
||||
<xs:enumeration value="QTR1"/>
|
||||
<xs:enumeration value="QTR2"/>
|
||||
<xs:enumeration value="QTR3"/>
|
||||
<xs:enumeration value="QTR4"/>
|
||||
<xs:enumeration value="HLF1"/>
|
||||
<xs:enumeration value="HLF2"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
@@ -0,0 +1,987 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--Generated by Standards Editor (build:R1.6.5.2_DEV) on 2015 Feb 24 14:08:25, ISO 20022 version : 2013-->
|
||||
<xs:schema xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.06" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.001.06">
|
||||
<xs:element name="Document" type="Document"/>
|
||||
<xs:complexType name="AccountIdentification4Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="IBAN" type="IBAN2007Identifier"/>
|
||||
<xs:element name="Othr" type="GenericAccountIdentification1"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="AccountSchemeName1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalAccountIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ActiveOrHistoricCurrencyAndAmount_SimpleType">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="5"/>
|
||||
<xs:totalDigits value="18"/>
|
||||
<xs:minInclusive value="0"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ActiveOrHistoricCurrencyAndAmount">
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="ActiveOrHistoricCurrencyAndAmount_SimpleType">
|
||||
<xs:attribute name="Ccy" type="ActiveOrHistoricCurrencyCode" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ActiveOrHistoricCurrencyCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{3,3}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="AddressType2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="ADDR"/>
|
||||
<xs:enumeration value="PBOX"/>
|
||||
<xs:enumeration value="HOME"/>
|
||||
<xs:enumeration value="BIZZ"/>
|
||||
<xs:enumeration value="MLTO"/>
|
||||
<xs:enumeration value="DLVY"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="AmountType4Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="InstdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element name="EqvtAmt" type="EquivalentAmount2"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="AnyBICIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Authorisation1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="Authorisation1Code"/>
|
||||
<xs:element name="Prtry" type="Max128Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Authorisation1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="AUTH"/>
|
||||
<xs:enumeration value="FDET"/>
|
||||
<xs:enumeration value="FSUM"/>
|
||||
<xs:enumeration value="ILEV"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BICFIIdentifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{6,6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3,3}){0,1}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BaseOneRate">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="10"/>
|
||||
<xs:totalDigits value="11"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="BatchBookingIndicator">
|
||||
<xs:restriction base="xs:boolean"/>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="BranchAndFinancialInstitutionIdentification5">
|
||||
<xs:sequence>
|
||||
<xs:element name="FinInstnId" type="FinancialInstitutionIdentification8"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="BrnchId" type="BranchData2"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="BranchData2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Id" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CashAccount24">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="AccountIdentification4Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CashAccountType2Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ccy" type="ActiveOrHistoricCurrencyCode"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max70Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CashAccountType2Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalCashAccountType1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CategoryPurpose1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalCategoryPurpose1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ChargeBearerType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="DEBT"/>
|
||||
<xs:enumeration value="CRED"/>
|
||||
<xs:enumeration value="SHAR"/>
|
||||
<xs:enumeration value="SLEV"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Cheque7">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqTp" type="ChequeType2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqNb" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqFr" type="NameAndAddress10"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DlvryMtd" type="ChequeDeliveryMethod1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DlvrTo" type="NameAndAddress10"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqMtrtyDt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
|
||||
<xs:element maxOccurs="2" minOccurs="0" name="MemoFld" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RgnlClrZone" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PrtLctn" type="Max35Text"/>
|
||||
<xs:element maxOccurs="5" minOccurs="0" name="Sgntr" type="Max70Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ChequeDelivery1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MLDB"/>
|
||||
<xs:enumeration value="MLCD"/>
|
||||
<xs:enumeration value="MLFA"/>
|
||||
<xs:enumeration value="CRDB"/>
|
||||
<xs:enumeration value="CRCD"/>
|
||||
<xs:enumeration value="CRFA"/>
|
||||
<xs:enumeration value="PUDB"/>
|
||||
<xs:enumeration value="PUCD"/>
|
||||
<xs:enumeration value="PUFA"/>
|
||||
<xs:enumeration value="RGDB"/>
|
||||
<xs:enumeration value="RGCD"/>
|
||||
<xs:enumeration value="RGFA"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ChequeDeliveryMethod1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ChequeDelivery1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ChequeType2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CCHQ"/>
|
||||
<xs:enumeration value="CCCH"/>
|
||||
<xs:enumeration value="BCHQ"/>
|
||||
<xs:enumeration value="DRFT"/>
|
||||
<xs:enumeration value="ELDR"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ClearingSystemIdentification2Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalClearingSystemIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ClearingSystemMemberIdentification2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ClrSysId" type="ClearingSystemIdentification2Choice"/>
|
||||
<xs:element name="MmbId" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ContactDetails2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="NmPrfx" type="NamePrefix1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PhneNb" type="PhoneNumber"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="MobNb" type="PhoneNumber"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FaxNb" type="PhoneNumber"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="EmailAdr" type="Max2048Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Othr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="CountryCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{2,2}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="CreditDebitCode">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CRDT"/>
|
||||
<xs:enumeration value="DBIT"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="CreditTransferTransaction20">
|
||||
<xs:sequence>
|
||||
<xs:element name="PmtId" type="PaymentIdentification1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/>
|
||||
<xs:element name="Amt" type="AmountType4Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="XchgRateInf" type="ExchangeRate1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChqInstr" type="Cheque7"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt1Acct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt2Acct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="IntrmyAgt3Acct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtrAgt" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtrAgtAcct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtrAcct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="UltmtCdtr" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="InstrForCdtrAgt" type="InstructionForCreditorAgent1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Purp" type="Purpose2Choice"/>
|
||||
<xs:element maxOccurs="10" minOccurs="0" name="RgltryRptg" type="RegulatoryReporting3"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tax" type="TaxInformation3"/>
|
||||
<xs:element maxOccurs="10" minOccurs="0" name="RltdRmtInf" type="RemittanceLocation4"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtInf" type="RemittanceInformation10"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CreditorReferenceInformation2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="CreditorReferenceType2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ref" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CreditorReferenceType1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="DocumentType3Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CreditorReferenceType2">
|
||||
<xs:sequence>
|
||||
<xs:element name="CdOrPrtry" type="CreditorReferenceType1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="CustomerCreditTransferInitiationV06">
|
||||
<xs:sequence>
|
||||
<xs:element name="GrpHdr" type="GroupHeader48"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="1" name="PmtInf" type="PaymentInstruction16"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="SplmtryData" type="SupplementaryData1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="DateAndPlaceOfBirth">
|
||||
<xs:sequence>
|
||||
<xs:element name="BirthDt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PrvcOfBirth" type="Max35Text"/>
|
||||
<xs:element name="CityOfBirth" type="Max35Text"/>
|
||||
<xs:element name="CtryOfBirth" type="CountryCode"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="DatePeriodDetails">
|
||||
<xs:sequence>
|
||||
<xs:element name="FrDt" type="ISODate"/>
|
||||
<xs:element name="ToDt" type="ISODate"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="DecimalNumber">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="17"/>
|
||||
<xs:totalDigits value="18"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="DiscountAmountAndType1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="DiscountAmountType1Choice"/>
|
||||
<xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="DiscountAmountType1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalDiscountAmountType1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="Document">
|
||||
<xs:sequence>
|
||||
<xs:element name="CstmrCdtTrfInitn" type="CustomerCreditTransferInitiationV06"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="DocumentAdjustment1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtDbtInd" type="CreditDebitCode"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Rsn" type="Max4Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="DocumentType3Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="RADM"/>
|
||||
<xs:enumeration value="RPIN"/>
|
||||
<xs:enumeration value="FXDR"/>
|
||||
<xs:enumeration value="DISP"/>
|
||||
<xs:enumeration value="PUOR"/>
|
||||
<xs:enumeration value="SCOR"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="DocumentType6Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MSIN"/>
|
||||
<xs:enumeration value="CNFA"/>
|
||||
<xs:enumeration value="DNFA"/>
|
||||
<xs:enumeration value="CINV"/>
|
||||
<xs:enumeration value="CREN"/>
|
||||
<xs:enumeration value="DEBN"/>
|
||||
<xs:enumeration value="HIRI"/>
|
||||
<xs:enumeration value="SBIN"/>
|
||||
<xs:enumeration value="CMCN"/>
|
||||
<xs:enumeration value="SOAC"/>
|
||||
<xs:enumeration value="DISP"/>
|
||||
<xs:enumeration value="BOLD"/>
|
||||
<xs:enumeration value="VCHR"/>
|
||||
<xs:enumeration value="AROI"/>
|
||||
<xs:enumeration value="TSUT"/>
|
||||
<xs:enumeration value="PUOR"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="EquivalentAmount2">
|
||||
<xs:sequence>
|
||||
<xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element name="CcyOfTrf" type="ActiveOrHistoricCurrencyCode"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ExchangeRate1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="UnitCcy" type="ActiveOrHistoricCurrencyCode"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="XchgRate" type="BaseOneRate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RateTp" type="ExchangeRateType1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtrctId" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="ExchangeRateType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="SPOT"/>
|
||||
<xs:enumeration value="SALE"/>
|
||||
<xs:enumeration value="AGRD"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalAccountIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalCashAccountType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalCategoryPurpose1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalClearingSystemIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="5"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalDiscountAmountType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalFinancialInstitutionIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalGarnishmentType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalLocalInstrument1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="35"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalOrganisationIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalPersonIdentification1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalPurpose1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalServiceLevel1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ExternalTaxAmountType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="FinancialIdentificationSchemeName1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalFinancialInstitutionIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="FinancialInstitutionIdentification8">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="BICFI" type="BICFIIdentifier"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ClrSysMmbId" type="ClearingSystemMemberIdentification2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Othr" type="GenericFinancialIdentification1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="Garnishment1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Tp" type="GarnishmentType1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Grnshee" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="GrnshmtAdmstr" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FmlyMdclInsrncInd" type="TrueFalseIndicator"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="MplyeeTermntnInd" type="TrueFalseIndicator"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GarnishmentType1">
|
||||
<xs:sequence>
|
||||
<xs:element name="CdOrPrtry" type="GarnishmentType1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GarnishmentType1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalGarnishmentType1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericAccountIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max34Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="AccountSchemeName1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericFinancialIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="FinancialIdentificationSchemeName1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericOrganisationIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="OrganisationIdentificationSchemeName1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GenericPersonIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Id" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SchmeNm" type="PersonIdentificationSchemeName1Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="GroupHeader48">
|
||||
<xs:sequence>
|
||||
<xs:element name="MsgId" type="Max35Text"/>
|
||||
<xs:element name="CreDtTm" type="ISODateTime"/>
|
||||
<xs:element maxOccurs="2" minOccurs="0" name="Authstn" type="Authorisation1Choice"/>
|
||||
<xs:element name="NbOfTxs" type="Max15NumericText"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
|
||||
<xs:element name="InitgPty" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FwdgAgt" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="IBAN2007Identifier">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ISODate">
|
||||
<xs:restriction base="xs:date"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="ISODateTime">
|
||||
<xs:restriction base="xs:dateTime"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Instruction3Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CHQB"/>
|
||||
<xs:enumeration value="HOLD"/>
|
||||
<xs:enumeration value="PHOB"/>
|
||||
<xs:enumeration value="TELB"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="InstructionForCreditorAgent1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Instruction3Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrInf" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="LocalInstrument2Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalLocalInstrument1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Max10Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="10"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max128Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="128"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max140Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="140"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max15NumericText">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="[0-9]{1,15}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max16Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="16"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max2048Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="2048"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max34Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="34"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max350Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="350"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max35Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="35"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max4Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="4"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Max70Text">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:minLength value="1"/>
|
||||
<xs:maxLength value="70"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="NameAndAddress10">
|
||||
<xs:sequence>
|
||||
<xs:element name="Nm" type="Max140Text"/>
|
||||
<xs:element name="Adr" type="PostalAddress6"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="NamePrefix1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="DOCT"/>
|
||||
<xs:enumeration value="MIST"/>
|
||||
<xs:enumeration value="MISS"/>
|
||||
<xs:enumeration value="MADM"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="Number">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="0"/>
|
||||
<xs:totalDigits value="18"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="OrganisationIdentification8">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AnyBIC" type="AnyBICIdentifier"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericOrganisationIdentification1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="OrganisationIdentificationSchemeName1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalOrganisationIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="Party11Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="OrgId" type="OrganisationIdentification8"/>
|
||||
<xs:element name="PrvtId" type="PersonIdentification5"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PartyIdentification43">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="PostalAddress6"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Id" type="Party11Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtryOfRes" type="CountryCode"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtctDtls" type="ContactDetails2"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PaymentIdentification1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrId" type="Max35Text"/>
|
||||
<xs:element name="EndToEndId" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PaymentInstruction16">
|
||||
<xs:sequence>
|
||||
<xs:element name="PmtInfId" type="Max35Text"/>
|
||||
<xs:element name="PmtMtd" type="PaymentMethod3Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="BtchBookg" type="BatchBookingIndicator"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="NbOfTxs" type="Max15NumericText"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtrlSum" type="DecimalNumber"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PmtTpInf" type="PaymentTypeInformation19"/>
|
||||
<xs:element name="ReqdExctnDt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PoolgAdjstmntDt" type="ISODate"/>
|
||||
<xs:element name="Dbtr" type="PartyIdentification43"/>
|
||||
<xs:element name="DbtrAcct" type="CashAccount24"/>
|
||||
<xs:element name="DbtrAgt" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DbtrAgtAcct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrForDbtrAgt" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChrgBr" type="ChargeBearerType1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcct" type="CashAccount24"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ChrgsAcctAgt" type="BranchAndFinancialInstitutionIdentification5"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="1" name="CdtTrfTxInf" type="CreditTransferTransaction20"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PaymentMethod3Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CHK"/>
|
||||
<xs:enumeration value="TRF"/>
|
||||
<xs:enumeration value="TRA"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PaymentTypeInformation19">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="InstrPrty" type="Priority2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SvcLvl" type="ServiceLevel8Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="LclInstrm" type="LocalInstrument2Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtgyPurp" type="CategoryPurpose1Choice"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PercentageRate">
|
||||
<xs:restriction base="xs:decimal">
|
||||
<xs:fractionDigits value="10"/>
|
||||
<xs:totalDigits value="11"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PersonIdentification5">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DtAndPlcOfBirth" type="DateAndPlaceOfBirth"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Othr" type="GenericPersonIdentification1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="PersonIdentificationSchemeName1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalPersonIdentification1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="PhoneNumber">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:pattern value="\+[0-9]{1,3}-[0-9()+\-]{1,30}"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="PostalAddress6">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AdrTp" type="AddressType2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Dept" type="Max70Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SubDept" type="Max70Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="StrtNm" type="Max70Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="BldgNb" type="Max16Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PstCd" type="Max16Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TwnNm" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtrySubDvsn" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
|
||||
<xs:element maxOccurs="7" minOccurs="0" name="AdrLine" type="Max70Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="Priority2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="HIGH"/>
|
||||
<xs:enumeration value="NORM"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="Purpose2Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalPurpose1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ReferredDocumentInformation6">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="ReferredDocumentType4"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nb" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RltdDt" type="ISODate"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ReferredDocumentType3Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="DocumentType6Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="ReferredDocumentType4">
|
||||
<xs:sequence>
|
||||
<xs:element name="CdOrPrtry" type="ReferredDocumentType3Choice"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Issr" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RegulatoryAuthority2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RegulatoryReporting3">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DbtCdtRptgInd" type="RegulatoryReportingType1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Authrty" type="RegulatoryAuthority2"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="StructuredRegulatoryReporting3"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="RegulatoryReportingType1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="CRED"/>
|
||||
<xs:enumeration value="DEBT"/>
|
||||
<xs:enumeration value="BOTH"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="RemittanceAmount2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DuePyblAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="DscntApldAmt" type="DiscountAmountAndType1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtNoteAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="TaxAmt" type="TaxAmountAndType1"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="AdjstmntAmtAndRsn" type="DocumentAdjustment1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtdAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RemittanceInformation10">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Ustrd" type="Max140Text"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Strd" type="StructuredRemittanceInformation12"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RemittanceLocation4">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RmtId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="RmtLctnDtls" type="RemittanceLocationDetails1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="RemittanceLocationDetails1">
|
||||
<xs:sequence>
|
||||
<xs:element name="Mtd" type="RemittanceLocationMethod2Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="ElctrncAdr" type="Max2048Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PstlAdr" type="NameAndAddress10"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="RemittanceLocationMethod2Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="FAXI"/>
|
||||
<xs:enumeration value="EDIC"/>
|
||||
<xs:enumeration value="URID"/>
|
||||
<xs:enumeration value="EMAL"/>
|
||||
<xs:enumeration value="POST"/>
|
||||
<xs:enumeration value="SMSM"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:complexType name="ServiceLevel8Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalServiceLevel1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="StructuredRegulatoryReporting3">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ctry" type="CountryCode"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Cd" type="Max10Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Inf" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="StructuredRemittanceInformation12">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="RfrdDocInf" type="ReferredDocumentInformation6"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RfrdDocAmt" type="RemittanceAmount2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CdtrRefInf" type="CreditorReferenceInformation2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Invcr" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Invcee" type="PartyIdentification43"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxRmt" type="TaxInformation4"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="GrnshmtRmt" type="Garnishment1"/>
|
||||
<xs:element maxOccurs="3" minOccurs="0" name="AddtlRmtInf" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="SupplementaryData1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="PlcAndNm" type="Max350Text"/>
|
||||
<xs:element name="Envlp" type="SupplementaryDataEnvelope1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="SupplementaryDataEnvelope1">
|
||||
<xs:sequence>
|
||||
<xs:any namespace="##any" processContents="lax"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxAmount1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Rate" type="PercentageRate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TtlAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Dtls" type="TaxRecordDetails1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxAmountAndType1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxAmountType1Choice"/>
|
||||
<xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxAmountType1Choice">
|
||||
<xs:choice>
|
||||
<xs:element name="Cd" type="ExternalTaxAmountType1Code"/>
|
||||
<xs:element name="Prtry" type="Max35Text"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxAuthorisation1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Titl" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Nm" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxInformation3">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AdmstnZn" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxInformation4">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Cdtr" type="TaxParty1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Dbtr" type="TaxParty2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="UltmtDbtr" type="TaxParty2"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AdmstnZone" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RefNb" type="Max140Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Mtd" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TtlTaxblBaseAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TtlTaxAmt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Dt" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="SeqNb" type="Number"/>
|
||||
<xs:element maxOccurs="unbounded" minOccurs="0" name="Rcrd" type="TaxRecord1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxParty1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxParty2">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="RegnId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxTp" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Authstn" type="TaxAuthorisation1"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxPeriod1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Yr" type="ISODate"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="TaxRecordPeriod1Code"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FrToDt" type="DatePeriodDetails"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxRecord1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Tp" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Ctgy" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CtgyDtls" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="DbtrSts" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="CertId" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="FrmsCd" type="Max35Text"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="TaxAmt" type="TaxAmount1"/>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="AddtlInf" type="Max140Text"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:complexType name="TaxRecordDetails1">
|
||||
<xs:sequence>
|
||||
<xs:element maxOccurs="1" minOccurs="0" name="Prd" type="TaxPeriod1"/>
|
||||
<xs:element name="Amt" type="ActiveOrHistoricCurrencyAndAmount"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:simpleType name="TaxRecordPeriod1Code">
|
||||
<xs:restriction base="xs:string">
|
||||
<xs:enumeration value="MM01"/>
|
||||
<xs:enumeration value="MM02"/>
|
||||
<xs:enumeration value="MM03"/>
|
||||
<xs:enumeration value="MM04"/>
|
||||
<xs:enumeration value="MM05"/>
|
||||
<xs:enumeration value="MM06"/>
|
||||
<xs:enumeration value="MM07"/>
|
||||
<xs:enumeration value="MM08"/>
|
||||
<xs:enumeration value="MM09"/>
|
||||
<xs:enumeration value="MM10"/>
|
||||
<xs:enumeration value="MM11"/>
|
||||
<xs:enumeration value="MM12"/>
|
||||
<xs:enumeration value="QTR1"/>
|
||||
<xs:enumeration value="QTR2"/>
|
||||
<xs:enumeration value="QTR3"/>
|
||||
<xs:enumeration value="QTR4"/>
|
||||
<xs:enumeration value="HLF1"/>
|
||||
<xs:enumeration value="HLF2"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType name="TrueFalseIndicator">
|
||||
<xs:restriction base="xs:boolean"/>
|
||||
</xs:simpleType>
|
||||
</xs:schema>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,10 @@
|
||||
-- deletes for HelperTests.BillingTest
|
||||
|
||||
DELETE FROM credit;
|
||||
DELETE FROM payment_variant
|
||||
DELETE FROM payment_variant;
|
||||
DELETE FROM delivery;
|
||||
DELETE FROM area_commitment;
|
||||
DELETE FROM area_commitment_type;
|
||||
DELETE FROM season;
|
||||
DELETE FROM member;
|
||||
DELETE FROM wine_attribute;
|
||||
DELETE FROM wine_cultivation;
|
||||
@@ -16,23 +16,18 @@ INSERT INTO wine_attribute (attrid, name, active, max_kg_per_ha, strict, fill_lo
|
||||
('R', 'Vertrag R', TRUE, NULL, TRUE, 2);
|
||||
|
||||
INSERT INTO area_commitment_type (vtrgid, sortid, attrid, disc, min_kg_per_ha, penalty_per_kg, penalty_amount, penalty_none) VALUES
|
||||
('ZW', 'ZW', NULL, NULL, 2500, 600, NULL, NULL),
|
||||
('GV', 'GV', NULL, NULL, 5000, 500, NULL, NULL),
|
||||
('GVK', 'GV', 'K', NULL, 5000, 500, NULL, NULL),
|
||||
('GVD', 'GV', 'D', NULL, 5000, 1000, NULL, NULL),
|
||||
('GVP', 'GV', 'P', NULL, 5000, 1000, 1000000, NULL),
|
||||
('GVQ', 'GV', 'Q', NULL, 5000, 1000, 1000000, NULL),
|
||||
('GVR', 'GV', 'R', NULL, 5000, 1000, 1000000, NULL);
|
||||
|
||||
INSERT INTO member (mgnr, given_name, family_name, zwstid, volllieferant, buchführend, country, postal_dest, address, default_kgnr) VALUES
|
||||
(101, 'Max', 'Mustermann', 'X', FALSE, FALSE, 40, 222303524, 'Winzerstraße 1', 06109),
|
||||
(102, 'Wernhardt', 'Weinbauer', 'X', FALSE, FALSE, 40, 222303524, 'Winzerstraße 2', 06109),
|
||||
(103, 'Matthäus', 'Musterbauer', 'X', FALSE, FALSE, 40, 212005138, 'Brünner Straße 10', 15224),
|
||||
(104, 'Waltraud', 'Winzer', 'X', FALSE, FALSE, 40, 212005138, 'Wiener Straße 15', 15224);
|
||||
('ZW', 'ZW', NULL, NULL, 2500, 600, NULL, NULL),
|
||||
('GV', 'GV', NULL, NULL, 5000, 500, NULL, NULL),
|
||||
('GVK', 'GV', 'K', NULL, 5000, 500, NULL, NULL),
|
||||
('GVD', 'GV', 'D', NULL, 5000, 1000, NULL, NULL),
|
||||
('GVP', 'GV', 'P', NULL, 5000, 1000, 1000000, NULL),
|
||||
('GVQ', 'GV', 'Q', NULL, 5000, 1000, 1000000, NULL),
|
||||
('GVR', 'GV', 'R', NULL, 5000, 1000, 1000000, NULL);
|
||||
|
||||
INSERT INTO area_commitment (fbnr, mgnr, vtrgid, cultid, area, kgnr, gstnr, rdnr, year_from, year_to) VALUES
|
||||
( 1, 101, 'GV', 'K', 10000, 06109, '123/4', NULL, 2000, 2019),
|
||||
( 2, 101, 'GV', 'B', 10000, 06109, '123/5', NULL, 2025, 2030);
|
||||
( 1, 101, 'GV', 'K', 10000, 06109, '123/4', NULL, 2000, 2019),
|
||||
( 2, 101, 'GV', 'K', 10000, 06109, '123/5', NULL, 2025, 2030),
|
||||
( 3, 101, 'GV', 'K', 10000, 06109, '123/6', NULL, 2021, 2031);
|
||||
|
||||
INSERT INTO season (year, currency, min_kg_per_bs, max_kg_per_bs, penalty_per_kg, penalty_amount, penalty_none, start_date, end_date) VALUES
|
||||
(2020, 'EUR', 1000, 2000, NULL, NULL, NULL, NULL, NULL),
|
||||
@@ -42,18 +37,30 @@ INSERT INTO modifier (year, modid, ordering, name, abs, rel, standard, quick_sel
|
||||
(2020, 'S', 0, 'Geschädigte Trauben', NULL, -0.1, FALSE, FALSE),
|
||||
(2020, 'A', 0, 'Keine Voranmeldung', -1000, NULL, FALSE, FALSE);
|
||||
|
||||
-- Test 01
|
||||
INSERT INTO delivery (mgnr, year, did, date, time, zwstid, lnr) VALUES
|
||||
(101, 2020, 1, '2020-10-01', NULL, 'X', 1),
|
||||
(101, 2020, 2, '2020-10-01', NULL, 'X', 2),
|
||||
(101, 2020, 3, '2020-10-01', NULL, 'X', 3);
|
||||
|
||||
INSERT INTO delivery_part (year, did, dpnr, sortid, attrid, weight, kmw, qualid, hkid, kgnr, gerebelt, manual_weighing, spl_check, scale_id, weighing_id, weighing_reason) VALUES
|
||||
(2020, 1, 1, 'GV', 'K', 4000, 17, 'KAB', 'WLNO', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||
(2020, 1, 1, 'GV', 'K', 4000, 17, 'KAB', 'WLNO', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||
(2020, 1, 2, 'GV', NULL, 4000, 16, 'QUW', 'WLNO', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||
(2020, 2, 1, 'GV', 'B', 4000, 15, 'QUW', 'WLNO', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||
(2020, 2, 2, 'GV', 'B', 4000, 16, 'QUW', 'WLNO', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||
(2020, 2, 1, 'GV', 'B', 4000, 15, 'QUW', 'WLNO', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||
(2020, 2, 2, 'GV', 'B', 4000, 16, 'QUW', 'WLNO', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||
(2020, 3, 1, 'GV', NULL, 500, 15, 'WEI', 'OEST', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||
(2020, 3, 2, 'GV', NULL, 500, 14, 'LDW', 'WLXX', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO delivery_part_modifier (year, did, dpnr, modid) VALUES
|
||||
(2020, 1, 2, 'S');
|
||||
|
||||
-- Test 02 + 03
|
||||
INSERT INTO delivery (mgnr, year, did, date, time, zwstid, lnr) VALUES
|
||||
(101, 2021, 1, '2021-10-01', NULL, 'X', 1),
|
||||
(101, 2021, 2, '2021-10-01', NULL, 'X', 2),
|
||||
(101, 2021, 3, '2021-10-01', NULL, 'X', 3);
|
||||
INSERT INTO delivery_part (year, did, dpnr, sortid, attrid, weight, kmw, qualid, hkid, kgnr, gebunden, gerebelt, manual_weighing, spl_check, scale_id, weighing_id, weighing_reason) VALUES
|
||||
(2021, 1, 1, 'GV', 'K', 4000, 17, 'KAB', 'WLNO', 06109, TRUE, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||
(2021, 1, 2, 'GV', NULL, 4000, 16, 'QUW', 'WLNO', 06109, FALSE, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||
(2021, 2, 1, 'GV', 'B', 4000, 15, 'QUW', 'WLNO', 06109, TRUE, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||
(2021, 2, 2, 'GV', 'B', 4000, 16, 'QUW', 'WLNO', 06109, FALSE, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||
(2021, 3, 1, 'GV', NULL, 500, 15, 'WEI', 'OEST', 06109, NULL, TRUE, FALSE, FALSE, NULL, NULL, NULL),
|
||||
(2021, 3, 2, 'GV', NULL, 500, 14, 'LDW', 'WLXX', 06109, NULL, TRUE, FALSE, FALSE, NULL, NULL, NULL);
|
||||
@@ -0,0 +1,5 @@
|
||||
-- deletes for DocumentTests
|
||||
|
||||
DELETE FROM delivery;
|
||||
DELETE FROM season;
|
||||
DELETE FROM wine_attribute;
|
||||
@@ -0,0 +1,20 @@
|
||||
-- inserts for DocumentTests
|
||||
|
||||
INSERT INTO wine_attribute (attrid, name, active, max_kg_per_ha, strict, fill_lower) VALUES
|
||||
('B', 'Bio', TRUE, NULL, FALSE, 0),
|
||||
('K', 'Kabinett', TRUE, NULL, FALSE, 0);
|
||||
|
||||
INSERT INTO season (year, currency, min_kg_per_bs, max_kg_per_bs, penalty_per_kg, penalty_amount, penalty_none, start_date, end_date) VALUES
|
||||
(2020, 'EUR', 1000, 2000, NULL, NULL, NULL, NULL, NULL);
|
||||
|
||||
INSERT INTO modifier (year, modid, ordering, name, abs, rel, standard, quick_select) VALUES
|
||||
(2020, 'S', 0, 'Geschädigte Trauben', NULL, -0.1, FALSE, FALSE),
|
||||
(2020, 'A', 0, 'Keine Voranmeldung', -1000, NULL, FALSE, FALSE);
|
||||
|
||||
INSERT INTO delivery (mgnr, year, did, date, time, zwstid, lnr) VALUES
|
||||
(101, 2020, 1, '2020-10-01', NULL, 'X', 1),
|
||||
(101, 2020, 2, '2020-10-01', NULL, 'X', 2),
|
||||
(101, 2020, 3, '2020-10-01', NULL, 'X', 3);
|
||||
|
||||
INSERT INTO delivery_part (year, did, dpnr, sortid, attrid, weight, kmw, qualid, hkid, kgnr, gerebelt, manual_weighing, spl_check, scale_id, weighing_id, weighing_reason) VALUES
|
||||
(2020, 1, 1, 'GV', NULL, 4000, 17, 'KAB', 'WLNO', 06109, TRUE, FALSE, FALSE, NULL, NULL, NULL);
|
||||
@@ -0,0 +1,75 @@
|
||||
-- inserts for DatabaseSetup
|
||||
|
||||
INSERT INTO AT_gem (gkz, name) VALUES
|
||||
(30828, 'Hohenruppersdorf'),
|
||||
(31655, 'Wolkersdorf im Weinviertel');
|
||||
|
||||
INSERT INTO AT_kg (kgnr, gkz, name) VALUES
|
||||
(06109, 30828, 'Hohenruppersdorf'),
|
||||
(15209, 31655, 'Münichsthal'),
|
||||
(15211, 31655, 'Obersdorf'),
|
||||
(15212, 31655, 'Pfösing'),
|
||||
(15216, 31655, 'Riedentahl'),
|
||||
(15224, 31655, 'Wolkersdorf');
|
||||
|
||||
INSERT INTO AT_ort (okz, gkz, kgnr, name) VALUES
|
||||
(03524, 30828, 06109, 'Hohenruppersdorf'),
|
||||
(05092, 31655, 15211, 'Obersdorf'),
|
||||
(05135, 31655, 15209, 'Münichsthal'),
|
||||
(05136, 31655, 15212, 'Pfösing'),
|
||||
(05137, 31655, 15216, 'Riedenthal'),
|
||||
(05138, 31655, 15224, 'Wolkersdorf im Weinviertel');
|
||||
|
||||
INSERT INTO AT_plz (plz, ort, blnr, type, internal, addressable, po_box) VALUES
|
||||
(2223, 'Hohenruppersdorf', 3, 'PLZ-Adressierung', FALSE, TRUE, FALSE),
|
||||
(2120, 'Wolkersdorf im Weinviertel', 3, 'PLZ-Adressierung', FALSE, TRUE, TRUE ),
|
||||
(2122, 'Ulrichskirchen', 3, 'PLZ-Adressierung', FALSE, TRUE, FALSE);
|
||||
|
||||
INSERT INTO AT_plz_dest (plz, okz, dest) VALUES
|
||||
(2223, 03524, 'Hohenruppersdorf'),
|
||||
(2120, 05092, 'Obersdorf'),
|
||||
(2120, 05138, 'Wolkersdorf im Weinviertel'),
|
||||
(2122, 05135, 'Münichsthal'),
|
||||
(2122, 05136, 'Pfösing'),
|
||||
(2122, 05137, 'Riedenthal');
|
||||
|
||||
INSERT INTO client_parameter (param, value) VALUES
|
||||
('CLIENT_NAME_TOKEN', 'WGT'),
|
||||
('CLIENT_NAME_SHORT', 'WG Test'),
|
||||
('CLIENT_NAME', 'Winzergenossenschaft Test'),
|
||||
('CLIENT_NAME_SUFFIX', NULL),
|
||||
('CLIENT_NAME_TYPE', 'reg.Gen.m.b.H.'),
|
||||
('CLIENT_PLZ', '2120'),
|
||||
('CLIENT_ORT', 'Wolkersdorf'),
|
||||
('CLIENT_ADDRESS', 'Genossenschaftsstraße 1'),
|
||||
('CLIENT_IBAN', 'AT12 3456 7890 1234 5678'),
|
||||
('TEXT_DELIVERYNOTE', 'Ich bin der Text, der auf einem Traubenübernahmeschein steht!');
|
||||
|
||||
INSERT INTO branch (zwstid, name, country, postal_dest, address) VALUES
|
||||
('X', 'Test', 40, 212005138, 'Genossenschaftsstraße 1');
|
||||
|
||||
INSERT INTO wb_gl (glnr, name) VALUES
|
||||
(1, 'Matzner Hügel'),
|
||||
(2, 'Wolkersdorfer Hochleithen');
|
||||
|
||||
INSERT INTO wb_gem (gkz, hkid) VALUES
|
||||
(30828, 'WLWV'),
|
||||
(31655, 'WLWV');
|
||||
|
||||
INSERT INTO wb_kg (kgnr, glnr) VALUES
|
||||
(06109, 1),
|
||||
(15209, 2),
|
||||
(15211, 2),
|
||||
(15212, 2),
|
||||
(15216, 2),
|
||||
(15224, 2);
|
||||
|
||||
INSERT INTO member (mgnr, given_name, family_name, zwstid, volllieferant, buchführend, country, postal_dest, address, default_kgnr, iban, lfbis_nr) VALUES
|
||||
(101, 'Max', 'Mustermann', 'X', FALSE, FALSE, 40, 222303524, 'Winzerstraße 1', 06109, 'AT123456789012345678', '1472583'),
|
||||
(102, 'Wernhardt', 'Weinbauer', 'X', FALSE, FALSE, 40, 222303524, 'Winzerstraße 2', 06109, 'AT123456789012345678', '4725836'),
|
||||
(103, 'Matthäus', 'Musterbauer', 'X', FALSE, FALSE, 40, 212005138, 'Brünner Straße 10', 15224, 'AT123456789012345678', '7258369'),
|
||||
(104, 'Waltraud', 'Winzer', 'X', FALSE, FALSE, 40, 212005138, 'Wiener Straße 15', 15224, 'AT123456789012345678', '2583691');
|
||||
|
||||
INSERT INTO member_billing_address (mgnr, name, country, postal_dest, address) VALUES
|
||||
(102, 'W&B Weinbauer GesbR', 40, 222303524, 'Winzerstraße 2'),
|
||||
(104, 'Weinbau Waltraud Winzer GmbH', 40, 212205137, 'Hauptstraße 1');
|
||||
+6
-4
@@ -4,13 +4,14 @@
|
||||
<TargetFramework>net8.0-windows</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
|
||||
<IsPackable>false</IsPackable>
|
||||
<IsTestProject>true</IsTestProject>
|
||||
<PreserveCompilationContext>true</PreserveCompilationContext>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Resources\*.sql" />
|
||||
<EmbeddedResource Include="Resources\Sql\*.sql" />
|
||||
<EmbeddedResource Include="Resources\Schemas\*.xsd" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="FetchResources" BeforeTargets="BeforeBuild">
|
||||
@@ -18,10 +19,11 @@
|
||||
</Target>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
|
||||
<PackageReference Include="NReco.PdfRenderer" Version="1.5.3" />
|
||||
<PackageReference Include="NUnit" Version="4.0.1" />
|
||||
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
|
||||
<PackageReference Include="NUnit.Analyzers" Version="3.10.0">
|
||||
<PackageReference Include="NUnit.Analyzers" Version="4.0.1">
|
||||
<PrivateAssets>all</PrivateAssets>
|
||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
|
||||
@@ -1 +1 @@
|
||||
curl -s -L "https://www.necronda.net/elwig/files/create.sql?v=13" -u "elwig:ganzGeheim123!" -o "Resources\Create.sql"
|
||||
curl -s -L "https://www.necronda.net/elwig/files/create.sql?v=16" -u "elwig:ganzGeheim123!" -o "Resources\Sql\Create.sql"
|
||||
|
||||
Reference in New Issue
Block a user