Skip to content

Commit 6aba306

Browse files
Merge pull request #206 from hmrc/MTDSA-32441
MTDSA-32441 - Added regex and descriptions for pensionSchemeTaxRefere…
2 parents c9d273b + 73206e7 commit 6aba306

File tree

4 files changed

+572
-314
lines changed

4 files changed

+572
-314
lines changed

resources/public/api/conf/2.0/schemas/createAmendPension/def1/create_amend_request_schema.json

Lines changed: 144 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@
1010
"properties": {
1111
"pensionSchemeTaxReference": {
1212
"type": "array",
13+
"description": "A list of one or more unique references provided by HM Revenue and Customs (HMRC) when the scheme has been registered for tax relief and exemptions. It is 10 characters made up of 8 numbers followed by 2 letters.",
1314
"items": {
14-
"description": "A list of one or more unique references provided by HM Revenue and Customs (HMRC) when the scheme has been registered for tax relief and exemptions. It is 10 characters made up of 8 numbers followed by 2 letters.",
15+
"pattern": "^\\d{8}[R]{1}[a-zA-Z]{1}$",
1516
"type": "string",
1617
"example": "00123456RA"
1718
}
@@ -69,46 +70,77 @@
6970
"description": "Details of overseas pension provider.",
7071
"type": "array",
7172
"items": {
72-
"title": "item",
73-
"type": "object",
74-
"properties": {
75-
"providerName": {
76-
"description": "The name of the pension provider.",
77-
"type": "string",
78-
"example": "Overseas Pensions Plc"
73+
"oneOf": [
74+
{
75+
"title": "qualifyingRecognisedOverseasPensionScheme",
76+
"type": "object",
77+
"properties": {
78+
"providerName": {
79+
"description": "The name of the pension provider.",
80+
"type": "string",
81+
"example": "Overseas Pensions Plc"
82+
},
83+
"providerAddress": {
84+
"description": "The address of the pension provider.",
85+
"type": "string",
86+
"example": "111 Main Street, Any Town, Any City"
87+
},
88+
"providerCountryCode": {
89+
"description": "A three-letter code that represents a country name. The value must be a ISO 3166-1 alpha-3 code.",
90+
"type": "string",
91+
"example": "CYM"
92+
},
93+
"qualifyingRecognisedOverseasPensionScheme": {
94+
"type": "array",
95+
"description": "A list of one or more qualifying overseas pension scheme reference numbers for overseas pensions contributions.",
96+
"items": {
97+
"pattern": "^[Q]{1}[0-9]{6}$",
98+
"type": "string",
99+
"example": "Q123456"
100+
}
101+
},
102+
},
103+
"required": [
104+
"providerName",
105+
"providerAddress",
106+
"providerCountryCode"
107+
]
79108
},
80-
"providerAddress": {
81-
"description": "The address of the pension provider.",
82-
"type": "string",
83-
"example": "111 Main Street, Any Town, Any City"
84-
},
85-
"providerCountryCode": {
86-
"description": "A three-letter code that represents a country name. The value must be a ISO 3166-1 alpha-3 code.",
87-
"type": "string",
88-
"example": "CYM"
89-
},
90-
"qualifyingRecognisedOverseasPensionScheme": {
91-
"type": "array",
92-
"Description": "Array of qualifying recognised Overseas Pension Scheme reference number",
93-
"items": {
94-
"description": "A list of one or more qualifying overseas pension scheme reference number for overseas pensions contributions.",
95-
"type": "string",
96-
"example": "Q123456"
97-
}
98-
},
99-
"pensionSchemeTaxReference": {
100-
"type": "array",
101-
"items": {
102-
"description": "A list of one or more unique references provided by HM Revenue and Customs (HMRC) when the scheme has been registered for tax relief and exemptions. It is 10 characters made up of 8 numbers followed by 2 letters.",
103-
"type": "string",
104-
"example": "00123456RA"
105-
}
109+
{
110+
"title": "pensionSchemeTaxReference",
111+
"type": "object",
112+
"properties": {
113+
"providerName": {
114+
"description": "The name of the pension provider.",
115+
"type": "string",
116+
"example": "Overseas Pensions Plc"
117+
},
118+
"providerAddress": {
119+
"description": "The address of the pension provider.",
120+
"type": "string",
121+
"example": "111 Main Street, Any Town, Any City"
122+
},
123+
"providerCountryCode": {
124+
"description": "A three-letter code that represents a country name. The value must be a ISO 3166-1 alpha-3 code.",
125+
"type": "string",
126+
"example": "CYM"
127+
},
128+
"pensionSchemeTaxReference": {
129+
"type": "array",
130+
"description": "A list of one or more unique references provided by HM Revenue and Customs (HMRC) when the scheme has been registered for tax relief and exemptions. It is 10 characters made up of 8 numbers followed by 2 letters.",
131+
"items": {
132+
"pattern": "^\\d{8}[R]{1}[a-zA-Z]{1}$",
133+
"type": "string",
134+
"example": "00123456RA"
135+
}
136+
}
137+
},
138+
"required": [
139+
"providerName",
140+
"providerAddress",
141+
"providerCountryCode"
142+
]
106143
}
107-
},
108-
"required": [
109-
"providerName",
110-
"providerAddress",
111-
"providerCountryCode"
112144
]
113145
}
114146
},
@@ -135,8 +167,9 @@
135167
"properties": {
136168
"pensionSchemeTaxReference": {
137169
"type": "array",
170+
"description": "A list of one or more unique references provided by HM Revenue and Customs (HMRC) when the scheme has been registered for tax relief and exemptions. It is 10 characters made up of 8 numbers followed by 2 letters.",
138171
"items": {
139-
"description": "A list of one or more unique references provided by HM Revenue and Customs (HMRC) when the scheme has been registered for tax relief and exemptions. It is 10 characters made up of 8 numbers followed by 2 letters.",
172+
"pattern": "^\\d{8}[R]{1}[a-zA-Z]{1}$",
140173
"type": "string",
141174
"example": "00123456RA"
142175
}
@@ -192,8 +225,9 @@
192225
"properties": {
193226
"pensionSchemeTaxReference": {
194227
"type": "array",
228+
"description": "A list of one or more unique references provided by HM Revenue and Customs (HMRC) when the scheme has been registered for tax relief and exemptions. It is 10 characters made up of 8 numbers followed by 2 letters.",
195229
"items": {
196-
"description": "A list of one or more unique references provided by HM Revenue and Customs (HMRC) when the scheme has been registered for tax relief and exemptions. It is 10 characters made up of 8 numbers followed by 2 letters.",
230+
"pattern": "^\\d{8}[R]{1}[a-zA-Z]{1}$",
197231
"type": "string",
198232
"example": "00123456RA"
199233
}
@@ -239,46 +273,77 @@
239273
"description": "Details of overseas pension provider.",
240274
"type": "array",
241275
"items": {
242-
"title": "item",
243-
"type": "object",
244-
"properties": {
245-
"providerName": {
246-
"description": "The name of the pension provider.",
247-
"type": "string",
248-
"example": "Overseas Pensions Plc"
276+
"oneOf": [
277+
{
278+
"title": "qualifyingRecognisedOverseasPensionScheme",
279+
"type": "object",
280+
"properties": {
281+
"providerName": {
282+
"description": "The name of the pension provider.",
283+
"type": "string",
284+
"example": "Overseas Pensions Plc"
285+
},
286+
"providerAddress": {
287+
"description": "The address of the pension provider.",
288+
"type": "string",
289+
"example": "111 Main Street, Any Town, Any City"
290+
},
291+
"providerCountryCode": {
292+
"description": "A three-letter code that represents a country name. The value must be a ISO 3166-1 alpha-3 code.",
293+
"type": "string",
294+
"example": "CYM"
295+
},
296+
"qualifyingRecognisedOverseasPensionScheme": {
297+
"type": "array",
298+
"description": "A list of one or more qualifying overseas pension scheme reference numbers for overseas pensions contributions.",
299+
"items": {
300+
"pattern": "^[Q]{1}[0-9]{6}$",
301+
"type": "string",
302+
"example": "Q123456"
303+
}
304+
},
305+
},
306+
"required": [
307+
"providerName",
308+
"providerAddress",
309+
"providerCountryCode"
310+
]
249311
},
250-
"providerAddress": {
251-
"description": "The address of the pension provider.",
252-
"type": "string",
253-
"example": "111 Main Street, Any Town, Any City"
254-
},
255-
"providerCountryCode": {
256-
"description": "A three-letter code that represents a country name. The value must be a ISO 3166-1 alpha-3 code.",
257-
"type": "string",
258-
"example": "CYM"
259-
},
260-
"qualifyingRecognisedOverseasPensionScheme": {
261-
"type": "array",
262-
"Description": "A list of one or more qualifying recognised Overseas Pension Scheme reference number",
263-
"items": {
264-
"description": "A list of one or more qualifying overseas pension scheme reference number for overseas pensions contributions.",
265-
"type": "string",
266-
"example": "Q123456"
267-
}
268-
},
269-
"pensionSchemeTaxReference": {
270-
"type": "array",
271-
"items": {
272-
"description": "A list of one or more unique references provided by HM Revenue and Customs (HMRC) when the scheme has been registered for tax relief and exemptions. It is 10 characters made up of 8 numbers followed by 2 letters.",
273-
"type": "string",
274-
"example": "00123456RA"
275-
}
312+
{
313+
"title": "pensionSchemeTaxReference",
314+
"type": "object",
315+
"properties": {
316+
"providerName": {
317+
"description": "The name of the pension provider.",
318+
"type": "string",
319+
"example": "Overseas Pensions Plc"
320+
},
321+
"providerAddress": {
322+
"description": "The address of the pension provider.",
323+
"type": "string",
324+
"example": "111 Main Street, Any Town, Any City"
325+
},
326+
"providerCountryCode": {
327+
"description": "A three-letter code that represents a country name. The value must be a ISO 3166-1 alpha-3 code.",
328+
"type": "string",
329+
"example": "CYM"
330+
},
331+
"pensionSchemeTaxReference": {
332+
"type": "array",
333+
"description": "A list of one or more unique references provided by HM Revenue and Customs (HMRC) when the scheme has been registered for tax relief and exemptions. It is 10 characters made up of 8 numbers followed by 2 letters.",
334+
"items": {
335+
"pattern": "^\\d{8}[R]{1}[a-zA-Z]{1}$",
336+
"type": "string",
337+
"example": "00123456RA"
338+
}
339+
}
340+
},
341+
"required": [
342+
"providerName",
343+
"providerAddress",
344+
"providerCountryCode"
345+
]
276346
}
277-
},
278-
"required": [
279-
"providerName",
280-
"providerAddress",
281-
"providerCountryCode"
282347
]
283348
}
284349
},

0 commit comments

Comments
 (0)