ondc-code-generator 1.0.0 → 1.0.1

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.
Files changed (32) hide show
  1. package/alpha/docs/rag-docs/confirm.md +301 -0
  2. package/alpha/docs/rag-docs/init.md +422 -0
  3. package/alpha/docs/rag-docs/on_confirm.md +921 -0
  4. package/alpha/docs/rag-docs/on_init.md +823 -0
  5. package/alpha/docs/rag-docs/on_search.md +897 -0
  6. package/alpha/docs/rag-docs/on_select.md +522 -0
  7. package/alpha/docs/rag-docs/on_status.md +854 -0
  8. package/alpha/docs/rag-docs/on_update.md +921 -0
  9. package/alpha/docs/rag-docs/search.md +678 -0
  10. package/alpha/docs/rag-docs/select.md +344 -0
  11. package/alpha/docs/rag-docs/status.md +178 -0
  12. package/alpha/docs/rag-docs/update.md +229 -0
  13. package/alpha/docs/rag-table-docs/confirm.md +63 -0
  14. package/alpha/docs/rag-table-docs/init.md +81 -0
  15. package/alpha/docs/rag-table-docs/on_confirm.md +164 -0
  16. package/alpha/docs/rag-table-docs/on_init.md +146 -0
  17. package/alpha/docs/rag-table-docs/on_search.md +163 -0
  18. package/alpha/docs/rag-table-docs/on_select.md +99 -0
  19. package/alpha/docs/rag-table-docs/on_status.md +153 -0
  20. package/alpha/docs/rag-table-docs/on_update.md +164 -0
  21. package/alpha/docs/rag-table-docs/raw_table.json +11198 -0
  22. package/alpha/docs/rag-table-docs/search.md +128 -0
  23. package/alpha/docs/rag-table-docs/select.md +70 -0
  24. package/alpha/docs/rag-table-docs/status.md +44 -0
  25. package/alpha/docs/rag-table-docs/update.md +51 -0
  26. package/alpha/docs/validPaths.json +34134 -0
  27. package/dist/generator/generators/documentation/markdown-message-generator.js +4 -1
  28. package/dist/generator/generators/rag/rag-generator.d.ts +39 -28
  29. package/dist/generator/generators/rag/rag-generator.js +149 -103
  30. package/dist/generator/generators/rag/rag-table-generator.d.ts +6 -0
  31. package/dist/generator/generators/rag/rag-table-generator.js +16 -6
  32. package/package.json +1 -1
