visura-parser 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -3
- package/dist/internal/parse-local-units.d.ts.map +1 -1
- package/dist/internal/parse-local-units.js +127 -2
- package/dist/internal/parse-local-units.js.map +1 -1
- package/dist/internal/parse-people.d.ts.map +1 -1
- package/dist/internal/parse-people.js +178 -16
- package/dist/internal/parse-people.js.map +1 -1
- package/dist/types.d.ts +36 -0
- package/dist/types.d.ts.map +1 -1
- package/exampleOutput.json +35 -1
- package/outputSchema.json +126 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -59,9 +59,20 @@ and is copied to `filename`; it is not inferred from the PDF.
|
|
|
59
59
|
|
|
60
60
|
Missing fields are omitted. Counts and monetary amounts are numbers; explicit
|
|
61
61
|
availability values are booleans. Dates use ISO `YYYY-MM-DD`. Official Italian
|
|
62
|
-
role names are preserved in structured officer and shareholder records.
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
role names are preserved in structured officer and shareholder records. When
|
|
63
|
+
the source prints them, individual officers and shareholders also include birth
|
|
64
|
+
date, birthplace, birth-province code, citizenship, and residence address.
|
|
65
|
+
Current secondary offices and local business units are returned in `localUnits`,
|
|
66
|
+
in their printed order. When present, a local unit may also include its type,
|
|
67
|
+
trade name, secondary activity, local ATECO code, ATECO classifications, activity
|
|
68
|
+
declarations, and licences or authorisations. These filing and authorisation
|
|
69
|
+
values preserve the printed source prose. Classification versions are included
|
|
70
|
+
only when the source prints an explicit version heading. The local `atecoCode`
|
|
71
|
+
is selected from the first `PRIMARIA` or `PREVALENTE` classification in source
|
|
72
|
+
order, or the first unqualified classification; it is omitted for secondary-only
|
|
73
|
+
classifications.
|
|
74
|
+
See the [local-unit corpus findings](docs/local-unit-fields.md) for field coverage
|
|
75
|
+
and layout constraints.
|
|
65
76
|
See the [example output](exampleOutput.json) and
|
|
66
77
|
[the schema](outputSchema.json).
|
|
67
78
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-local-units.d.ts","sourceRoot":"","sources":["../../src/internal/parse-local-units.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"parse-local-units.d.ts","sourceRoot":"","sources":["../../src/internal/parse-local-units.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,SAAS,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAkB,MAAM,YAAY,CAAC;AA0K/D,8EAA8E;AAC9E,wBAAgB,eAAe,CAAC,GAAG,EAAE,YAAY,GAAG,SAAS,EAAE,CAoG9D"}
|
|
@@ -5,7 +5,12 @@ const LOCAL_UNIT_HEADING = /^unit[aà]'? locale n\.?\s*([a-z]{2})\s*\/\s*(\d+)\b
|
|
|
5
5
|
const SECTION_HEADING = /^\d+\s+\D/u;
|
|
6
6
|
const ADDRESS_LABEL = /^indirizzo\b\s*:?[\s]*/i;
|
|
7
7
|
const ACTIVITY_LABEL = /^attivit[aà]'? esercitata\b\s*:?[\s]*/i;
|
|
8
|
-
const
|
|
8
|
+
const SECONDARY_ACTIVITY_LABEL = /^attivit[aà]'? secondaria esercitata\b\s*:?[\s]*/i;
|
|
9
|
+
const CLASSIFICATION_LABEL = /^classificazione ateco(?:ri)?\b/i;
|
|
10
|
+
const TRADE_NAME_LABEL = /^insegna\b\s*:?\s*/i;
|
|
11
|
+
const DECLARATION_LABEL = /^denuncia (?:di )?(?:inizio )?attivit[aà]'?(?=\s|:|$)\s*:?\s*/i;
|
|
12
|
+
const LICENCE_LABEL = /^licenz[ae](?:\/?autorizzazion[ei])?\b\s*:?\s*/i;
|
|
13
|
+
const FIELD_OR_BLOCK_LABEL = /^(?:data (?:di )?apertura|indirizzo|insegna|codice fiscale|estremi di iscrizione|numero repertorio economico amministrativo|attivit[aà]'? (?:secondaria )?esercitata|classificazione ateco(?:ri)?|denuncia|licenz[ae](?:\/?autorizzazion[ei])?|responsabile tecnico|preposto|carica|albi|addetti|codice nace|tipo)\b/i;
|
|
9
14
|
function rowsFromSpans(spans) {
|
|
10
15
|
const rows = [];
|
|
11
16
|
for (const span of spansInReadingOrder({
|
|
@@ -28,6 +33,7 @@ function rowsFromSpans(spans) {
|
|
|
28
33
|
x: row[0]?.x ?? 0,
|
|
29
34
|
y: row[0]?.y ?? 0,
|
|
30
35
|
text: normalizeText(row.map((span) => span.text).join(' ')),
|
|
36
|
+
spans: row,
|
|
31
37
|
};
|
|
32
38
|
});
|
|
33
39
|
}
|
|
@@ -59,6 +65,85 @@ function inlineValue(rows, label) {
|
|
|
59
65
|
}
|
|
60
66
|
return undefined;
|
|
61
67
|
}
|
|
68
|
+
function blockValues(rows, label) {
|
|
69
|
+
const values = [];
|
|
70
|
+
for (const [index, row] of rows.entries()) {
|
|
71
|
+
if (!label.test(row.text))
|
|
72
|
+
continue;
|
|
73
|
+
const value = multilineValue(rows.slice(index), label);
|
|
74
|
+
if (value !== undefined)
|
|
75
|
+
values.push(value);
|
|
76
|
+
}
|
|
77
|
+
return values;
|
|
78
|
+
}
|
|
79
|
+
function isAlignedType(row, heading, width) {
|
|
80
|
+
return (row !== undefined &&
|
|
81
|
+
row.y >= heading.y &&
|
|
82
|
+
row.y - heading.y <= 4 &&
|
|
83
|
+
row.x >= width * 0.3 &&
|
|
84
|
+
!FIELD_OR_BLOCK_LABEL.test(row.text));
|
|
85
|
+
}
|
|
86
|
+
function classificationsFromRows(rows) {
|
|
87
|
+
const result = [];
|
|
88
|
+
let inBlock = false;
|
|
89
|
+
let version;
|
|
90
|
+
let current;
|
|
91
|
+
let readingDescription = false;
|
|
92
|
+
for (const row of rows) {
|
|
93
|
+
let text = normalizeText(row.spans
|
|
94
|
+
.filter((span) => !/^dell'attivit[aà]'?$/i.test(normalizeText(span.text)))
|
|
95
|
+
.map((span) => span.text)
|
|
96
|
+
.join(' '));
|
|
97
|
+
if (CLASSIFICATION_LABEL.test(row.text)) {
|
|
98
|
+
inBlock = true;
|
|
99
|
+
version = /\b(\d{4}(?:\s*-\s*\d{4})?)\b/
|
|
100
|
+
.exec(row.text)?.[1]
|
|
101
|
+
?.replace(/\s/g, '');
|
|
102
|
+
current = undefined;
|
|
103
|
+
readingDescription = false;
|
|
104
|
+
// The label is in the left column, with the first code alongside it.
|
|
105
|
+
const codeStart = row.text.search(/\bcodice\s*:/i);
|
|
106
|
+
if (codeStart < 0)
|
|
107
|
+
continue;
|
|
108
|
+
text = row.text.slice(codeStart);
|
|
109
|
+
}
|
|
110
|
+
else if (FIELD_OR_BLOCK_LABEL.test(row.text)) {
|
|
111
|
+
inBlock = false;
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
if (!inBlock)
|
|
115
|
+
continue;
|
|
116
|
+
const code = /^(?:codice\s*:?\s*)?(\d{2}(?:\.\d{1,2}){0,2})(?:\s*[-–:]\s*(.+))?$/i.exec(text);
|
|
117
|
+
if (code?.[1] !== undefined) {
|
|
118
|
+
current = { code: code[1] };
|
|
119
|
+
if (version !== undefined)
|
|
120
|
+
current.version = version;
|
|
121
|
+
if (code[2] !== undefined)
|
|
122
|
+
current.description = code[2];
|
|
123
|
+
result.push(current);
|
|
124
|
+
readingDescription = true;
|
|
125
|
+
continue;
|
|
126
|
+
}
|
|
127
|
+
if (current === undefined)
|
|
128
|
+
continue;
|
|
129
|
+
const importance = /^importanza\s*:\s*(.+)$/i.exec(text);
|
|
130
|
+
if (importance?.[1] !== undefined) {
|
|
131
|
+
current.importance = importance[1];
|
|
132
|
+
readingDescription = false;
|
|
133
|
+
}
|
|
134
|
+
else if (/^(?:prevalente|primaria|secondaria)\b/i.test(text)) {
|
|
135
|
+
current.importance = text;
|
|
136
|
+
readingDescription = false;
|
|
137
|
+
}
|
|
138
|
+
else if (/^fonte\b/i.test(text)) {
|
|
139
|
+
readingDescription = false;
|
|
140
|
+
}
|
|
141
|
+
else if (readingDescription) {
|
|
142
|
+
current.description = normalizeText(`${current.description ?? ''} ${text.replace(/^descrizione\s*:\s*/i, '')}`);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return result;
|
|
146
|
+
}
|
|
62
147
|
/** Parses current local-unit records and keeps their printed source order. */
|
|
63
148
|
export function parseLocalUnits(pdf) {
|
|
64
149
|
const page = joinPages(pdf.pages);
|
|
@@ -72,7 +157,13 @@ export function parseLocalUnits(pdf) {
|
|
|
72
157
|
.filter((entry) => entry.match !== null && entry.row.x < page.width * 0.1);
|
|
73
158
|
const result = [];
|
|
74
159
|
for (const [position, start] of starts.entries()) {
|
|
75
|
-
const
|
|
160
|
+
const nextStart = starts[position + 1];
|
|
161
|
+
const nextRecord = nextStart === undefined
|
|
162
|
+
? rows.length
|
|
163
|
+
: nextStart.index -
|
|
164
|
+
(isAlignedType(rows[nextStart.index - 1], nextStart.row, page.width)
|
|
165
|
+
? 1
|
|
166
|
+
: 0);
|
|
76
167
|
const nextSection = rows.findIndex((row, index) => index > start.index &&
|
|
77
168
|
index < nextRecord &&
|
|
78
169
|
row.x < page.width * 0.15 &&
|
|
@@ -84,6 +175,20 @@ export function parseLocalUnits(pdf) {
|
|
|
84
175
|
if (province === undefined || ordinal === undefined)
|
|
85
176
|
continue;
|
|
86
177
|
const unit = { number: `${province.toUpperCase()}/${ordinal}` };
|
|
178
|
+
// Different font baselines put the right-hand facility type slightly
|
|
179
|
+
// above its left-hand record heading in registry PDFs.
|
|
180
|
+
const previousRow = rows[start.index - 1];
|
|
181
|
+
const headingSuffix = normalizeText(start.row.text.slice(start.match[0].length));
|
|
182
|
+
const firstRow = recordRows[0];
|
|
183
|
+
const typeRow = isAlignedType(previousRow, start.row, page.width)
|
|
184
|
+
? previousRow
|
|
185
|
+
: firstRow;
|
|
186
|
+
const typeText = headingSuffix.length > 0 ? headingSuffix : typeRow?.text;
|
|
187
|
+
if (typeText !== undefined && !FIELD_OR_BLOCK_LABEL.test(typeText)) {
|
|
188
|
+
const type = normalizeText(typeText.split(/\bdata (?:di )?apertura\b/i)[0] ?? '');
|
|
189
|
+
if (type.length > 0)
|
|
190
|
+
unit.type = type;
|
|
191
|
+
}
|
|
87
192
|
const openingDate = inlineValue(recordRows, /\bdata (?:di )?apertura\s*:?\s*(\d{2}\/\d{2}\/\d{4})\b/i);
|
|
88
193
|
const parsedOpeningDate = openingDate === undefined ? undefined : parseItalianDate(openingDate);
|
|
89
194
|
if (parsedOpeningDate !== undefined)
|
|
@@ -97,6 +202,26 @@ export function parseLocalUnits(pdf) {
|
|
|
97
202
|
const primaryActivity = multilineValue(recordRows, ACTIVITY_LABEL);
|
|
98
203
|
if (primaryActivity !== undefined)
|
|
99
204
|
unit.primaryActivity = primaryActivity;
|
|
205
|
+
const secondaryActivity = multilineValue(recordRows, SECONDARY_ACTIVITY_LABEL);
|
|
206
|
+
if (secondaryActivity !== undefined)
|
|
207
|
+
unit.secondaryActivity = secondaryActivity;
|
|
208
|
+
const tradeName = multilineValue(recordRows, TRADE_NAME_LABEL);
|
|
209
|
+
if (tradeName !== undefined)
|
|
210
|
+
unit.tradeName = tradeName;
|
|
211
|
+
const declarations = blockValues(recordRows, DECLARATION_LABEL);
|
|
212
|
+
if (declarations.length > 0)
|
|
213
|
+
unit.activityDeclarations = declarations;
|
|
214
|
+
const licences = blockValues(recordRows, LICENCE_LABEL);
|
|
215
|
+
if (licences.length > 0)
|
|
216
|
+
unit.licensesAndRegistrations = licences;
|
|
217
|
+
const classifications = classificationsFromRows(recordRows);
|
|
218
|
+
if (classifications.length > 0) {
|
|
219
|
+
unit.atecoClassifications = classifications;
|
|
220
|
+
const primary = classifications.find((classification) => /^(?:primaria|prevalente)\b/i.test(classification.importance ?? '')) ??
|
|
221
|
+
classifications.find((classification) => classification.importance === undefined);
|
|
222
|
+
if (primary?.code !== undefined)
|
|
223
|
+
unit.atecoCode = primary.code;
|
|
224
|
+
}
|
|
100
225
|
result.push(unit);
|
|
101
226
|
}
|
|
102
227
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-local-units.js","sourceRoot":"","sources":["../../src/internal/parse-local-units.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-local-units.js","sourceRoot":"","sources":["../../src/internal/parse-local-units.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-people.d.ts","sourceRoot":"","sources":["../../src/internal/parse-people.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAiB,YAAY,EAAkB,MAAM,YAAY,CAAC;AAqC9E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGlD;
|
|
1
|
+
{"version":3,"file":"parse-people.d.ts","sourceRoot":"","sources":["../../src/internal/parse-people.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAiB,YAAY,EAAkB,MAAM,YAAY,CAAC;AAqC9E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGlD;AA0WD,wBAAgB,WAAW,CACzB,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,MAAM,GAChB;IACD,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B,CA6NA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { foldText, normalizeText, semanticSpans } from './text.js';
|
|
2
|
-
import { parseItalianAmount } from './values.js';
|
|
2
|
+
import { parseItalianAmount, parseItalianDate } from './values.js';
|
|
3
3
|
import { joinPages } from './join-pages.js';
|
|
4
4
|
const OFFICER_ROLE = /^(?:presidente(?: (?:del )?consiglio (?:di |d')?amministrazione| del collegio sindacale)?|vice ?presidente(?: (?:del )?consiglio (?:di |d')?amministrazione)?|amministrat(?:ore|rice)(?: unic[oa]| delegat[oa])?|consigliere(?: delegato)?|sindaco(?: effettivo| supplente)?|titolare(?: dell'impresa individuale| di impresa individuale| firmatari[oa])?|liquidatore|procuratore(?: speciale| generale)?|legale rappresentante)$/i;
|
|
5
5
|
const PARTNER_GOVERNANCE_ROLE = /^soci[oa] (?:accomandatari[oa]|amministrat(?:ore|rice)|legale rappresentante)$/i;
|
|
@@ -50,7 +50,16 @@ function identities(page, spans) {
|
|
|
50
50
|
.sort((a, b) => a.y - b.y)[0];
|
|
51
51
|
if (name &&
|
|
52
52
|
!result.some((item) => item.name === name && item.taxCode === match[1]))
|
|
53
|
-
result.push({ name, taxCode: match[1], y: span.y });
|
|
53
|
+
result.push({ name, taxCode: match[1], y: span.y, details: {} });
|
|
54
|
+
}
|
|
55
|
+
for (const record of result) {
|
|
56
|
+
const next = result
|
|
57
|
+
.filter((candidate) => candidate.y < record.y - 2 &&
|
|
58
|
+
candidate.name.x < page.width / 2 === record.name.x < page.width / 2)
|
|
59
|
+
.sort((left, right) => right.y - left.y)[0];
|
|
60
|
+
const upper = record.name.y + OWNERSHIP_ROW_TOLERANCE;
|
|
61
|
+
const lower = Math.max(record.y - 100, next === undefined ? -Infinity : next.y + OWNERSHIP_ROW_TOLERANCE);
|
|
62
|
+
record.details = parsePersonDetails(spans.filter((candidate) => candidate.y <= upper && candidate.y > lower));
|
|
54
63
|
}
|
|
55
64
|
return result;
|
|
56
65
|
}
|
|
@@ -87,6 +96,128 @@ function fullName(page, first) {
|
|
|
87
96
|
}
|
|
88
97
|
return normalizeText(parts.join(' '));
|
|
89
98
|
}
|
|
99
|
+
function identityForName(page, records, name) {
|
|
100
|
+
const direct = records.find((record) => record.name === name);
|
|
101
|
+
if (direct !== undefined)
|
|
102
|
+
return direct;
|
|
103
|
+
const foldedName = foldText(fullName(page, name));
|
|
104
|
+
const matching = records.filter((record) => foldText(fullName(page, record.name)) === foldedName);
|
|
105
|
+
return matching.length === 1 ? matching[0] : undefined;
|
|
106
|
+
}
|
|
107
|
+
function valueBeside(label, spans) {
|
|
108
|
+
const candidates = spans.filter((span) => span !== label &&
|
|
109
|
+
Math.abs(span.y - label.y) <= 2 &&
|
|
110
|
+
span.x > label.x + label.width - 2);
|
|
111
|
+
const leftmost = candidates.reduce((minimum, span) => Math.min(minimum, span.x), Infinity);
|
|
112
|
+
const value = candidates
|
|
113
|
+
.filter((span) => Math.abs(span.x - leftmost) <= 2)
|
|
114
|
+
.sort((left, right) => right.width - left.width)[0];
|
|
115
|
+
return value === undefined ? undefined : normalizeText(value.text);
|
|
116
|
+
}
|
|
117
|
+
function valueBelow(label, spans) {
|
|
118
|
+
return spans
|
|
119
|
+
.filter((span) => span.y < label.y - 2 &&
|
|
120
|
+
label.y - span.y <= 36 &&
|
|
121
|
+
span.x >= label.x - 2 &&
|
|
122
|
+
!TAX_CODE.test(normalizeText(span.text)) &&
|
|
123
|
+
!/^(?:codice fiscale|cittadinanza|residenza|residente|nat[oa]\b|carica\b)/i.test(normalizeText(span.text)))
|
|
124
|
+
.sort((left, right) => right.y - left.y || left.x - right.x || right.width - left.width)[0];
|
|
125
|
+
}
|
|
126
|
+
function assignBirthDetails(result, value) {
|
|
127
|
+
const normalized = normalizeText(value).replace(/^:\s*/, '');
|
|
128
|
+
const dateMatch = /(?:^|\s)il\s+(\d{2}\/\d{2}\/\d{4})(?:\s|$)/i.exec(normalized);
|
|
129
|
+
const placeWithProvince = normalizeText(dateMatch === null ? normalized : normalized.slice(0, dateMatch.index));
|
|
130
|
+
const province = /^(.*?)\s+\(([A-Z]{2})\)$/i.exec(placeWithProvince);
|
|
131
|
+
const place = normalizeText(province?.[1] ?? placeWithProvince);
|
|
132
|
+
if (place.length > 0 && result.birthPlace === undefined)
|
|
133
|
+
result.birthPlace = place;
|
|
134
|
+
if (province?.[2] && result.birthProvince === undefined)
|
|
135
|
+
result.birthProvince = province[2].toUpperCase();
|
|
136
|
+
if (dateMatch?.[1] && result.birthDate === undefined) {
|
|
137
|
+
const date = parseItalianDate(dateMatch[1]);
|
|
138
|
+
if (date !== undefined)
|
|
139
|
+
result.birthDate = date;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
function parsePersonDetails(spans) {
|
|
143
|
+
const result = {};
|
|
144
|
+
const ordered = [...spans].sort((left, right) => right.y - left.y || left.x - right.x || left.width - right.width);
|
|
145
|
+
for (const span of ordered) {
|
|
146
|
+
const text = normalizeText(span.text);
|
|
147
|
+
const born = /^nat[oa]\s+(?:ad|a)\s*:?[ ]*(.+)$/i.exec(text);
|
|
148
|
+
if (born?.[1])
|
|
149
|
+
assignBirthDetails(result, born[1]);
|
|
150
|
+
if (/^nat[oa]\s+(?:ad|a)\s*:?$/i.test(text)) {
|
|
151
|
+
const beside = valueBeside(span, spans);
|
|
152
|
+
const below = beside === undefined ? valueBelow(span, spans) : undefined;
|
|
153
|
+
const value = beside ?? below?.text;
|
|
154
|
+
if (value !== undefined) {
|
|
155
|
+
const followingDate = below === undefined
|
|
156
|
+
? undefined
|
|
157
|
+
: spans.find((candidate) => candidate.y < below.y - 2 &&
|
|
158
|
+
below.y - candidate.y <= 20 &&
|
|
159
|
+
Math.abs(candidate.x - below.x) <= 3 &&
|
|
160
|
+
/^il\s+\d{2}\/\d{2}\/\d{4}$/i.test(normalizeText(candidate.text)));
|
|
161
|
+
assignBirthDetails(result, `${normalizeText(value)}${followingDate === undefined ? '' : ` ${normalizeText(followingDate.text)}`}`);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
const citizenship = /^cittadinanza\s*:?\s*(.*)$/i.exec(text);
|
|
165
|
+
if (citizenship !== null && result.citizenship === undefined) {
|
|
166
|
+
const value = citizenship[1] ||
|
|
167
|
+
valueBeside(span, spans) ||
|
|
168
|
+
valueBelow(span, spans)?.text;
|
|
169
|
+
if (value)
|
|
170
|
+
result.citizenship = normalizeText(value);
|
|
171
|
+
}
|
|
172
|
+
const residence = /^(?:residenza|residente(?:\s+a)?)\s*:?\s*(.*)$/i.exec(text);
|
|
173
|
+
if (residence !== null && result.residenceAddress === undefined) {
|
|
174
|
+
const value = residence[1] ||
|
|
175
|
+
valueBeside(span, spans) ||
|
|
176
|
+
valueBelow(span, spans)?.text;
|
|
177
|
+
if (value)
|
|
178
|
+
result.residenceAddress = normalizeText(value);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return result;
|
|
182
|
+
}
|
|
183
|
+
function personDetailSpans(spans, records, sections, pageWidth, role, name) {
|
|
184
|
+
const nextIdentity = records
|
|
185
|
+
.filter((record) => record.name.y < name.y - 2 &&
|
|
186
|
+
record.name.x < pageWidth / 2 === name.x < pageWidth / 2)
|
|
187
|
+
.sort((left, right) => right.name.y - left.name.y)[0];
|
|
188
|
+
const nextSection = sections
|
|
189
|
+
.filter((span) => span.y < name.y)
|
|
190
|
+
.sort((left, right) => right.y - left.y)[0];
|
|
191
|
+
const lower = Math.max(name.y - 180, nextIdentity === undefined
|
|
192
|
+
? -Infinity
|
|
193
|
+
: nextIdentity.name.y + OWNERSHIP_ROW_TOLERANCE, nextSection?.y ?? -Infinity);
|
|
194
|
+
const upper = Math.max(role.y, name.y) + OWNERSHIP_ROW_TOLERANCE;
|
|
195
|
+
return spans.filter((span) => span.y <= upper &&
|
|
196
|
+
span.y > lower &&
|
|
197
|
+
!SECTION.test(normalizeText(span.text)));
|
|
198
|
+
}
|
|
199
|
+
function ownershipDetailSpans(spans, roles, sections, role, name) {
|
|
200
|
+
const nextRole = roles.find((other) => other.y < name.y - 2);
|
|
201
|
+
const nextSection = sections
|
|
202
|
+
.filter((span) => span.y < name.y)
|
|
203
|
+
.sort((left, right) => right.y - left.y)[0];
|
|
204
|
+
const lower = Math.max(name.y - 180, nextRole === undefined ? -Infinity : nextRole.y + OWNERSHIP_ROW_TOLERANCE, nextSection?.y ?? -Infinity);
|
|
205
|
+
return spans.filter((span) => span.y <= role.y + OWNERSHIP_ROW_TOLERANCE &&
|
|
206
|
+
span.y > lower &&
|
|
207
|
+
!SECTION.test(normalizeText(span.text)));
|
|
208
|
+
}
|
|
209
|
+
function mergePersonDetails(target, source) {
|
|
210
|
+
for (const key of [
|
|
211
|
+
'birthDate',
|
|
212
|
+
'birthPlace',
|
|
213
|
+
'birthProvince',
|
|
214
|
+
'citizenship',
|
|
215
|
+
'residenceAddress',
|
|
216
|
+
]) {
|
|
217
|
+
if (target[key] === undefined && source[key] !== undefined)
|
|
218
|
+
target[key] = source[key];
|
|
219
|
+
}
|
|
220
|
+
}
|
|
90
221
|
function mergeOfficer(officers, entry) {
|
|
91
222
|
const existing = officers.find((other) => entry.taxCode !== undefined && other.taxCode !== undefined
|
|
92
223
|
? entry.taxCode === other.taxCode
|
|
@@ -97,6 +228,7 @@ function mergeOfficer(officers, entry) {
|
|
|
97
228
|
}
|
|
98
229
|
if (entry.taxCode !== undefined)
|
|
99
230
|
existing.taxCode = entry.taxCode;
|
|
231
|
+
mergePersonDetails(existing, entry);
|
|
100
232
|
for (const role of entry.roles ?? []) {
|
|
101
233
|
existing.roles ??= [];
|
|
102
234
|
if (!existing.roles.some((other) => foldText(other) === foldText(role)))
|
|
@@ -144,7 +276,7 @@ export function parsePeople(pdf, coverPage) {
|
|
|
144
276
|
: adjacentName(page, role, roleFragments);
|
|
145
277
|
let identity = adjacent === undefined
|
|
146
278
|
? undefined
|
|
147
|
-
:
|
|
279
|
+
: identityForName(page, records, adjacent);
|
|
148
280
|
if (adjacent === undefined) {
|
|
149
281
|
identity = records
|
|
150
282
|
.filter((record) => record.y > role.y &&
|
|
@@ -160,9 +292,12 @@ export function parsePeople(pdf, coverPage) {
|
|
|
160
292
|
const name = adjacent ?? identity?.name;
|
|
161
293
|
if (name === undefined)
|
|
162
294
|
continue;
|
|
295
|
+
const details = { ...(identity?.details ?? {}) };
|
|
296
|
+
mergePersonDetails(details, parsePersonDetails(personDetailSpans(spans, records, sections, page.width, role, name)));
|
|
163
297
|
const person = {
|
|
164
298
|
name: fullName(page, name),
|
|
165
299
|
...(identity ? { taxCode: identity.taxCode } : {}),
|
|
300
|
+
...details,
|
|
166
301
|
};
|
|
167
302
|
if (classification.officer) {
|
|
168
303
|
mergeOfficer(result.officers, { ...person, roles: [text] });
|
|
@@ -190,17 +325,8 @@ export function parsePeople(pdf, coverPage) {
|
|
|
190
325
|
/^rappresentante dell'impresa$/i.test(normalizeText(span.text))))
|
|
191
326
|
result.primaryRepresentative = { name: person.name, role: text };
|
|
192
327
|
// Quota facts must be inside this ownership record. No capital/paid-up fallback.
|
|
193
|
-
const
|
|
194
|
-
const
|
|
195
|
-
.filter((span) => SECTION.test(normalizeText(span.text)) && span.y < name.y)
|
|
196
|
-
.sort((a, b) => b.y - a.y)[0];
|
|
197
|
-
const lower = Math.max(name.y - 180, nextRole === undefined
|
|
198
|
-
? -Infinity
|
|
199
|
-
: nextRole.y + OWNERSHIP_ROW_TOLERANCE, nextSection?.y ?? -Infinity);
|
|
200
|
-
const detail = spans.filter((span) => span.y <= role.y + OWNERSHIP_ROW_TOLERANCE &&
|
|
201
|
-
span.y > lower &&
|
|
202
|
-
!SECTION.test(normalizeText(span.text)));
|
|
203
|
-
for (const span of detail) {
|
|
328
|
+
const ownershipDetails = ownershipDetailSpans(spans, roles, sections, role, name);
|
|
329
|
+
for (const span of ownershipDetails) {
|
|
204
330
|
const value = normalizeText(span.text);
|
|
205
331
|
const nominal = /^(?:valore nominale|quota)\s*(?:di nominali)?\s*:?\s*([\d.,]+)\s*(euro|EUR)?$/i.exec(value);
|
|
206
332
|
if (nominal?.[1]) {
|
|
@@ -229,12 +355,48 @@ export function parsePeople(pdf, coverPage) {
|
|
|
229
355
|
(other.nominalValue === undefined ||
|
|
230
356
|
shareholder.nominalValue === undefined ||
|
|
231
357
|
other.nominalValue === shareholder.nominalValue));
|
|
232
|
-
if (existing)
|
|
233
|
-
|
|
358
|
+
if (existing) {
|
|
359
|
+
mergePersonDetails(existing, shareholder);
|
|
360
|
+
Object.assign(existing, {
|
|
361
|
+
...(shareholder.taxCode !== undefined
|
|
362
|
+
? { taxCode: shareholder.taxCode }
|
|
363
|
+
: {}),
|
|
364
|
+
...(shareholder.rightType !== undefined
|
|
365
|
+
? { rightType: shareholder.rightType }
|
|
366
|
+
: {}),
|
|
367
|
+
...(shareholder.nominalValue !== undefined
|
|
368
|
+
? { nominalValue: shareholder.nominalValue }
|
|
369
|
+
: {}),
|
|
370
|
+
...(shareholder.currency !== undefined
|
|
371
|
+
? { currency: shareholder.currency }
|
|
372
|
+
: {}),
|
|
373
|
+
...(shareholder.ownershipPercentage !== undefined
|
|
374
|
+
? { ownershipPercentage: shareholder.ownershipPercentage }
|
|
375
|
+
: {}),
|
|
376
|
+
...(shareholder.isSoleShareholder !== undefined
|
|
377
|
+
? { isSoleShareholder: shareholder.isSoleShareholder }
|
|
378
|
+
: {}),
|
|
379
|
+
});
|
|
380
|
+
}
|
|
234
381
|
else
|
|
235
382
|
result.shareholders.push(shareholder);
|
|
236
383
|
}
|
|
237
384
|
}
|
|
385
|
+
for (const record of records) {
|
|
386
|
+
for (const person of [...result.officers, ...result.shareholders]) {
|
|
387
|
+
if (person.taxCode === record.taxCode)
|
|
388
|
+
mergePersonDetails(person, record.details);
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
for (const shareholder of result.shareholders) {
|
|
392
|
+
if (shareholder.taxCode === undefined)
|
|
393
|
+
continue;
|
|
394
|
+
const officer = result.officers.find((candidate) => candidate.taxCode === shareholder.taxCode);
|
|
395
|
+
if (officer === undefined)
|
|
396
|
+
continue;
|
|
397
|
+
mergePersonDetails(officer, shareholder);
|
|
398
|
+
mergePersonDetails(shareholder, officer);
|
|
399
|
+
}
|
|
238
400
|
return result;
|
|
239
401
|
}
|
|
240
402
|
//# sourceMappingURL=parse-people.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-people.js","sourceRoot":"","sources":["../../src/internal/parse-people.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse-people.js","sourceRoot":"","sources":["../../src/internal/parse-people.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export interface Representative {
|
|
|
9
9
|
export interface AtecoClassification {
|
|
10
10
|
/** ATECO or ATECORI classification code. */
|
|
11
11
|
code?: string;
|
|
12
|
+
/** ATECO classification version, only when an explicit version heading is printed. */
|
|
13
|
+
version?: string;
|
|
12
14
|
/** Official activity description associated with the classification code. */
|
|
13
15
|
description?: string;
|
|
14
16
|
/** Official classification qualifier as reported in the source document, when available, e.g. 'prevalente' or 'primaria'. */
|
|
@@ -111,6 +113,20 @@ export interface LocalUnit {
|
|
|
111
113
|
reaNumber?: string;
|
|
112
114
|
/** Official description of the primary activity carried out at the local unit. */
|
|
113
115
|
primaryActivity?: string;
|
|
116
|
+
/** Type or facility kind of the local unit as reported by the Business Register. */
|
|
117
|
+
type?: string;
|
|
118
|
+
/** Official description of a secondary activity carried out at the local unit. */
|
|
119
|
+
secondaryActivity?: string;
|
|
120
|
+
/** Primary/local Italian ATECO classification code associated with the local unit. */
|
|
121
|
+
atecoCode?: string;
|
|
122
|
+
/** ATECO or ATECORI classifications reported for the local unit. */
|
|
123
|
+
atecoClassifications?: AtecoClassification[];
|
|
124
|
+
/** Trade name (insegna) reported for the local unit. */
|
|
125
|
+
tradeName?: string;
|
|
126
|
+
/** Activity declarations or SCIA filings, preserved as printed source prose. */
|
|
127
|
+
activityDeclarations?: string[];
|
|
128
|
+
/** Licences and authorisations, preserved as printed source prose. */
|
|
129
|
+
licensesAndRegistrations?: string[];
|
|
114
130
|
}
|
|
115
131
|
/** Structured registry data. */
|
|
116
132
|
export interface Officer {
|
|
@@ -118,6 +134,16 @@ export interface Officer {
|
|
|
118
134
|
name?: string;
|
|
119
135
|
/** Italian tax identification code of the person, when reported. */
|
|
120
136
|
taxCode?: string;
|
|
137
|
+
/** Date of birth of the person, normalized as an ISO calendar date. */
|
|
138
|
+
birthDate?: string;
|
|
139
|
+
/** Place of birth of the person, without the separately reported province code. */
|
|
140
|
+
birthPlace?: string;
|
|
141
|
+
/** Province or foreign-state code printed with the person's place of birth. */
|
|
142
|
+
birthProvince?: string;
|
|
143
|
+
/** Citizenship of the person as reported in the source document. */
|
|
144
|
+
citizenship?: string;
|
|
145
|
+
/** Residence address of the person as reported in the source document. */
|
|
146
|
+
residenceAddress?: string;
|
|
121
147
|
/** Official corporate roles held by the person, preserved as reported in the source document. */
|
|
122
148
|
roles?: string[];
|
|
123
149
|
}
|
|
@@ -127,6 +153,16 @@ export interface Shareholder {
|
|
|
127
153
|
name?: string;
|
|
128
154
|
/** Italian tax identification code of the shareholder or member, when reported. */
|
|
129
155
|
taxCode?: string;
|
|
156
|
+
/** Date of birth of an individual shareholder, normalized as an ISO calendar date. */
|
|
157
|
+
birthDate?: string;
|
|
158
|
+
/** Place of birth of an individual shareholder, without the separately reported province code. */
|
|
159
|
+
birthPlace?: string;
|
|
160
|
+
/** Province or foreign-state code printed with an individual shareholder's place of birth. */
|
|
161
|
+
birthProvince?: string;
|
|
162
|
+
/** Citizenship of an individual shareholder as reported in the source document. */
|
|
163
|
+
citizenship?: string;
|
|
164
|
+
/** Residence address of an individual shareholder as reported in the source document. */
|
|
165
|
+
residenceAddress?: string;
|
|
130
166
|
/** Official type of right over the shares or ownership interest as reported in the source document, e.g. 'PROPRIETA'', 'USUFRUTTO' or 'NUDA PROPRIETA''. */
|
|
131
167
|
rightType?: string;
|
|
132
168
|
/** Nominal value of the shares, quotas or ownership interest held. */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/exampleOutput.json
CHANGED
|
@@ -126,7 +126,31 @@
|
|
|
126
126
|
"address": "MILANO (MI) VIA ESEMPIO 15 - 20121",
|
|
127
127
|
"openingDate": "2023-06-01",
|
|
128
128
|
"reaNumber": "MI-2684512",
|
|
129
|
-
"primaryActivity": "CONSULENZA NEL SETTORE DELLE TECNOLOGIE DELL'INFORMATICA"
|
|
129
|
+
"primaryActivity": "CONSULENZA NEL SETTORE DELLE TECNOLOGIE DELL'INFORMATICA",
|
|
130
|
+
"type": "UNITA' LOCALE",
|
|
131
|
+
"secondaryActivity": "ELABORAZIONE DATI",
|
|
132
|
+
"atecoCode": "62.02.00",
|
|
133
|
+
"atecoClassifications": [
|
|
134
|
+
{
|
|
135
|
+
"code": "62.02.00",
|
|
136
|
+
"version": "2007-2022",
|
|
137
|
+
"description": "CONSULENZA NEL SETTORE DELLE TECNOLOGIE DELL'INFORMATICA",
|
|
138
|
+
"importance": "PRIMARIA"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"code": "63.11.19",
|
|
142
|
+
"version": "2007-2022",
|
|
143
|
+
"description": "ALTRE ELABORAZIONI ELETTRONICHE DI DATI",
|
|
144
|
+
"importance": "SECONDARIA"
|
|
145
|
+
}
|
|
146
|
+
],
|
|
147
|
+
"tradeName": "ACME DIGITAL LAB",
|
|
148
|
+
"activityDeclarations": [
|
|
149
|
+
"SCIA PRESENTATA AL SUAP DEL COMUNE DI MILANO IN DATA 01/06/2023"
|
|
150
|
+
],
|
|
151
|
+
"licensesAndRegistrations": [
|
|
152
|
+
"AUTORIZZAZIONE COMUNALE ALL'ESERCIZIO DELL'ATTIVITA' DEL 01/06/2023"
|
|
153
|
+
]
|
|
130
154
|
}
|
|
131
155
|
],
|
|
132
156
|
|
|
@@ -134,6 +158,11 @@
|
|
|
134
158
|
{
|
|
135
159
|
"name": "MARIO ROSSI",
|
|
136
160
|
"taxCode": "RSSMRA80A01F205X",
|
|
161
|
+
"birthDate": "1980-01-01",
|
|
162
|
+
"birthPlace": "MILANO",
|
|
163
|
+
"birthProvince": "MI",
|
|
164
|
+
"citizenship": "ITALIANA",
|
|
165
|
+
"residenceAddress": "MILANO (MI) VIA ESEMPIO 10 - 20121",
|
|
137
166
|
"roles": [
|
|
138
167
|
"PRESIDENTE CONSIGLIO AMMINISTRAZIONE",
|
|
139
168
|
"AMMINISTRATORE DELEGATO"
|
|
@@ -170,6 +199,11 @@
|
|
|
170
199
|
{
|
|
171
200
|
"name": "MARIO ROSSI",
|
|
172
201
|
"taxCode": "RSSMRA80A01F205X",
|
|
202
|
+
"birthDate": "1980-01-01",
|
|
203
|
+
"birthPlace": "MILANO",
|
|
204
|
+
"birthProvince": "MI",
|
|
205
|
+
"citizenship": "ITALIANA",
|
|
206
|
+
"residenceAddress": "MILANO (MI) VIA ESEMPIO 10 - 20121",
|
|
173
207
|
|
|
174
208
|
"rightType": "PROPRIETA'",
|
|
175
209
|
|
package/outputSchema.json
CHANGED
|
@@ -137,6 +137,11 @@
|
|
|
137
137
|
"description": "ATECO or ATECORI classification code."
|
|
138
138
|
},
|
|
139
139
|
|
|
140
|
+
"version": {
|
|
141
|
+
"type": "string",
|
|
142
|
+
"description": "ATECO classification version, only when an explicit version heading is printed."
|
|
143
|
+
},
|
|
144
|
+
|
|
140
145
|
"description": {
|
|
141
146
|
"type": "string",
|
|
142
147
|
"description": "Official activity description associated with the classification code."
|
|
@@ -394,6 +399,73 @@
|
|
|
394
399
|
"primaryActivity": {
|
|
395
400
|
"type": "string",
|
|
396
401
|
"description": "Official description of the primary activity carried out at the local unit."
|
|
402
|
+
},
|
|
403
|
+
|
|
404
|
+
"type": {
|
|
405
|
+
"type": "string",
|
|
406
|
+
"description": "Type or facility kind of the local unit as reported by the Business Register."
|
|
407
|
+
},
|
|
408
|
+
|
|
409
|
+
"secondaryActivity": {
|
|
410
|
+
"type": "string",
|
|
411
|
+
"description": "Official description of a secondary activity carried out at the local unit."
|
|
412
|
+
},
|
|
413
|
+
|
|
414
|
+
"atecoCode": {
|
|
415
|
+
"type": "string",
|
|
416
|
+
"description": "Primary/local Italian ATECO classification code associated with the local unit."
|
|
417
|
+
},
|
|
418
|
+
|
|
419
|
+
"atecoClassifications": {
|
|
420
|
+
"type": "array",
|
|
421
|
+
"description": "ATECO or ATECORI classifications reported for the local unit.",
|
|
422
|
+
"items": {
|
|
423
|
+
"type": "object",
|
|
424
|
+
"additionalProperties": false,
|
|
425
|
+
|
|
426
|
+
"properties": {
|
|
427
|
+
"code": {
|
|
428
|
+
"type": "string",
|
|
429
|
+
"description": "ATECO or ATECORI classification code."
|
|
430
|
+
},
|
|
431
|
+
|
|
432
|
+
"version": {
|
|
433
|
+
"type": "string",
|
|
434
|
+
"description": "ATECO classification version, only when an explicit version heading is printed."
|
|
435
|
+
},
|
|
436
|
+
|
|
437
|
+
"description": {
|
|
438
|
+
"type": "string",
|
|
439
|
+
"description": "Official activity description associated with the classification code."
|
|
440
|
+
},
|
|
441
|
+
|
|
442
|
+
"importance": {
|
|
443
|
+
"type": "string",
|
|
444
|
+
"description": "Official classification qualifier as reported in the source document, when available, e.g. 'prevalente' or 'primaria'."
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
},
|
|
449
|
+
|
|
450
|
+
"tradeName": {
|
|
451
|
+
"type": "string",
|
|
452
|
+
"description": "Trade name (insegna) reported for the local unit."
|
|
453
|
+
},
|
|
454
|
+
|
|
455
|
+
"activityDeclarations": {
|
|
456
|
+
"type": "array",
|
|
457
|
+
"description": "Activity declarations or SCIA filings, preserved as printed source prose.",
|
|
458
|
+
"items": {
|
|
459
|
+
"type": "string"
|
|
460
|
+
}
|
|
461
|
+
},
|
|
462
|
+
|
|
463
|
+
"licensesAndRegistrations": {
|
|
464
|
+
"type": "array",
|
|
465
|
+
"description": "Licences and authorisations, preserved as printed source prose.",
|
|
466
|
+
"items": {
|
|
467
|
+
"type": "string"
|
|
468
|
+
}
|
|
397
469
|
}
|
|
398
470
|
}
|
|
399
471
|
}
|
|
@@ -417,6 +489,33 @@
|
|
|
417
489
|
"description": "Italian tax identification code of the person, when reported."
|
|
418
490
|
},
|
|
419
491
|
|
|
492
|
+
"birthDate": {
|
|
493
|
+
"type": "string",
|
|
494
|
+
"format": "date",
|
|
495
|
+
"description": "Date of birth of the person, normalized as an ISO calendar date."
|
|
496
|
+
},
|
|
497
|
+
|
|
498
|
+
"birthPlace": {
|
|
499
|
+
"type": "string",
|
|
500
|
+
"description": "Place of birth of the person, without the separately reported province code."
|
|
501
|
+
},
|
|
502
|
+
|
|
503
|
+
"birthProvince": {
|
|
504
|
+
"type": "string",
|
|
505
|
+
"pattern": "^[A-Z]{2}$",
|
|
506
|
+
"description": "Province or foreign-state code printed with the person's place of birth."
|
|
507
|
+
},
|
|
508
|
+
|
|
509
|
+
"citizenship": {
|
|
510
|
+
"type": "string",
|
|
511
|
+
"description": "Citizenship of the person as reported in the source document."
|
|
512
|
+
},
|
|
513
|
+
|
|
514
|
+
"residenceAddress": {
|
|
515
|
+
"type": "string",
|
|
516
|
+
"description": "Residence address of the person as reported in the source document."
|
|
517
|
+
},
|
|
518
|
+
|
|
420
519
|
"roles": {
|
|
421
520
|
"type": "array",
|
|
422
521
|
"description": "Official corporate roles held by the person, preserved as reported in the source document.",
|
|
@@ -446,6 +545,33 @@
|
|
|
446
545
|
"description": "Italian tax identification code of the shareholder or member, when reported."
|
|
447
546
|
},
|
|
448
547
|
|
|
548
|
+
"birthDate": {
|
|
549
|
+
"type": "string",
|
|
550
|
+
"format": "date",
|
|
551
|
+
"description": "Date of birth of an individual shareholder, normalized as an ISO calendar date."
|
|
552
|
+
},
|
|
553
|
+
|
|
554
|
+
"birthPlace": {
|
|
555
|
+
"type": "string",
|
|
556
|
+
"description": "Place of birth of an individual shareholder, without the separately reported province code."
|
|
557
|
+
},
|
|
558
|
+
|
|
559
|
+
"birthProvince": {
|
|
560
|
+
"type": "string",
|
|
561
|
+
"pattern": "^[A-Z]{2}$",
|
|
562
|
+
"description": "Province or foreign-state code printed with an individual shareholder's place of birth."
|
|
563
|
+
},
|
|
564
|
+
|
|
565
|
+
"citizenship": {
|
|
566
|
+
"type": "string",
|
|
567
|
+
"description": "Citizenship of an individual shareholder as reported in the source document."
|
|
568
|
+
},
|
|
569
|
+
|
|
570
|
+
"residenceAddress": {
|
|
571
|
+
"type": "string",
|
|
572
|
+
"description": "Residence address of an individual shareholder as reported in the source document."
|
|
573
|
+
},
|
|
574
|
+
|
|
449
575
|
"rightType": {
|
|
450
576
|
"type": "string",
|
|
451
577
|
"description": "Official type of right over the shares or ownership interest as reported in the source document, e.g. 'PROPRIETA'', 'USUFRUTTO' or 'NUDA PROPRIETA''."
|