@@ -0,0 +1,678 @@
1
+ ---
2
+ action: search
3
+ codeName: L1validations
4
+ numTests: 88
5
+ generated: 2026-03-10
6
+ domain: ONDC:FIS12
7
+ version: 2.3.0
8
+ ---
9
+
10
+ # L1validations — `search` Validations
11
+
12
+ These are the validation rules applied when processing the `search` API call in the L1validations flow.
13
+ There are **88** validation rules organized into **6** top-level group(s).
14
+
15
+ ---
16
+ ## SEARCH_CONTEXT
17
+
18
+ This group contains **3** sub-group(s)/validation(s): CONTEXT_REQUIRED, CONTEXT_ENUM, and CONTEXT_REGEX.
19
+
20
+ ---
21
+
22
+ ### CONTEXT_REQUIRED
23
+
24
+ This is a group of **12** sub-validation(s) that all must pass: REQUIRED_CONTEXT_LOCATION_COUNTRY_CODE, REQUIRED_CONTEXT_LOCATION_CITY_CODE, REQUIRED_CONTEXT_DOMAIN, REQUIRED_CONTEXT_TIMESTAMP, REQUIRED_CONTEXT_BAP_ID, REQUIRED_CONTEXT_BAP_URI, REQUIRED_CONTEXT_TRANSACTION_ID, REQUIRED_CONTEXT_MESSAGE_ID, REQUIRED_CONTEXT_VERSION, REQUIRED_CONTEXT_TTL, REQUIRED_CONTEXT_BPP_ID, and REQUIRED_CONTEXT_BPP_URI.
25
+
26
+ ---
27
+
28
+ **REQUIRED_CONTEXT_LOCATION_COUNTRY_CODE**
29
+ `group: SEARCH_CONTEXT > CONTEXT_REQUIRED | type: leaf`
30
+
31
+ - $.context.location.country.code must be present in the payload
32
+
33
+ **REQUIRED_CONTEXT_LOCATION_CITY_CODE**
34
+ `group: SEARCH_CONTEXT > CONTEXT_REQUIRED | type: leaf`
35
+
36
+ - $.context.location.city.code must be present in the payload
37
+
38
+ **REQUIRED_CONTEXT_DOMAIN**
39
+ `group: SEARCH_CONTEXT > CONTEXT_REQUIRED | type: leaf`
40
+
41
+ - $.context.domain must be present in the payload
42
+
43
+ **REQUIRED_CONTEXT_TIMESTAMP**
44
+ `group: SEARCH_CONTEXT > CONTEXT_REQUIRED | type: leaf`
45
+
46
+ - $.context.timestamp must be present in the payload
47
+
48
+ **REQUIRED_CONTEXT_BAP_ID**
49
+ `group: SEARCH_CONTEXT > CONTEXT_REQUIRED | type: leaf`
50
+
51
+ - $.context.bap_id must be present in the payload
52
+
53
+ **REQUIRED_CONTEXT_BAP_URI**
54
+ `group: SEARCH_CONTEXT > CONTEXT_REQUIRED | type: leaf`
55
+
56
+ - $.context.bap_uri must be present in the payload
57
+
58
+ **REQUIRED_CONTEXT_TRANSACTION_ID**
59
+ `group: SEARCH_CONTEXT > CONTEXT_REQUIRED | type: leaf`
60
+
61
+ - $.context.transaction_id must be present in the payload
62
+
63
+ **REQUIRED_CONTEXT_MESSAGE_ID**
64
+ `group: SEARCH_CONTEXT > CONTEXT_REQUIRED | type: leaf`
65
+
66
+ - $.context.message_id must be present in the payload
67
+
68
+ **REQUIRED_CONTEXT_VERSION**
69
+ `group: SEARCH_CONTEXT > CONTEXT_REQUIRED | type: leaf`
70
+
71
+ - $.context.version must be present in the payload
72
+
73
+ **REQUIRED_CONTEXT_TTL**
74
+ `group: SEARCH_CONTEXT > CONTEXT_REQUIRED | type: leaf`
75
+
76
+ - $.context.ttl must be present in the payload
77
+
78
+ **REQUIRED_CONTEXT_BPP_ID**
79
+ `group: SEARCH_CONTEXT > CONTEXT_REQUIRED | type: leaf`
80
+
81
+ - $.context.bpp_id must be present in the payload
82
+
83
+ > **Skip if:**
84
+ > - $.message.intent.provider.id is not in the payload
85
+
86
+ **REQUIRED_CONTEXT_BPP_URI**
87
+ `group: SEARCH_CONTEXT > CONTEXT_REQUIRED | type: leaf`
88
+
89
+ - $.context.bpp_uri must be present in the payload
90
+
91
+ > **Skip if:**
92
+ > - $.message.intent.provider.id is not in the payload
93
+
94
+ ### CONTEXT_ENUM
95
+
96
+ This is a group of **2** sub-validation(s) that all must pass: VALID_CONTEXT_LOCATION_COUNTRY_CODE and VALID_CONTEXT_DOMAIN.
97
+
98
+ ---
99
+
100
+ **VALID_CONTEXT_LOCATION_COUNTRY_CODE**
101
+ `group: SEARCH_CONTEXT > CONTEXT_ENUM | type: leaf`
102
+
103
+ - All elements of $.context.location.country.code must be in ["IND"]
104
+
105
+ > **Skip if:**
106
+ > - $.context.location.country.code is not in the payload
107
+
108
+ **VALID_CONTEXT_DOMAIN**
109
+ `group: SEARCH_CONTEXT > CONTEXT_ENUM | type: leaf`
110
+
111
+ - All elements of $.context.domain must be in ["ONDC:FIS12"]
112
+
113
+ > **Skip if:**
114
+ > - $.context.domain is not in the payload
115
+
116
+ ### CONTEXT_REGEX
117
+
118
+ This is a group of **7** sub-validation(s) that all must pass: REGEX_CONTEXT_LOCATION_CITY_CODE, REGEX_CONTEXT_TIMESTAMP_1, REGEX_CONTEXT_BAP_ID, REGEX_CONTEXT_BAP_URI, REQUIRED_CONTEXT_TTL, REGEX_CONTEXT_BPP_ID, and REGEX_CONTEXT_BPP_URI.
119
+
120
+ ---
121
+
122
+ **REGEX_CONTEXT_LOCATION_CITY_CODE**
123
+ `group: SEARCH_CONTEXT > CONTEXT_REGEX | type: leaf`
124
+
125
+ - All elements of $.context.location.city.code must follow every regex in ["(\\*)|(^std\\:[0-9]{2,4}$)"]
126
+
127
+ > **Skip if:**
128
+ > - $.context.location.city.code is not in the payload
129
+
130
+ **REGEX_CONTEXT_TIMESTAMP_1**
131
+ `group: SEARCH_CONTEXT > CONTEXT_REGEX | type: leaf`
132
+
133
+ - All elements of $.context.timestamp must follow every regex in ["^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(Z|[+-]\\d{2}:\\d{2})$"]
134
+
135
+ > **Skip if:**
136
+ > - $.context.timestamp is not in the payload
137
+
138
+ **REGEX_CONTEXT_BAP_ID**
139
+ `group: SEARCH_CONTEXT > CONTEXT_REGEX | type: leaf`
140
+
141
+ - All elements of $.context.bap_id must follow every regex in ["^(?!.*\b(?:http|https|www)\b)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$"]
142
+
143
+ > **Skip if:**
144
+ > - $.context.bap_id is not in the payload
145
+
146
+ **REGEX_CONTEXT_BAP_URI**
147
+ `group: SEARCH_CONTEXT > CONTEXT_REGEX | type: leaf`
148
+
149
+ - All elements of $.context.bap_uri must follow every regex in ["^https:\/\/(www\.)?[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+(/)?$"]
150
+
151
+ > **Skip if:**
152
+ > - $.context.bap_uri is not in the payload
153
+
154
+ **REQUIRED_CONTEXT_TTL**
155
+ `group: SEARCH_CONTEXT > CONTEXT_REGEX | type: leaf`
156
+
157
+ - All elements of $.context.ttl must follow every regex in ["^P(?=\\d|T\\d)(\\d+Y)?(\\d+M)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+S)?)?$"]
158
+
159
+ > **Skip if:**
160
+ > - $.context.ttl is not in the payload
161
+
162
+ **REGEX_CONTEXT_BPP_ID**
163
+ `group: SEARCH_CONTEXT > CONTEXT_REGEX | type: leaf`
164
+
165
+ - All elements of $.context.bpp_id must follow every regex in ["^(?!.*\b(?:http|https|www)\b)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$"]
166
+
167
+ > **Skip if:**
168
+ > - **All of the following must be true:**
169
+ > - $.context.bpp_id is not in the payload
170
+ > - $.message.intent.provider.id is not in the payload
171
+
172
+ **REGEX_CONTEXT_BPP_URI**
173
+ `group: SEARCH_CONTEXT > CONTEXT_REGEX | type: leaf`
174
+
175
+ - All elements of $.context.bpp_uri must follow every regex in ["^https:\/\/(www\.)?[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+(/)?$"]
176
+
177
+ > **Skip if:**
178
+ > - **All of the following must be true:**
179
+ > - $.context.bpp_uri is not in the payload
180
+ > - $.message.intent.provider.id is not in the payload
181
+
182
+ ---
183
+
184
+ ## SEARCH_CATEGORY_CODE
185
+
186
+ This is a group of **2** sub-validation(s) that all must pass: REQUIRED_CATEGORY_CODE and VALID_ENUM_CATEGORY_CODE.
187
+
188
+ > **Skip if:**
189
+ > - $.message.intent.provider.id must be present in the payload
190
+
191
+ ---
192
+
193
+ **REQUIRED_CATEGORY_CODE**
194
+ `group: SEARCH_CATEGORY_CODE | type: leaf`
195
+
196
+ - $.message.intent.category.descriptor.code must be present in the payload
197
+
198
+ **VALID_ENUM_CATEGORY_CODE**
199
+ `group: SEARCH_CATEGORY_CODE | type: leaf`
200
+
201
+ - All elements of $.message.intent.category.descriptor.code must be in ["LOAN", "UNSECURED_PERSONAL", "SECURED_PERSONAL", "OFFERS", "ADDITIONAL_DATA", "PERSONAL_FINANCING", "CONSUMER_INVOICE_FINANCING", "AGRI_PURCHASE_FINANCE", "ELECTRONICS_PURCHASE_FINANCE", "BUSINESS", "SOLE_PROPRIETORSHIP", "OTHER", "PARTNERSHIP_FIRM", "PRIVATE_LTD", "INVOICE_FINANCING", "GOLD_LOAN", "LAMF", "TERM_LOAN", "CREDIT_LINE", "DOCUMENT_BASED_DRAWDOWN", "NON_DOCUMENT_BASED_DRAWDOWN", "BANKING", "STATEMENT_UPLOAD", "AA_BANKING", "GST", "AA_GST", "GSP", "RETURN_UPLOAD", "MUTUAL_FUND", "AA_LOAN", "MFC", "ITR", "UPLOAD", "BUREAU_LOAN", "DERIVED_DATA", "ADDITIONAL_UPLOAD", "RTA"]
202
+
203
+ > **Skip if:**
204
+ > - $.message.intent.category.descriptor.code is not in the payload
205
+
206
+ ---
207
+
208
+ ## SEARCH_ITEMS
209
+
210
+ This group contains **1** sub-group(s)/validation(s): REQUIRED_ITEM_FIELDS.
211
+
212
+ > **Skip if:**
213
+ > - $.message.intent.provider.id must **not** be present in the payload
214
+
215
+ ---
216
+
217
+ ### REQUIRED_ITEM_FIELDS
218
+
219
+ This group contains **4** sub-group(s)/validation(s): REQUIRED_PROVIDER_ID, REQUIRED_PROVIDER_ITEM_ID, REQUIRED_XINPUT_FIELDS, and VALID_XINPUT_ENUMS.
220
+
221
+ ---
222
+
223
+ **REQUIRED_PROVIDER_ID**
224
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS | type: leaf`
225
+
226
+ - $.message.intent.provider.id must be present in the payload
227
+
228
+ **REQUIRED_PROVIDER_ITEM_ID**
229
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS | type: leaf`
230
+
231
+ - $.message.intent.provider.items[*].id must be present in the payload
232
+
233
+ #### REQUIRED_XINPUT_FIELDS
234
+
235
+ This group contains **11** sub-group(s)/validation(s): REQUIRED_HEAD_CODE, REQUIRED_FORM_ID, REQUIRED_SUBMISSION_ID, PERSONAL_LOAN_FIELDS, REQUIRED_CONSENT_FIELDS, GOLD_LOAN_FIELDS, WORKING_CAPITAL_LOAN_FIELDS, BUSINESS_AND_FINANCIAL_DOCUMENTS_FIELDS, TERM_LOAN_FIELDS, LAMF_FIELDS, and INVOICE_LOAN_FIELDS.
236
+
237
+ ---
238
+
239
+ **REQUIRED_HEAD_CODE**
240
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | type: leaf`
241
+
242
+ - $.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload
243
+
244
+ **REQUIRED_FORM_ID**
245
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | type: leaf`
246
+
247
+ - $.message.intent.provider.items[*].xinput.form.id must be present in the payload
248
+
249
+ **REQUIRED_SUBMISSION_ID**
250
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | type: leaf`
251
+
252
+ - $.message.intent.provider.items[*].xinput.form_response.submission_id must be present in the payload
253
+
254
+ > **Skip if:**
255
+ > - $._EXTERNAL._SELF.message.intent.provider.id is not equal to CONSENT_APPROVAL
256
+
257
+ ##### PERSONAL_LOAN_FIELDS
258
+
259
+ This is a group of **9** sub-validation(s) that all must pass: REQUIRED_FIELD_PAN_NAME_1, REQUIRED_FIELD_DOB, REQUIRED_FIELD_GENDER, REQUIRED_FIELD_PAN, REQUIRED_FIELD_CONTACT_NUMBER, REQUIRED_FIELD_EMPLOYMENT_TYPE, REQUIRED_FIELD_INCOME, REQUIRED_FIELD_COMPANY_NAME, and REQUIRED_FIELD_BUREAU_CONSENT.
260
+
261
+ > **Skip if:**
262
+ > - Not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code may be in ["PERSONAL_INFORMATION"]
263
+
264
+ ---
265
+
266
+ **REQUIRED_FIELD_PAN_NAME_1**
267
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | type: leaf`
268
+
269
+ - $.message.intent.provider.items[*].xinput.form.data.panName.value must be present in the payload
270
+
271
+ **REQUIRED_FIELD_DOB**
272
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | type: leaf`
273
+
274
+ - $.message.intent.provider.items[*].xinput.form.data.dob.value must be present in the payload
275
+
276
+ **REQUIRED_FIELD_GENDER**
277
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | type: leaf`
278
+
279
+ - $.message.intent.provider.items[*].xinput.form.data.gender.value must be present in the payload
280
+
281
+ **REQUIRED_FIELD_PAN**
282
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | type: leaf`
283
+
284
+ - $.message.intent.provider.items[*].xinput.form.data.pan.value must be present in the payload
285
+
286
+ **REQUIRED_FIELD_CONTACT_NUMBER**
287
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | type: leaf`
288
+
289
+ - $.message.intent.provider.items[*].xinput.form.data.contactNumber.value must be present in the payload
290
+
291
+ **REQUIRED_FIELD_EMPLOYMENT_TYPE**
292
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | type: leaf`
293
+
294
+ - $.message.intent.provider.items[*].xinput.form.data.employmentType.value must be present in the payload
295
+
296
+ **REQUIRED_FIELD_INCOME**
297
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | type: leaf`
298
+
299
+ - $.message.intent.provider.items[*].xinput.form.data.income.value must be present in the payload
300
+
301
+ **REQUIRED_FIELD_COMPANY_NAME**
302
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | type: leaf`
303
+
304
+ - $.message.intent.provider.items[*].xinput.form.data.companyName.value must be present in the payload
305
+
306
+ **REQUIRED_FIELD_BUREAU_CONSENT**
307
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | type: leaf`
308
+
309
+ - $.message.intent.provider.items[*].xinput.form.data.bureauConsent.value must be present in the payload
310
+
311
+ ##### REQUIRED_CONSENT_FIELDS
312
+
313
+ This is a group of **1** sub-validation(s) that all must pass: REQUIRED_FIELD_CONSENT_HANDLER.
314
+
315
+ > **Skip if:**
316
+ > - None of $.message.intent.provider.items[*].xinput.head.descriptor.code may be in ["CONSENT_APPROVAL"]
317
+
318
+ ---
319
+
320
+ **REQUIRED_FIELD_CONSENT_HANDLER**
321
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > REQUIRED_CONSENT_FIELDS | type: leaf`
322
+
323
+ - $.message.intent.provider.items[*].xinput.form_response.submission_id must be present in the payload
324
+
325
+ ##### GOLD_LOAN_FIELDS
326
+
327
+ This is a group of **9** sub-validation(s) that all must pass: REQUIRED_FIELD_PAN, REQUIRED_FULL_NAME, REQUIRED_FIELD_GENDER, REQUIRED_FIELD_DOB, REQUIRED_FIELD_CONTACT_NUMBER, REQUIRED_FIELD_PINCODE, REQUIRED_FIELD_JWELLERY, REQUIRED_FIELD_PURITY, and REQUIRED_FIELD_BUREAU_CONSENT.
328
+
329
+ > **Skip if:**
330
+ > - Not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code may be in ["PERSONAL_INFORMATION_GOLD"]
331
+
332
+ ---
333
+
334
+ **REQUIRED_FIELD_PAN**
335
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | type: leaf`
336
+
337
+ - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload
338
+
339
+ **REQUIRED_FULL_NAME**
340
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | type: leaf`
341
+
342
+ - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload
343
+
344
+ **REQUIRED_FIELD_GENDER**
345
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | type: leaf`
346
+
347
+ - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload
348
+
349
+ **REQUIRED_FIELD_DOB**
350
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | type: leaf`
351
+
352
+ - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload
353
+
354
+ **REQUIRED_FIELD_CONTACT_NUMBER**
355
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | type: leaf`
356
+
357
+ - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload
358
+
359
+ **REQUIRED_FIELD_PINCODE**
360
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | type: leaf`
361
+
362
+ - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload
363
+
364
+ **REQUIRED_FIELD_JWELLERY**
365
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | type: leaf`
366
+
367
+ - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload
368
+
369
+ **REQUIRED_FIELD_PURITY**
370
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | type: leaf`
371
+
372
+ - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload
373
+
374
+ **REQUIRED_FIELD_BUREAU_CONSENT**
375
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | type: leaf`
376
+
377
+ - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload
378
+
379
+ ##### WORKING_CAPITAL_LOAN_FIELDS
380
+
381
+ This is a group of **8** sub-validation(s) that all must pass: REQUIRED_FIELD_GSTIN_PROFILE_1, REQUIRED_FIELD_GSTR_B2B_INVOICE_1, REQUIRED_FIELD_GSTR_B2B_CDNR_1, REQUIRED_FIELD_GSTR_B2B_INVOICES_1, REQUIRED_FIELD_GSTR_3B_SUMMARY_1, REQUIRED_FIELD_BANK_STATEMENT_FILES, REQUIRED_FIELD_BANK_NAME, and REQUIRED_FIELD_MIME_TYPE.
382
+
383
+ > **Skip if:**
384
+ > - Not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code may be in ["BANK_STATEMENT_AND_GST_RETURNS"]
385
+
386
+ ---
387
+
388
+ **REQUIRED_FIELD_GSTIN_PROFILE_1**
389
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | type: leaf`
390
+
391
+ - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload
392
+
393
+ **REQUIRED_FIELD_GSTR_B2B_INVOICE_1**
394
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | type: leaf`
395
+
396
+ - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload
397
+
398
+ **REQUIRED_FIELD_GSTR_B2B_CDNR_1**
399
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | type: leaf`
400
+
401
+ - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload
402
+
403
+ **REQUIRED_FIELD_GSTR_B2B_INVOICES_1**
404
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | type: leaf`
405
+
406
+ - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload
407
+
408
+ **REQUIRED_FIELD_GSTR_3B_SUMMARY_1**
409
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | type: leaf`
410
+
411
+ - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload
412
+
413
+ **REQUIRED_FIELD_BANK_STATEMENT_FILES**
414
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | type: leaf`
415
+
416
+ - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload
417
+
418
+ **REQUIRED_FIELD_BANK_NAME**
419
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | type: leaf`
420
+
421
+ - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload
422
+
423
+ **REQUIRED_FIELD_MIME_TYPE**
424
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | type: leaf`
425
+
426
+ - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload
427
+
428
+ ##### BUSINESS_AND_FINANCIAL_DOCUMENTS_FIELDS
429
+
430
+ This is a group of **3** sub-validation(s) that all must pass: REQUIRED_FIELD_FINANCIAL_STATEMENTS, REQUIRED_FIELD_SHAREHOLDING_PATTERN, and REQUIRED_FIELD_ITR.
431
+
432
+ > **Skip if:**
433
+ > - Not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code may be in ["BUSINESS_AND_FINANCIAL_DOCUMENTS"]
434
+
435
+ ---
436
+
437
+ **REQUIRED_FIELD_FINANCIAL_STATEMENTS**
438
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > BUSINESS_AND_FINANCIAL_DOCUMENTS_FIELDS | type: leaf`
439
+
440
+ - $.message.intent.provider.items[*].xinput.form.data.financialStatements.value must be present in the payload
441
+
442
+ **REQUIRED_FIELD_SHAREHOLDING_PATTERN**
443
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > BUSINESS_AND_FINANCIAL_DOCUMENTS_FIELDS | type: leaf`
444
+
445
+ - $.message.intent.provider.items[*].xinput.form.data.shareholdingPattern.value must be present in the payload
446
+
447
+ **REQUIRED_FIELD_ITR**
448
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > BUSINESS_AND_FINANCIAL_DOCUMENTS_FIELDS | type: leaf`
449
+
450
+ - $.message.intent.provider.items[*].xinput.form.data.itr.value must be present in the payload
451
+
452
+ ##### TERM_LOAN_FIELDS
453
+
454
+ This is a group of **9** sub-validation(s) that all must pass: REQUIRED_FIELD_PAN, REQUIRED_FULL_NAME, REQUIRED_DOB, REQUIRED_CONSTITUTION, REQUIRED_BUSINESS_PAN, REQUIRED_DOI, REQUIRED_NATURE_OF_BUSINESS, REQUIRED_ANNUAL_TURNOVER, and REQUIRED_BUSINESS_PINCODE.
455
+
456
+ > **Skip if:**
457
+ > - Not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code may be in ["PERSONAL_INFORMATION_TERM"]
458
+
459
+ ---
460
+
461
+ **REQUIRED_FIELD_PAN**
462
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | type: leaf`
463
+
464
+ - $.message.intent.provider.items[*].xinput.form.data.pan.value must be present in the payload
465
+
466
+ **REQUIRED_FULL_NAME**
467
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | type: leaf`
468
+
469
+ - $.message.intent.provider.items[*].xinput.form.data.fullName.value must be present in the payload
470
+
471
+ **REQUIRED_DOB**
472
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | type: leaf`
473
+
474
+ - $.message.intent.provider.items[*].xinput.form.data.dob.value must be present in the payload
475
+
476
+ **REQUIRED_CONSTITUTION**
477
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | type: leaf`
478
+
479
+ - $.message.intent.provider.items[*].xinput.form.data.constitution.value must be present in the payload
480
+
481
+ **REQUIRED_BUSINESS_PAN**
482
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | type: leaf`
483
+
484
+ - $.message.intent.provider.items[*].xinput.form.data.businessPan.value must be present in the payload
485
+
486
+ **REQUIRED_DOI**
487
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | type: leaf`
488
+
489
+ - $.message.intent.provider.items[*].xinput.form.data.doi.value must be present in the payload
490
+
491
+ **REQUIRED_NATURE_OF_BUSINESS**
492
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | type: leaf`
493
+
494
+ - $.message.intent.provider.items[*].xinput.form.data.natureOfBusiness.value must be present in the payload
495
+
496
+ **REQUIRED_ANNUAL_TURNOVER**
497
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | type: leaf`
498
+
499
+ - $.message.intent.provider.items[*].xinput.form.data.annualTurnover.value must be present in the payload
500
+
501
+ **REQUIRED_BUSINESS_PINCODE**
502
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | type: leaf`
503
+
504
+ - $.message.intent.provider.items[*].xinput.form.data.businessPincode.value must be present in the payload
505
+
506
+ ##### LAMF_FIELDS
507
+
508
+ This is a group of **9** sub-validation(s) that all must pass: REQUIRED_FIELD_PAN, REQUIRED_FIELD_FULL_NAME, REQUIRED_FIELD_CONSTITUION, REQUIRED_FIELD_GENDER, REQUIRED_FIELD_EMPLOYMENT_TYPE, REQUIRED_FIELD_DOB, REQUIRED_FIELD_ANNUAL_INCOME, REQUIRED_FIELD_MOBILE_NUMBER, and REQUIRED_FIELD_EMAIL_ID.
509
+
510
+ > **Skip if:**
511
+ > - Not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code may be in ["PERSONAL_INFORMATION_LAMF"]
512
+
513
+ ---
514
+
515
+ **REQUIRED_FIELD_PAN**
516
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | type: leaf`
517
+
518
+ - $.message.intent.provider.items[*].xinput.form.data.pan.value must be present in the payload
519
+
520
+ **REQUIRED_FIELD_FULL_NAME**
521
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | type: leaf`
522
+
523
+ - $.message.intent.provider.items[*].xinput.form.data.fullName.value must be present in the payload
524
+
525
+ **REQUIRED_FIELD_CONSTITUION**
526
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | type: leaf`
527
+
528
+ - $.message.intent.provider.items[*].xinput.form.data.constitution.value must be present in the payload
529
+
530
+ **REQUIRED_FIELD_GENDER**
531
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | type: leaf`
532
+
533
+ - $.message.intent.provider.items[*].xinput.form.data.gender.value must be present in the payload
534
+
535
+ **REQUIRED_FIELD_EMPLOYMENT_TYPE**
536
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | type: leaf`
537
+
538
+ - $.message.intent.provider.items[*].xinput.form.data.employmentType.value must be present in the payload
539
+
540
+ **REQUIRED_FIELD_DOB**
541
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | type: leaf`
542
+
543
+ - $.message.intent.provider.items[*].xinput.form.data.dob.value must be present in the payload
544
+
545
+ **REQUIRED_FIELD_ANNUAL_INCOME**
546
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | type: leaf`
547
+
548
+ - $.message.intent.provider.items[*].xinput.form.data.annualIncome.value must be present in the payload
549
+
550
+ **REQUIRED_FIELD_MOBILE_NUMBER**
551
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | type: leaf`
552
+
553
+ - $.message.intent.provider.items[*].xinput.form.data.mobileNumber.value must be present in the payload
554
+
555
+ **REQUIRED_FIELD_EMAIL_ID**
556
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | type: leaf`
557
+
558
+ - $.message.intent.provider.items[*].xinput.form.data.emailId.value must be present in the payload
559
+
560
+ ##### INVOICE_LOAN_FIELDS
561
+
562
+ This is a group of **1** sub-validation(s) that all must pass: REQUIRED_FIELD_BUREAU_CONSENT.
563
+
564
+ > **Skip if:**
565
+ > - Not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code may be in ["ORGANIZATION_INFORMATION"]
566
+
567
+ ---
568
+
569
+ **REQUIRED_FIELD_BUREAU_CONSENT**
570
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > INVOICE_LOAN_FIELDS | type: leaf`
571
+
572
+ - $.message.intent.providers.items[*].xinput.form.data.bureauConsent.value must be present in the payload
573
+
574
+ #### VALID_XINPUT_ENUMS
575
+
576
+ This is a group of **1** sub-validation(s) that all must pass: REQUIRED_HEAD_CODE.
577
+
578
+ ---
579
+
580
+ **REQUIRED_HEAD_CODE**
581
+ `group: SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > VALID_XINPUT_ENUMS | type: leaf`
582
+
583
+ - All elements of $.message.intent.provider.items[*].xinput.head.descriptor.code must be in ["PERSONAL_INFORMATION", "CONSENT_APPROVAL", "ORGANIZATION_INFORMATION", "MERCHANT_AND_PRDOUCT_DETAILS", "BANK_STATEMENT_AND_GST_RETURNS", "BUSINESS_AND_FINANCIAL_DOCUMENTS", "ORGANIZATION_INFORMATION", "PERSONAL_INFORMATION_TERM", "PERSONAL_INFORMATION_GOLD", "PERSONAL_INFORMATION_TERM_GST", "PERSONAL_INFORMATION_BUSINESS_TERM", "PERSONAL_INFORMATION_LAMF"]
584
+
585
+ > **Skip if:**
586
+ > - $.message.intent.provider.items[*].xinput.head.descriptor.code is not in the payload
587
+
588
+ ---
589
+
590
+ ## SEARCH_FULFILLMENTS
591
+
592
+ This group contains **1** sub-group(s)/validation(s): REQUIRED_FULFILLMENT_ITEMS.
593
+
594
+ > **Skip if:**
595
+ > - $.message.intent.provider.fulfillments[*].customer.person.name must **not** be present in the payload
596
+
597
+ ---
598
+
599
+ ### REQUIRED_FULFILLMENT_ITEMS
600
+
601
+ This is a group of **7** sub-validation(s) that all must pass: REQUIRED_PERSON_NAME, REQUIRED_PERSON_DOB, REQUIRED_PERSON_GENDER, REQUIRED_CREDS_ID, REQUIRED_CREDS_TYPE, REQUIRED_CONTACT_EMAIL, and REQUIRED_CONTACT_PHONE.
602
+
603
+ ---
604
+
605
+ **REQUIRED_PERSON_NAME**
606
+ `group: SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | type: leaf`
607
+
608
+ - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload
609
+
610
+ **REQUIRED_PERSON_DOB**
611
+ `group: SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | type: leaf`
612
+
613
+ - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload
614
+
615
+ **REQUIRED_PERSON_GENDER**
616
+ `group: SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | type: leaf`
617
+
618
+ - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload
619
+
620
+ **REQUIRED_CREDS_ID**
621
+ `group: SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | type: leaf`
622
+
623
+ - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload
624
+
625
+ **REQUIRED_CREDS_TYPE**
626
+ `group: SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | type: leaf`
627
+
628
+ - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload
629
+
630
+ **REQUIRED_CONTACT_EMAIL**
631
+ `group: SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | type: leaf`
632
+
633
+ - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload
634
+
635
+ **REQUIRED_CONTACT_PHONE**
636
+ `group: SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | type: leaf`
637
+
638
+ - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload
639
+
640
+ ---
641
+
642
+ ## SEARCH_PAYMENT
643
+
644
+ This group contains **1** sub-group(s)/validation(s): REQUIRED_PAYMENT_ITEMS.
645
+
646
+ ---
647
+
648
+ ### REQUIRED_PAYMENT_ITEMS
649
+
650
+ This is a group of **1** sub-validation(s) that all must pass: REQUIRED_PAYMENT_COLLECTED_BY.
651
+
652
+ ---
653
+
654
+ **REQUIRED_PAYMENT_COLLECTED_BY**
655
+ `group: SEARCH_PAYMENT > REQUIRED_PAYMENT_ITEMS | type: leaf`
656
+
657
+ - $.message.intent.payment.collected_by must be present in the payload
658
+
659
+ ---
660
+
661
+ ## SEARCH_TAGS
662
+
663
+ This is a group of **2** sub-validation(s) that all must pass: REQUIRED_PAYMENT_TAGS and REQUIRED_BAP_TERMS.
664
+
665
+ ---
666
+
667
+ **REQUIRED_PAYMENT_TAGS**
668
+ `group: SEARCH_TAGS | type: leaf`
669
+
670
+ - All elements of $.message.intent.tags[*].descriptor.code must be in ["BAP_TERMS", "BPP_TERMS"]
671
+
672
+ > **Skip if:**
673
+ > - $.message.intent.tags[*].descriptor.code is not in the payload
674
+
675
+ **REQUIRED_BAP_TERMS**
676
+ `group: SEARCH_TAGS | type: leaf | scope: $.message.intent.tags[?(@.descriptor.code == BAP_TERMS)]`
677
+
678
+ - All elements of $.message.intent.tags[?(@.descriptor.code == BAP_TERMS)].list[*].descriptor.code must be in ["STATIC_TERMS", "OFFLINE_CONTRACT"]