ondc-code-generator 0.8.8 → 0.9.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.
Files changed (127) hide show
  1. package/README.md +1 -1
  2. package/alpha/table/page/index.html +11487 -0
  3. package/alpha/table/page/style.css +449 -0
  4. package/alpha/table/rag-table-docs/confirm.md +60 -0
  5. package/alpha/table/rag-table-docs/init.md +78 -0
  6. package/alpha/table/rag-table-docs/on_confirm.md +161 -0
  7. package/alpha/table/rag-table-docs/on_init.md +143 -0
  8. package/alpha/table/rag-table-docs/on_search.md +160 -0
  9. package/alpha/table/rag-table-docs/on_select.md +96 -0
  10. package/alpha/table/rag-table-docs/on_status.md +150 -0
  11. package/alpha/table/rag-table-docs/on_update.md +161 -0
  12. package/alpha/table/rag-table-docs/raw_table.json +11198 -0
  13. package/alpha/table/rag-table-docs/search.md +125 -0
  14. package/alpha/table/rag-table-docs/select.md +67 -0
  15. package/alpha/table/rag-table-docs/status.md +41 -0
  16. package/alpha/table/rag-table-docs/update.md +48 -0
  17. package/alpha/table/readme.md +1312 -0
  18. package/alpha/table/validPaths.json +34134 -0
  19. package/alpha/table.zip +0 -0
  20. package/dist/bin/cli.js +6 -0
  21. package/dist/generator/config-compiler.js +16 -0
  22. package/dist/generator/generators/documentation/md-generator.d.ts +11 -5
  23. package/dist/generator/generators/documentation/md-generator.js +22 -28
  24. package/dist/generator/generators/documentation/templates/index.mustache +162 -26
  25. package/dist/generator/generators/documentation/templates/style.css +387 -142
  26. package/dist/generator/generators/rag/rag-generator.d.ts +48 -0
  27. package/dist/generator/generators/rag/rag-generator.js +185 -0
  28. package/dist/generator/generators/rag/rag-table-generator.d.ts +55 -0
  29. package/dist/generator/generators/rag/rag-table-generator.js +263 -0
  30. package/dist/types/compiler-types.d.ts +4 -1
  31. package/dist/types/compiler-types.js +3 -0
  32. package/docs/jval-dsl.md +913 -0
  33. package/package.json +1 -1
  34. package/alpha/golang/newPkg/go.mod +0 -3
  35. package/alpha/golang/newPkg/jsonvalidations/cancel.go +0 -1289
  36. package/alpha/golang/newPkg/jsonvalidations/confirm.go +0 -9121
  37. package/alpha/golang/newPkg/jsonvalidations/init.go +0 -4864
  38. package/alpha/golang/newPkg/jsonvalidations/issue.go +0 -4868
  39. package/alpha/golang/newPkg/jsonvalidations/on_cancel.go +0 -7111
  40. package/alpha/golang/newPkg/jsonvalidations/on_confirm.go +0 -8903
  41. package/alpha/golang/newPkg/jsonvalidations/on_init.go +0 -4445
  42. package/alpha/golang/newPkg/jsonvalidations/on_issue.go +0 -2828
  43. package/alpha/golang/newPkg/jsonvalidations/on_issue_status.go +0 -1938
  44. package/alpha/golang/newPkg/jsonvalidations/on_search.go +0 -3356
  45. package/alpha/golang/newPkg/jsonvalidations/on_status.go +0 -8129
  46. package/alpha/golang/newPkg/jsonvalidations/on_track.go +0 -1415
  47. package/alpha/golang/newPkg/jsonvalidations/on_update.go +0 -8700
  48. package/alpha/golang/newPkg/jsonvalidations/search.go +0 -3585
  49. package/alpha/golang/newPkg/jsonvalidations/status.go +0 -1073
  50. package/alpha/golang/newPkg/jsonvalidations/track.go +0 -1073
  51. package/alpha/golang/newPkg/jsonvalidations/update.go +0 -3012
  52. package/alpha/golang/newPkg/main-validator.go +0 -196
  53. package/alpha/golang/newPkg/main-validator_test.go +0 -165
  54. package/alpha/golang/newPkg/storageutils/api_save_utils.go +0 -83
  55. package/alpha/golang/newPkg/storageutils/cancel.go +0 -30
  56. package/alpha/golang/newPkg/storageutils/confirm.go +0 -30
  57. package/alpha/golang/newPkg/storageutils/index.go +0 -132
  58. package/alpha/golang/newPkg/storageutils/init.go +0 -30
  59. package/alpha/golang/newPkg/storageutils/issue.go +0 -30
  60. package/alpha/golang/newPkg/storageutils/on_cancel.go +0 -30
  61. package/alpha/golang/newPkg/storageutils/on_confirm.go +0 -30
  62. package/alpha/golang/newPkg/storageutils/on_init.go +0 -30
  63. package/alpha/golang/newPkg/storageutils/on_issue.go +0 -30
  64. package/alpha/golang/newPkg/storageutils/on_issue_status.go +0 -30
  65. package/alpha/golang/newPkg/storageutils/on_search.go +0 -30
  66. package/alpha/golang/newPkg/storageutils/on_status.go +0 -30
  67. package/alpha/golang/newPkg/storageutils/on_track.go +0 -30
  68. package/alpha/golang/newPkg/storageutils/on_update.go +0 -30
  69. package/alpha/golang/newPkg/storageutils/save_utils.go +0 -75
  70. package/alpha/golang/newPkg/storageutils/search.go +0 -30
  71. package/alpha/golang/newPkg/storageutils/status.go +0 -30
  72. package/alpha/golang/newPkg/storageutils/track.go +0 -30
  73. package/alpha/golang/newPkg/storageutils/update.go +0 -30
  74. package/alpha/golang/newPkg/validationutils/json_normalizer.go +0 -152
  75. package/alpha/golang/newPkg/validationutils/json_path_utils.go +0 -173
  76. package/alpha/golang/newPkg/validationutils/storage-interface.go +0 -107
  77. package/alpha/golang/newPkg/validationutils/test-config.go +0 -69
  78. package/alpha/golang/newPkg/validationutils/validation_utils.go +0 -429
  79. package/alpha/golang/page/index.html +0 -6137
  80. package/alpha/golang/page/style.css +0 -204
  81. package/alpha/golang/readme.md +0 -5939
  82. package/alpha/golang/validationpkg/go.mod +0 -3
  83. package/alpha/golang/validationpkg/jsonvalidations/cancel.go +0 -1289
  84. package/alpha/golang/validationpkg/jsonvalidations/confirm.go +0 -9121
  85. package/alpha/golang/validationpkg/jsonvalidations/init.go +0 -4864
  86. package/alpha/golang/validationpkg/jsonvalidations/issue.go +0 -4868
  87. package/alpha/golang/validationpkg/jsonvalidations/on_cancel.go +0 -7111
  88. package/alpha/golang/validationpkg/jsonvalidations/on_confirm.go +0 -8903
  89. package/alpha/golang/validationpkg/jsonvalidations/on_init.go +0 -4445
  90. package/alpha/golang/validationpkg/jsonvalidations/on_issue.go +0 -2828
  91. package/alpha/golang/validationpkg/jsonvalidations/on_issue_status.go +0 -1938
  92. package/alpha/golang/validationpkg/jsonvalidations/on_search.go +0 -3356
  93. package/alpha/golang/validationpkg/jsonvalidations/on_status.go +0 -8129
  94. package/alpha/golang/validationpkg/jsonvalidations/on_track.go +0 -1415
  95. package/alpha/golang/validationpkg/jsonvalidations/on_update.go +0 -8700
  96. package/alpha/golang/validationpkg/jsonvalidations/search.go +0 -3585
  97. package/alpha/golang/validationpkg/jsonvalidations/status.go +0 -1073
  98. package/alpha/golang/validationpkg/jsonvalidations/track.go +0 -1073
  99. package/alpha/golang/validationpkg/jsonvalidations/update.go +0 -3012
  100. package/alpha/golang/validationpkg/main-validator.go +0 -196
  101. package/alpha/golang/validationpkg/main-validator_test.go +0 -165
  102. package/alpha/golang/validationpkg/storageutils/api_save_utils.go +0 -83
  103. package/alpha/golang/validationpkg/storageutils/cancel.go +0 -30
  104. package/alpha/golang/validationpkg/storageutils/confirm.go +0 -30
  105. package/alpha/golang/validationpkg/storageutils/index.go +0 -132
  106. package/alpha/golang/validationpkg/storageutils/init.go +0 -30
  107. package/alpha/golang/validationpkg/storageutils/issue.go +0 -30
  108. package/alpha/golang/validationpkg/storageutils/on_cancel.go +0 -30
  109. package/alpha/golang/validationpkg/storageutils/on_confirm.go +0 -30
  110. package/alpha/golang/validationpkg/storageutils/on_init.go +0 -30
  111. package/alpha/golang/validationpkg/storageutils/on_issue.go +0 -30
  112. package/alpha/golang/validationpkg/storageutils/on_issue_status.go +0 -30
  113. package/alpha/golang/validationpkg/storageutils/on_search.go +0 -30
  114. package/alpha/golang/validationpkg/storageutils/on_status.go +0 -30
  115. package/alpha/golang/validationpkg/storageutils/on_track.go +0 -30
  116. package/alpha/golang/validationpkg/storageutils/on_update.go +0 -30
  117. package/alpha/golang/validationpkg/storageutils/save_utils.go +0 -75
  118. package/alpha/golang/validationpkg/storageutils/search.go +0 -30
  119. package/alpha/golang/validationpkg/storageutils/status.go +0 -30
  120. package/alpha/golang/validationpkg/storageutils/track.go +0 -30
  121. package/alpha/golang/validationpkg/storageutils/update.go +0 -30
  122. package/alpha/golang/validationpkg/validationutils/json_normalizer.go +0 -152
  123. package/alpha/golang/validationpkg/validationutils/json_path_utils.go +0 -173
  124. package/alpha/golang/validationpkg/validationutils/storage-interface.go +0 -107
  125. package/alpha/golang/validationpkg/validationutils/test-config.go +0 -69
  126. package/alpha/golang/validationpkg/validationutils/validation_utils.go +0 -429
  127. /package/alpha/{golang/validPaths.json → validPaths.json} +0 -0
@@ -0,0 +1,125 @@
1
+ ---
2
+ action: search
3
+ codeName: L1validations
4
+ numTests: 110
5
+ generated: 2026-03-10
6
+ ---
7
+
8
+ # L1validations — `search` Validations (Table View)
9
+
10
+ **88** leaf validation rule(s) applied to `search` in the **L1validations** flow.
11
+ Group rows (GRP) list their immediate sub-tests. Leaf rows (LF) show the actual validation logic.
12
+
13
+ ---
14
+ | # | Type | Test Name | Group | Scope | Description | Skip If | Error Code |
15
+ | ---: | :---: | :--- | :--- | :--- | :--- | :--- | :---: |
16
+ | 1 | GRP | **SEARCH_CONTEXT** | — | — | Sub-tests: CONTEXT_REQUIRED, CONTEXT_ENUM, CONTEXT_REGEX | — | — |
17
+ | 2 | GRP | **CONTEXT_REQUIRED** | SEARCH_CONTEXT | — | Sub-tests: 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, REQUIRED_CONTEXT_BPP_URI | — | — |
18
+ | 3 | LF | `REQUIRED_CONTEXT_LOCATION_COUNTRY_CODE` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.location.country.code must be present in the payload | — | 30000 |
19
+ | 4 | LF | `REQUIRED_CONTEXT_LOCATION_CITY_CODE` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.location.city.code must be present in the payload | — | 30000 |
20
+ | 5 | LF | `REQUIRED_CONTEXT_DOMAIN` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.domain must be present in the payload | — | 30000 |
21
+ | 6 | LF | `REQUIRED_CONTEXT_TIMESTAMP` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.timestamp must be present in the payload | — | 30000 |
22
+ | 7 | LF | `REQUIRED_CONTEXT_BAP_ID` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bap_id must be present in the payload | — | 30000 |
23
+ | 8 | LF | `REQUIRED_CONTEXT_BAP_URI` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bap_uri must be present in the payload | — | 30000 |
24
+ | 9 | LF | `REQUIRED_CONTEXT_TRANSACTION_ID` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.transaction_id must be present in the payload | — | 30000 |
25
+ | 10 | LF | `REQUIRED_CONTEXT_MESSAGE_ID` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.message_id must be present in the payload | — | 30000 |
26
+ | 11 | LF | `REQUIRED_CONTEXT_VERSION` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.version must be present in the payload | — | 30000 |
27
+ | 12 | LF | `REQUIRED_CONTEXT_TTL` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.ttl must be present in the payload | — | 30000 |
28
+ | 13 | LF | `REQUIRED_CONTEXT_BPP_ID` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bpp_id must be present in the payload | - $.message.intent.provider.id must **not** be present in the payload | 30000 |
29
+ | 14 | LF | `REQUIRED_CONTEXT_BPP_URI` | SEARCH_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bpp_uri must be present in the payload | - $.message.intent.provider.id must **not** be present in the payload | 30000 |
30
+ | 15 | GRP | **CONTEXT_ENUM** | SEARCH_CONTEXT | — | Sub-tests: VALID_CONTEXT_LOCATION_COUNTRY_CODE, VALID_CONTEXT_DOMAIN | — | — |
31
+ | 16 | LF | `VALID_CONTEXT_LOCATION_COUNTRY_CODE` | SEARCH_CONTEXT > CONTEXT_ENUM | — | - All elements of $.context.location.country.code must be in ["IND"] | - $.context.location.country.code must **not** be present in the payload | 30000 |
32
+ | 17 | LF | `VALID_CONTEXT_DOMAIN` | SEARCH_CONTEXT > CONTEXT_ENUM | — | - All elements of $.context.domain must be in ["ONDC:FIS12"] | - $.context.domain must **not** be present in the payload | 30000 |
33
+ | 18 | GRP | **CONTEXT_REGEX** | SEARCH_CONTEXT | — | Sub-tests: REGEX_CONTEXT_LOCATION_CITY_CODE, REGEX_CONTEXT_TIMESTAMP_1, REGEX_CONTEXT_BAP_ID, REGEX_CONTEXT_BAP_URI, REQUIRED_CONTEXT_TTL, REGEX_CONTEXT_BPP_ID, REGEX_CONTEXT_BPP_URI | — | — |
34
+ | 19 | LF | `REGEX_CONTEXT_LOCATION_CITY_CODE` | SEARCH_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.location.city.code must follow every regex in ["(\\*)\|(^std\\:[0-9]{2,4}$)"] | - $.context.location.city.code must **not** be present in the payload | 30000 |
35
+ | 20 | LF | `REGEX_CONTEXT_TIMESTAMP_1` | SEARCH_CONTEXT > CONTEXT_REGEX | — | - 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})$"] | - $.context.timestamp must **not** be present in the payload | 30000 |
36
+ | 21 | LF | `REGEX_CONTEXT_BAP_ID` | SEARCH_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bap_id must follow every regex in ["^(?!.*\b(?:http\|https\|www)\b)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$"] | - $.context.bap_id must **not** be present in the payload | 30000 |
37
+ | 22 | LF | `REGEX_CONTEXT_BAP_URI` | SEARCH_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bap_uri must follow every regex in ["^https:\/\/(www\.)?[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+(/)?$"] | - $.context.bap_uri must **not** be present in the payload | 30000 |
38
+ | 23 | LF | `REQUIRED_CONTEXT_TTL` | SEARCH_CONTEXT > CONTEXT_REGEX | — | - 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)?)?$"] | - $.context.ttl must **not** be present in the payload | 30000 |
39
+ | 24 | LF | `REGEX_CONTEXT_BPP_ID` | SEARCH_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bpp_id must follow every regex in ["^(?!.*\b(?:http\|https\|www)\b)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$"] | **All of the following must be true:** - $.context.bpp_id must **not** be present in the payload - $.message.intent.provider.id must **not** be present in the payload | 30000 |
40
+ | 25 | LF | `REGEX_CONTEXT_BPP_URI` | SEARCH_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bpp_uri must follow every regex in ["^https:\/\/(www\.)?[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+(/)?$"] | **All of the following must be true:** - $.context.bpp_uri must **not** be present in the payload - $.message.intent.provider.id must **not** be present in the payload | 30000 |
41
+ | 26 | GRP | **SEARCH_CATEGORY_CODE** | — | — | Sub-tests: REQUIRED_CATEGORY_CODE, VALID_ENUM_CATEGORY_CODE | - $.message.intent.provider.id must be present in the payload | — |
42
+ | 27 | LF | `REQUIRED_CATEGORY_CODE` | SEARCH_CATEGORY_CODE | — | - $.message.intent.category.descriptor.code must be present in the payload | — | 30000 |
43
+ | 28 | LF | `VALID_ENUM_CATEGORY_CODE` | SEARCH_CATEGORY_CODE | — | - 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"] | - $.message.intent.category.descriptor.code must **not** be present in the payload | 30000 |
44
+ | 29 | GRP | **SEARCH_ITEMS** | — | — | Sub-tests: REQUIRED_ITEM_FIELDS | - $.message.intent.provider.id must **not** be present in the payload | — |
45
+ | 30 | GRP | **REQUIRED_ITEM_FIELDS** | SEARCH_ITEMS | — | Sub-tests: REQUIRED_PROVIDER_ID, REQUIRED_PROVIDER_ITEM_ID, REQUIRED_XINPUT_FIELDS, VALID_XINPUT_ENUMS | — | — |
46
+ | 31 | LF | `REQUIRED_PROVIDER_ID` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS | — | - $.message.intent.provider.id must be present in the payload | — | 30000 |
47
+ | 32 | LF | `REQUIRED_PROVIDER_ITEM_ID` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS | — | - $.message.intent.provider.items[*].id must be present in the payload | — | 30000 |
48
+ | 33 | GRP | **REQUIRED_XINPUT_FIELDS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS | — | Sub-tests: 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, INVOICE_LOAN_FIELDS | — | — |
49
+ | 34 | LF | `REQUIRED_HEAD_CODE` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | - $.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
50
+ | 35 | LF | `REQUIRED_FORM_ID` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.id must be present in the payload | — | 30000 |
51
+ | 36 | LF | `REQUIRED_SUBMISSION_ID` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | - $.message.intent.provider.items[*].xinput.form_response.submission_id must be present in the payload | - $._EXTERNAL._SELF.message.intent.provider.id must **not** equal CONSENT_APPROVAL | 30000 |
52
+ | 37 | GRP | **PERSONAL_LOAN_FIELDS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | Sub-tests: 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, REQUIRED_FIELD_BUREAU_CONSENT | - Not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code may be in ["PERSONAL_INFORMATION"] | — |
53
+ | 38 | LF | `REQUIRED_FIELD_PAN_NAME_1` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.panName.value must be present in the payload | — | 30000 |
54
+ | 39 | LF | `REQUIRED_FIELD_DOB` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.dob.value must be present in the payload | — | 30000 |
55
+ | 40 | LF | `REQUIRED_FIELD_GENDER` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.gender.value must be present in the payload | — | 30000 |
56
+ | 41 | LF | `REQUIRED_FIELD_PAN` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.pan.value must be present in the payload | — | 30000 |
57
+ | 42 | LF | `REQUIRED_FIELD_CONTACT_NUMBER` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.contactNumber.value must be present in the payload | — | 30000 |
58
+ | 43 | LF | `REQUIRED_FIELD_EMPLOYMENT_TYPE` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.employmentType.value must be present in the payload | — | 30000 |
59
+ | 44 | LF | `REQUIRED_FIELD_INCOME` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.income.value must be present in the payload | — | 30000 |
60
+ | 45 | LF | `REQUIRED_FIELD_COMPANY_NAME` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.companyName.value must be present in the payload | — | 30000 |
61
+ | 46 | LF | `REQUIRED_FIELD_BUREAU_CONSENT` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > PERSONAL_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.bureauConsent.value must be present in the payload | — | 30000 |
62
+ | 47 | GRP | **REQUIRED_CONSENT_FIELDS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | Sub-tests: REQUIRED_FIELD_CONSENT_HANDLER | - None of $.message.intent.provider.items[*].xinput.head.descriptor.code may be in ["CONSENT_APPROVAL"] | — |
63
+ | 48 | LF | `REQUIRED_FIELD_CONSENT_HANDLER` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > REQUIRED_CONSENT_FIELDS | — | - $.message.intent.provider.items[*].xinput.form_response.submission_id must be present in the payload | — | 30000 |
64
+ | 49 | GRP | **GOLD_LOAN_FIELDS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | Sub-tests: 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, REQUIRED_FIELD_BUREAU_CONSENT | - Not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code may be in ["PERSONAL_INFORMATION_GOLD"] | — |
65
+ | 50 | LF | `REQUIRED_FIELD_PAN` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
66
+ | 51 | LF | `REQUIRED_FULL_NAME` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
67
+ | 52 | LF | `REQUIRED_FIELD_GENDER` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
68
+ | 53 | LF | `REQUIRED_FIELD_DOB` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
69
+ | 54 | LF | `REQUIRED_FIELD_CONTACT_NUMBER` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
70
+ | 55 | LF | `REQUIRED_FIELD_PINCODE` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
71
+ | 56 | LF | `REQUIRED_FIELD_JWELLERY` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
72
+ | 57 | LF | `REQUIRED_FIELD_PURITY` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
73
+ | 58 | LF | `REQUIRED_FIELD_BUREAU_CONSENT` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > GOLD_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
74
+ | 59 | GRP | **WORKING_CAPITAL_LOAN_FIELDS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | Sub-tests: 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, REQUIRED_FIELD_MIME_TYPE | - Not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code may be in ["BANK_STATEMENT_AND_GST_RETURNS"] | — |
75
+ | 60 | LF | `REQUIRED_FIELD_GSTIN_PROFILE_1` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
76
+ | 61 | LF | `REQUIRED_FIELD_GSTR_B2B_INVOICE_1` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
77
+ | 62 | LF | `REQUIRED_FIELD_GSTR_B2B_CDNR_1` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
78
+ | 63 | LF | `REQUIRED_FIELD_GSTR_B2B_INVOICES_1` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
79
+ | 64 | LF | `REQUIRED_FIELD_GSTR_3B_SUMMARY_1` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
80
+ | 65 | LF | `REQUIRED_FIELD_BANK_STATEMENT_FILES` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
81
+ | 66 | LF | `REQUIRED_FIELD_BANK_NAME` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
82
+ | 67 | LF | `REQUIRED_FIELD_MIME_TYPE` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > WORKING_CAPITAL_LOAN_FIELDS | — | - $._EXTERNAL._SELF.message.intent.provider.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
83
+ | 68 | GRP | **BUSINESS_AND_FINANCIAL_DOCUMENTS_FIELDS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | Sub-tests: REQUIRED_FIELD_FINANCIAL_STATEMENTS, REQUIRED_FIELD_SHAREHOLDING_PATTERN, REQUIRED_FIELD_ITR | - Not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code may be in ["BUSINESS_AND_FINANCIAL_DOCUMENTS"] | — |
84
+ | 69 | LF | `REQUIRED_FIELD_FINANCIAL_STATEMENTS` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > BUSINESS_AND_FINANCIAL_DOCUMENTS_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.financialStatements.value must be present in the payload | — | 30000 |
85
+ | 70 | LF | `REQUIRED_FIELD_SHAREHOLDING_PATTERN` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > BUSINESS_AND_FINANCIAL_DOCUMENTS_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.shareholdingPattern.value must be present in the payload | — | 30000 |
86
+ | 71 | LF | `REQUIRED_FIELD_ITR` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > BUSINESS_AND_FINANCIAL_DOCUMENTS_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.itr.value must be present in the payload | — | 30000 |
87
+ | 72 | GRP | **TERM_LOAN_FIELDS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | Sub-tests: REQUIRED_FIELD_PAN, REQUIRED_FULL_NAME, REQUIRED_DOB, REQUIRED_CONSTITUTION, REQUIRED_BUSINESS_PAN, REQUIRED_DOI, REQUIRED_NATURE_OF_BUSINESS, REQUIRED_ANNUAL_TURNOVER, REQUIRED_BUSINESS_PINCODE | - Not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code may be in ["PERSONAL_INFORMATION_TERM"] | — |
88
+ | 73 | LF | `REQUIRED_FIELD_PAN` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.pan.value must be present in the payload | — | 30000 |
89
+ | 74 | LF | `REQUIRED_FULL_NAME` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.fullName.value must be present in the payload | — | 30000 |
90
+ | 75 | LF | `REQUIRED_DOB` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.dob.value must be present in the payload | — | 30000 |
91
+ | 76 | LF | `REQUIRED_CONSTITUTION` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.constitution.value must be present in the payload | — | 30000 |
92
+ | 77 | LF | `REQUIRED_BUSINESS_PAN` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.businessPan.value must be present in the payload | — | 30000 |
93
+ | 78 | LF | `REQUIRED_DOI` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.doi.value must be present in the payload | — | 30000 |
94
+ | 79 | LF | `REQUIRED_NATURE_OF_BUSINESS` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.natureOfBusiness.value must be present in the payload | — | 30000 |
95
+ | 80 | LF | `REQUIRED_ANNUAL_TURNOVER` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.annualTurnover.value must be present in the payload | — | 30000 |
96
+ | 81 | LF | `REQUIRED_BUSINESS_PINCODE` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > TERM_LOAN_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.businessPincode.value must be present in the payload | — | 30000 |
97
+ | 82 | GRP | **LAMF_FIELDS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | Sub-tests: 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, REQUIRED_FIELD_EMAIL_ID | - Not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code may be in ["PERSONAL_INFORMATION_LAMF"] | — |
98
+ | 83 | LF | `REQUIRED_FIELD_PAN` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.pan.value must be present in the payload | — | 30000 |
99
+ | 84 | LF | `REQUIRED_FIELD_FULL_NAME` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.fullName.value must be present in the payload | — | 30000 |
100
+ | 85 | LF | `REQUIRED_FIELD_CONSTITUION` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.constitution.value must be present in the payload | — | 30000 |
101
+ | 86 | LF | `REQUIRED_FIELD_GENDER` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.gender.value must be present in the payload | — | 30000 |
102
+ | 87 | LF | `REQUIRED_FIELD_EMPLOYMENT_TYPE` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.employmentType.value must be present in the payload | — | 30000 |
103
+ | 88 | LF | `REQUIRED_FIELD_DOB` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.dob.value must be present in the payload | — | 30000 |
104
+ | 89 | LF | `REQUIRED_FIELD_ANNUAL_INCOME` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.annualIncome.value must be present in the payload | — | 30000 |
105
+ | 90 | LF | `REQUIRED_FIELD_MOBILE_NUMBER` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.mobileNumber.value must be present in the payload | — | 30000 |
106
+ | 91 | LF | `REQUIRED_FIELD_EMAIL_ID` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > LAMF_FIELDS | — | - $.message.intent.provider.items[*].xinput.form.data.emailId.value must be present in the payload | — | 30000 |
107
+ | 92 | GRP | **INVOICE_LOAN_FIELDS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS | — | Sub-tests: REQUIRED_FIELD_BUREAU_CONSENT | - Not all elements of $.message.intent.provider.items[*].xinput.head.descriptor.code may be in ["ORGANIZATION_INFORMATION"] | — |
108
+ | 93 | LF | `REQUIRED_FIELD_BUREAU_CONSENT` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_FIELDS > INVOICE_LOAN_FIELDS | — | - $.message.intent.providers.items[*].xinput.form.data.bureauConsent.value must be present in the payload | — | 30000 |
109
+ | 94 | GRP | **VALID_XINPUT_ENUMS** | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS | — | Sub-tests: REQUIRED_HEAD_CODE | — | — |
110
+ | 95 | LF | `REQUIRED_HEAD_CODE` | SEARCH_ITEMS > REQUIRED_ITEM_FIELDS > VALID_XINPUT_ENUMS | — | - 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"] | - $.message.intent.provider.items[*].xinput.head.descriptor.code must **not** be present in the payload | 30000 |
111
+ | 96 | GRP | **SEARCH_FULFILLMENTS** | — | — | Sub-tests: REQUIRED_FULFILLMENT_ITEMS | - $.message.intent.provider.fulfillments[*].customer.person.name must **not** be present in the payload | — |
112
+ | 97 | GRP | **REQUIRED_FULFILLMENT_ITEMS** | SEARCH_FULFILLMENTS | — | Sub-tests: REQUIRED_PERSON_NAME, REQUIRED_PERSON_DOB, REQUIRED_PERSON_GENDER, REQUIRED_CREDS_ID, REQUIRED_CREDS_TYPE, REQUIRED_CONTACT_EMAIL, REQUIRED_CONTACT_PHONE | — | — |
113
+ | 98 | LF | `REQUIRED_PERSON_NAME` | SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
114
+ | 99 | LF | `REQUIRED_PERSON_DOB` | SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
115
+ | 100 | LF | `REQUIRED_PERSON_GENDER` | SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
116
+ | 101 | LF | `REQUIRED_CREDS_ID` | SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
117
+ | 102 | LF | `REQUIRED_CREDS_TYPE` | SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
118
+ | 103 | LF | `REQUIRED_CONTACT_EMAIL` | SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
119
+ | 104 | LF | `REQUIRED_CONTACT_PHONE` | SEARCH_FULFILLMENTS > REQUIRED_FULFILLMENT_ITEMS | — | - $._EXTERNAL._SELF.message.intent.provider.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
120
+ | 105 | GRP | **SEARCH_PAYMENT** | — | — | Sub-tests: REQUIRED_PAYMENT_ITEMS | — | — |
121
+ | 106 | GRP | **REQUIRED_PAYMENT_ITEMS** | SEARCH_PAYMENT | — | Sub-tests: REQUIRED_PAYMENT_COLLECTED_BY | — | — |
122
+ | 107 | LF | `REQUIRED_PAYMENT_COLLECTED_BY` | SEARCH_PAYMENT > REQUIRED_PAYMENT_ITEMS | — | - $.message.intent.payment.collected_by must be present in the payload | — | 30000 |
123
+ | 108 | GRP | **SEARCH_TAGS** | — | — | Sub-tests: REQUIRED_PAYMENT_TAGS, REQUIRED_BAP_TERMS | — | — |
124
+ | 109 | LF | `REQUIRED_PAYMENT_TAGS` | SEARCH_TAGS | — | - All elements of $.message.intent.tags[*].descriptor.code must be in ["BAP_TERMS", "BPP_TERMS"] | - $.message.intent.tags[*].descriptor.code must **not** be present in the payload | 30000 |
125
+ | 110 | LF | `REQUIRED_BAP_TERMS` | SEARCH_TAGS | `$.message.intent.tags[?(@.descriptor.code == BAP_TERMS)]` | - All elements of $.message.intent.tags[?(@.descriptor.code == BAP_TERMS)].list[*].descriptor.code must be in ["STATIC_TERMS", "OFFLINE_CONTRACT"] | — | 30000 |
@@ -0,0 +1,67 @@
1
+ ---
2
+ action: select
3
+ codeName: L1validations
4
+ numTests: 52
5
+ generated: 2026-03-10
6
+ ---
7
+
8
+ # L1validations — `select` Validations (Table View)
9
+
10
+ **40** leaf validation rule(s) applied to `select` in the **L1validations** flow.
11
+ Group rows (GRP) list their immediate sub-tests. Leaf rows (LF) show the actual validation logic.
12
+
13
+ ---
14
+ | # | Type | Test Name | Group | Scope | Description | Skip If | Error Code |
15
+ | ---: | :---: | :--- | :--- | :--- | :--- | :--- | :---: |
16
+ | 1 | GRP | **SELECT_CONTEXT** | — | — | Sub-tests: CONTEXT_REQUIRED, CONTEXT_ENUM, CONTEXT_REGEX | — | — |
17
+ | 2 | GRP | **CONTEXT_REQUIRED** | SELECT_CONTEXT | — | Sub-tests: 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, REQUIRED_CONTEXT_BPP_URI | — | — |
18
+ | 3 | LF | `REQUIRED_CONTEXT_LOCATION_COUNTRY_CODE` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.location.country.code must be present in the payload | — | 30000 |
19
+ | 4 | LF | `REQUIRED_CONTEXT_LOCATION_CITY_CODE` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.location.city.code must be present in the payload | — | 30000 |
20
+ | 5 | LF | `REQUIRED_CONTEXT_DOMAIN` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.domain must be present in the payload | — | 30000 |
21
+ | 6 | LF | `REQUIRED_CONTEXT_TIMESTAMP` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.timestamp must be present in the payload | — | 30000 |
22
+ | 7 | LF | `REQUIRED_CONTEXT_BAP_ID` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bap_id must be present in the payload | — | 30000 |
23
+ | 8 | LF | `REQUIRED_CONTEXT_BAP_URI` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bap_uri must be present in the payload | — | 30000 |
24
+ | 9 | LF | `REQUIRED_CONTEXT_TRANSACTION_ID` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.transaction_id must be present in the payload | — | 30000 |
25
+ | 10 | LF | `REQUIRED_CONTEXT_MESSAGE_ID` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.message_id must be present in the payload | — | 30000 |
26
+ | 11 | LF | `REQUIRED_CONTEXT_VERSION` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.version must be present in the payload | — | 30000 |
27
+ | 12 | LF | `REQUIRED_CONTEXT_TTL` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.ttl must be present in the payload | — | 30000 |
28
+ | 13 | LF | `REQUIRED_CONTEXT_BPP_ID` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bpp_id must be present in the payload | — | 30000 |
29
+ | 14 | LF | `REQUIRED_CONTEXT_BPP_URI` | SELECT_CONTEXT > CONTEXT_REQUIRED | — | - $.context.bpp_uri must be present in the payload | — | 30000 |
30
+ | 15 | GRP | **CONTEXT_ENUM** | SELECT_CONTEXT | — | Sub-tests: VALID_CONTEXT_LOCATION_COUNTRY_CODE, VALID_CONTEXT_DOMAIN | — | — |
31
+ | 16 | LF | `VALID_CONTEXT_LOCATION_COUNTRY_CODE` | SELECT_CONTEXT > CONTEXT_ENUM | — | - All elements of $.context.location.country.code must be in ["IND"] | - $.context.location.country.code must **not** be present in the payload | 30000 |
32
+ | 17 | LF | `VALID_CONTEXT_DOMAIN` | SELECT_CONTEXT > CONTEXT_ENUM | — | - All elements of $.context.domain must be in ["ONDC:FIS12"] | - $.context.domain must **not** be present in the payload | 30000 |
33
+ | 18 | GRP | **CONTEXT_REGEX** | SELECT_CONTEXT | — | Sub-tests: REGEX_CONTEXT_LOCATION_CITY_CODE, REGEX_CONTEXT_TIMESTAMP_1, REGEX_CONTEXT_BAP_ID, REGEX_CONTEXT_BAP_URI, REQUIRED_CONTEXT_TTL, REGEX_CONTEXT_BPP_ID, REGEX_CONTEXT_BPP_URI | — | — |
34
+ | 19 | LF | `REGEX_CONTEXT_LOCATION_CITY_CODE` | SELECT_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.location.city.code must follow every regex in ["(\\*)\|(^std\\:[0-9]{2,4}$)"] | - $.context.location.city.code must **not** be present in the payload | 30000 |
35
+ | 20 | LF | `REGEX_CONTEXT_TIMESTAMP_1` | SELECT_CONTEXT > CONTEXT_REGEX | — | - 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})$"] | - $.context.timestamp must **not** be present in the payload | 30000 |
36
+ | 21 | LF | `REGEX_CONTEXT_BAP_ID` | SELECT_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bap_id must follow every regex in ["^(?!.*\b(?:http\|https\|www)\b)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$"] | - $.context.bap_id must **not** be present in the payload | 30000 |
37
+ | 22 | LF | `REGEX_CONTEXT_BAP_URI` | SELECT_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bap_uri must follow every regex in ["^https:\/\/(www\.)?[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+(/)?$"] | - $.context.bap_uri must **not** be present in the payload | 30000 |
38
+ | 23 | LF | `REQUIRED_CONTEXT_TTL` | SELECT_CONTEXT > CONTEXT_REGEX | — | - 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)?)?$"] | - $.context.ttl must **not** be present in the payload | 30000 |
39
+ | 24 | LF | `REGEX_CONTEXT_BPP_ID` | SELECT_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bpp_id must follow every regex in ["^(?!.*\b(?:http\|https\|www)\b)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$"] | - $.context.bpp_id must **not** be present in the payload | 30000 |
40
+ | 25 | LF | `REGEX_CONTEXT_BPP_URI` | SELECT_CONTEXT > CONTEXT_REGEX | — | - All elements of $.context.bpp_uri must follow every regex in ["^https:\/\/(www\.)?[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+(/)?$"] | - $.context.bpp_uri must **not** be present in the payload | 30000 |
41
+ | 26 | LF | `REQUIRED_PROVIDER_ID` | — | — | - $.message.order.provider.id must be present in the payload | — | 30000 |
42
+ | 27 | GRP | **REQUIRED_ITEM_FIELDS** | — | — | Sub-tests: REQUIRED_ITEM_ID, REQUIRED_PARENT_ITEM_ID, REQUIRED_XINPUT_ITEMS, VALID_TAGS | — | — |
43
+ | 28 | LF | `REQUIRED_ITEM_ID` | REQUIRED_ITEM_FIELDS | — | - $.message.order.items[*].id must be present in the payload | — | 30000 |
44
+ | 29 | LF | `REQUIRED_PARENT_ITEM_ID` | REQUIRED_ITEM_FIELDS | — | - $.message.order.items[*].parent_item_id must be present in the payload | — | 30000 |
45
+ | 30 | GRP | **REQUIRED_XINPUT_ITEMS** | REQUIRED_ITEM_FIELDS | — | Sub-tests: SET_LOAN_AMOUNT_FORM, REQUIRED_FORM_SUBMISSION_ID, BUSINESS_KYC_FORM | - $.message.order.items[*].xinput.form.id must **not** be present in the payload | — |
46
+ | 31 | GRP | **SET_LOAN_AMOUNT_FORM** | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS | — | Sub-tests: REQUIRED_REQUEST_AMOUNT, REQUIRED_REQUEST_TERM | - $.message.order.items[*].xinput.head.descriptor.code must **not** equal ["SET_LOAN_AMOUNT"] | — |
47
+ | 32 | LF | `REQUIRED_REQUEST_AMOUNT` | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS > SET_LOAN_AMOUNT_FORM | — | - $.message.order.items[*].xinput.form.data.requestAmount.value must be present in the payload | — | 30000 |
48
+ | 33 | LF | `REQUIRED_REQUEST_TERM` | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS > SET_LOAN_AMOUNT_FORM | — | - $.message.order.items[*].xinput.form.data.requestTerm.value must be present in the payload | — | 30000 |
49
+ | 34 | LF | `REQUIRED_FORM_SUBMISSION_ID` | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS | — | - $.message.order.items[*].xinput.form_response.submission_id must be present in the payload | - Not all elements of $.message.order.items[*].xinput.head.descriptor.code may be in ["INDIVIDUAL_KYC", "MANUAL_VERIFICATION"] | 30000 |
50
+ | 35 | GRP | **BUSINESS_KYC_FORM** | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS | — | Sub-tests: REQUIRED_COMPANY_PAN, REQUIRED_GST_CERTIFICATE, REQUIRED_BUSINESS_PROOF, REQUIRED_APPLICATION_FORM | - $.message.order.items[*].xinput.head.descriptor.code must **not** equal ["BUSINESS_KYC"] | — |
51
+ | 36 | LF | `REQUIRED_COMPANY_PAN` | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS > BUSINESS_KYC_FORM | — | - $.message.order.items[*].xinput.form.data.companyPan.value must be present in the payload | — | 30000 |
52
+ | 37 | LF | `REQUIRED_GST_CERTIFICATE` | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS > BUSINESS_KYC_FORM | — | - $.message.order.items[*].xinput.form.data.gstCertificate.value must be present in the payload | — | 30000 |
53
+ | 38 | LF | `REQUIRED_BUSINESS_PROOF` | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS > BUSINESS_KYC_FORM | — | - $.message.order.items[*].xinput.form.data.businessProof.value must be present in the payload | — | 30000 |
54
+ | 39 | LF | `REQUIRED_APPLICATION_FORM` | REQUIRED_ITEM_FIELDS > REQUIRED_XINPUT_ITEMS > BUSINESS_KYC_FORM | — | - $.message.order.items[*].xinput.form.data.applicationForm.value must be present in the payload | — | 30000 |
55
+ | 40 | GRP | **VALID_TAGS** | REQUIRED_ITEM_FIELDS | — | Sub-tests: VALID_ITEM_TAGS, VALID_PLEDGE_TAGS | - $.message.order.items[*].tags[*].descriptor.code must **not** be present in the payload | — |
56
+ | 41 | LF | `VALID_ITEM_TAGS` | REQUIRED_ITEM_FIELDS > VALID_TAGS | — | - All elements of $.message.order.items[*].tags[*].descriptor.code must be in ["PLEDGE_REQUIREMENTS"] | - $.message.order.items[*].tags[*].descriptor.code must **not** be present in the payload | 30000 |
57
+ | 42 | LF | `VALID_PLEDGE_TAGS` | REQUIRED_ITEM_FIELDS > VALID_TAGS | `$.message.order.items[*].tags[?(@.descriptor.code == PLEDGE_REQUIREMENTS)]` | - All elements of $.message.order.items[*].tags[?(@.descriptor.code == PLEDGE_REQUIREMENTS)].list[*].descriptor.code must be in ["SCHEME_CODE", "UNITS_PLEDGED"] | — | 30000 |
58
+ | 43 | GRP | **REQUIRED_FULFILMENT_ITEMS** | — | — | Sub-tests: REQUIRED_FULFILLMENT_ID, REQUIRED_CUSTOMER_ITEMS | — | — |
59
+ | 44 | LF | `REQUIRED_FULFILLMENT_ID` | REQUIRED_FULFILMENT_ITEMS | — | - $.message.order.fulfillments[*].id must be present in the payload | — | 30000 |
60
+ | 45 | GRP | **REQUIRED_CUSTOMER_ITEMS** | REQUIRED_FULFILMENT_ITEMS | — | Sub-tests: REQUIRED_CUSTOMER_DOB, REQUIRED_CUSTOMER_GENDER, REQUIRED_CREDS, REQUIRED_CUSTOMER_CONTACT_EMAIL, REQUIRED_CUSTOMER_CONTACT_PHONE | - $.message.order.fulfillments[*].customer.person.name must **not** be present in the payload | — |
61
+ | 46 | LF | `REQUIRED_CUSTOMER_DOB` | REQUIRED_FULFILMENT_ITEMS > REQUIRED_CUSTOMER_ITEMS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
62
+ | 47 | LF | `REQUIRED_CUSTOMER_GENDER` | REQUIRED_FULFILMENT_ITEMS > REQUIRED_CUSTOMER_ITEMS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
63
+ | 48 | GRP | **REQUIRED_CREDS** | REQUIRED_FULFILMENT_ITEMS > REQUIRED_CUSTOMER_ITEMS | — | Sub-tests: REQUIRED_CUSTOMER_CREDS_ID, REQUIRED_CUSTOMER_CREDS_TYPE | - $.message.order.fulfillments[*].customer.person.creds[*].id must **not** be present in the payload | — |
64
+ | 49 | LF | `REQUIRED_CUSTOMER_CREDS_ID` | REQUIRED_FULFILMENT_ITEMS > REQUIRED_CUSTOMER_ITEMS > REQUIRED_CREDS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.person.creds[*].id must be present in the payload | — | 30000 |
65
+ | 50 | LF | `REQUIRED_CUSTOMER_CREDS_TYPE` | REQUIRED_FULFILMENT_ITEMS > REQUIRED_CUSTOMER_ITEMS > REQUIRED_CREDS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.person.creds[*].id must be present in the payload | — | 30000 |
66
+ | 51 | LF | `REQUIRED_CUSTOMER_CONTACT_EMAIL` | REQUIRED_FULFILMENT_ITEMS > REQUIRED_CUSTOMER_ITEMS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
67
+ | 52 | LF | `REQUIRED_CUSTOMER_CONTACT_PHONE` | REQUIRED_FULFILMENT_ITEMS > REQUIRED_CUSTOMER_ITEMS | — | - $._EXTERNAL._SELF.message.order.fulfillments[*].customer.person.name must be present in the payload | — | 30000 |
@@ -0,0 +1,41 @@
1
+ ---
2
+ action: status
3
+ codeName: L1validations
4
+ numTests: 26
5
+ generated: 2026-03-10
6
+ ---
7
+
8
+ # L1validations — `status` Validations (Table View)
9
+
10
+ **22** leaf validation rule(s) applied to `status` in the **L1validations** flow.
11
+ Group rows (GRP) list their immediate sub-tests. Leaf rows (LF) show the actual validation logic.
12
+
13
+ ---
14
+ | # | Type | Test Name | Group | Description | Skip If | Error Code |
15
+ | ---: | :---: | :--- | :--- | :--- | :--- | :---: |
16
+ | 1 | GRP | **STATUS_CONTEXT** | — | Sub-tests: CONTEXT_REQUIRED, CONTEXT_ENUM, CONTEXT_REGEX | — | — |
17
+ | 2 | GRP | **CONTEXT_REQUIRED** | STATUS_CONTEXT | Sub-tests: 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, REQUIRED_CONTEXT_BPP_URI | — | — |
18
+ | 3 | LF | `REQUIRED_CONTEXT_LOCATION_COUNTRY_CODE` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.location.country.code must be present in the payload | — | 30000 |
19
+ | 4 | LF | `REQUIRED_CONTEXT_LOCATION_CITY_CODE` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.location.city.code must be present in the payload | — | 30000 |
20
+ | 5 | LF | `REQUIRED_CONTEXT_DOMAIN` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.domain must be present in the payload | — | 30000 |
21
+ | 6 | LF | `REQUIRED_CONTEXT_TIMESTAMP` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.timestamp must be present in the payload | — | 30000 |
22
+ | 7 | LF | `REQUIRED_CONTEXT_BAP_ID` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.bap_id must be present in the payload | — | 30000 |
23
+ | 8 | LF | `REQUIRED_CONTEXT_BAP_URI` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.bap_uri must be present in the payload | — | 30000 |
24
+ | 9 | LF | `REQUIRED_CONTEXT_TRANSACTION_ID` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.transaction_id must be present in the payload | — | 30000 |
25
+ | 10 | LF | `REQUIRED_CONTEXT_MESSAGE_ID` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.message_id must be present in the payload | — | 30000 |
26
+ | 11 | LF | `REQUIRED_CONTEXT_VERSION` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.version must be present in the payload | — | 30000 |
27
+ | 12 | LF | `REQUIRED_CONTEXT_TTL` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.ttl must be present in the payload | — | 30000 |
28
+ | 13 | LF | `REQUIRED_CONTEXT_BPP_ID` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.bpp_id must be present in the payload | — | 30000 |
29
+ | 14 | LF | `REQUIRED_CONTEXT_BPP_URI` | STATUS_CONTEXT > CONTEXT_REQUIRED | - $.context.bpp_uri must be present in the payload | — | 30000 |
30
+ | 15 | GRP | **CONTEXT_ENUM** | STATUS_CONTEXT | Sub-tests: VALID_CONTEXT_LOCATION_COUNTRY_CODE, VALID_CONTEXT_DOMAIN | — | — |
31
+ | 16 | LF | `VALID_CONTEXT_LOCATION_COUNTRY_CODE` | STATUS_CONTEXT > CONTEXT_ENUM | - All elements of $.context.location.country.code must be in ["IND"] | - $.context.location.country.code must **not** be present in the payload | 30000 |
32
+ | 17 | LF | `VALID_CONTEXT_DOMAIN` | STATUS_CONTEXT > CONTEXT_ENUM | - All elements of $.context.domain must be in ["ONDC:FIS12"] | - $.context.domain must **not** be present in the payload | 30000 |
33
+ | 18 | GRP | **CONTEXT_REGEX** | STATUS_CONTEXT | Sub-tests: REGEX_CONTEXT_LOCATION_CITY_CODE, REGEX_CONTEXT_TIMESTAMP_1, REGEX_CONTEXT_BAP_ID, REGEX_CONTEXT_BAP_URI, REQUIRED_CONTEXT_TTL, REGEX_CONTEXT_BPP_ID, REGEX_CONTEXT_BPP_URI | — | — |
34
+ | 19 | LF | `REGEX_CONTEXT_LOCATION_CITY_CODE` | STATUS_CONTEXT > CONTEXT_REGEX | - All elements of $.context.location.city.code must follow every regex in ["(\\*)\|(^std\\:[0-9]{2,4}$)"] | - $.context.location.city.code must **not** be present in the payload | 30000 |
35
+ | 20 | LF | `REGEX_CONTEXT_TIMESTAMP_1` | STATUS_CONTEXT > CONTEXT_REGEX | - 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})$"] | - $.context.timestamp must **not** be present in the payload | 30000 |
36
+ | 21 | LF | `REGEX_CONTEXT_BAP_ID` | STATUS_CONTEXT > CONTEXT_REGEX | - All elements of $.context.bap_id must follow every regex in ["^(?!.*\b(?:http\|https\|www)\b)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$"] | - $.context.bap_id must **not** be present in the payload | 30000 |
37
+ | 22 | LF | `REGEX_CONTEXT_BAP_URI` | STATUS_CONTEXT > CONTEXT_REGEX | - All elements of $.context.bap_uri must follow every regex in ["^https:\/\/(www\.)?[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+(/)?$"] | - $.context.bap_uri must **not** be present in the payload | 30000 |
38
+ | 23 | LF | `REQUIRED_CONTEXT_TTL` | STATUS_CONTEXT > CONTEXT_REGEX | - 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)?)?$"] | - $.context.ttl must **not** be present in the payload | 30000 |
39
+ | 24 | LF | `REGEX_CONTEXT_BPP_ID` | STATUS_CONTEXT > CONTEXT_REGEX | - All elements of $.context.bpp_id must follow every regex in ["^(?!.*\b(?:http\|https\|www)\b)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$"] | - $.context.bpp_id must **not** be present in the payload | 30000 |
40
+ | 25 | LF | `REGEX_CONTEXT_BPP_URI` | STATUS_CONTEXT > CONTEXT_REGEX | - All elements of $.context.bpp_uri must follow every regex in ["^https:\/\/(www\.)?[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+(/)?$"] | - $.context.bpp_uri must **not** be present in the payload | 30000 |
41
+ | 26 | LF | `REQUIRED_ORDER_ID` | — | - $.message.order_id must be present in the payload | — | 30000 |
@@ -0,0 +1,48 @@
1
+ ---
2
+ action: update
3
+ codeName: L1validations
4
+ numTests: 33
5
+ generated: 2026-03-10
6
+ ---
7
+
8
+ # L1validations — `update` Validations (Table View)
9
+
10
+ **27** leaf validation rule(s) applied to `update` in the **L1validations** flow.
11
+ Group rows (GRP) list their immediate sub-tests. Leaf rows (LF) show the actual validation logic.
12
+
13
+ ---
14
+ | # | Type | Test Name | Group | Description | Skip If | Error Code |
15
+ | ---: | :---: | :--- | :--- | :--- | :--- | :---: |
16
+ | 1 | GRP | **UPDATE_CONTEXT** | — | Sub-tests: CONTEXT_REQUIRED, CONTEXT_ENUM, CONTEXT_REGEX | — | — |
17
+ | 2 | GRP | **CONTEXT_REQUIRED** | UPDATE_CONTEXT | Sub-tests: 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, REQUIRED_CONTEXT_BPP_URI | — | — |
18
+ | 3 | LF | `REQUIRED_CONTEXT_LOCATION_COUNTRY_CODE` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.location.country.code must be present in the payload | — | 30000 |
19
+ | 4 | LF | `REQUIRED_CONTEXT_LOCATION_CITY_CODE` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.location.city.code must be present in the payload | — | 30000 |
20
+ | 5 | LF | `REQUIRED_CONTEXT_DOMAIN` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.domain must be present in the payload | — | 30000 |
21
+ | 6 | LF | `REQUIRED_CONTEXT_TIMESTAMP` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.timestamp must be present in the payload | — | 30000 |
22
+ | 7 | LF | `REQUIRED_CONTEXT_BAP_ID` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.bap_id must be present in the payload | — | 30000 |
23
+ | 8 | LF | `REQUIRED_CONTEXT_BAP_URI` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.bap_uri must be present in the payload | — | 30000 |
24
+ | 9 | LF | `REQUIRED_CONTEXT_TRANSACTION_ID` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.transaction_id must be present in the payload | — | 30000 |
25
+ | 10 | LF | `REQUIRED_CONTEXT_MESSAGE_ID` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.message_id must be present in the payload | — | 30000 |
26
+ | 11 | LF | `REQUIRED_CONTEXT_VERSION` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.version must be present in the payload | — | 30000 |
27
+ | 12 | LF | `REQUIRED_CONTEXT_TTL` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.ttl must be present in the payload | — | 30000 |
28
+ | 13 | LF | `REQUIRED_CONTEXT_BPP_ID` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.bpp_id must be present in the payload | — | 30000 |
29
+ | 14 | LF | `REQUIRED_CONTEXT_BPP_URI` | UPDATE_CONTEXT > CONTEXT_REQUIRED | - $.context.bpp_uri must be present in the payload | — | 30000 |
30
+ | 15 | GRP | **CONTEXT_ENUM** | UPDATE_CONTEXT | Sub-tests: VALID_CONTEXT_LOCATION_COUNTRY_CODE, VALID_CONTEXT_DOMAIN | — | — |
31
+ | 16 | LF | `VALID_CONTEXT_LOCATION_COUNTRY_CODE` | UPDATE_CONTEXT > CONTEXT_ENUM | - All elements of $.context.location.country.code must be in ["IND"] | - $.context.location.country.code must **not** be present in the payload | 30000 |
32
+ | 17 | LF | `VALID_CONTEXT_DOMAIN` | UPDATE_CONTEXT > CONTEXT_ENUM | - All elements of $.context.domain must be in ["ONDC:FIS12"] | - $.context.domain must **not** be present in the payload | 30000 |
33
+ | 18 | GRP | **CONTEXT_REGEX** | UPDATE_CONTEXT | Sub-tests: REGEX_CONTEXT_LOCATION_CITY_CODE, REGEX_CONTEXT_TIMESTAMP_1, REGEX_CONTEXT_BAP_ID, REGEX_CONTEXT_BAP_URI, REQUIRED_CONTEXT_TTL, REGEX_CONTEXT_BPP_ID, REGEX_CONTEXT_BPP_URI | — | — |
34
+ | 19 | LF | `REGEX_CONTEXT_LOCATION_CITY_CODE` | UPDATE_CONTEXT > CONTEXT_REGEX | - All elements of $.context.location.city.code must follow every regex in ["(\\*)\|(^std\\:[0-9]{2,4}$)"] | - $.context.location.city.code must **not** be present in the payload | 30000 |
35
+ | 20 | LF | `REGEX_CONTEXT_TIMESTAMP_1` | UPDATE_CONTEXT > CONTEXT_REGEX | - 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})$"] | - $.context.timestamp must **not** be present in the payload | 30000 |
36
+ | 21 | LF | `REGEX_CONTEXT_BAP_ID` | UPDATE_CONTEXT > CONTEXT_REGEX | - All elements of $.context.bap_id must follow every regex in ["^(?!.*\b(?:http\|https\|www)\b)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$"] | - $.context.bap_id must **not** be present in the payload | 30000 |
37
+ | 22 | LF | `REGEX_CONTEXT_BAP_URI` | UPDATE_CONTEXT > CONTEXT_REGEX | - All elements of $.context.bap_uri must follow every regex in ["^https:\/\/(www\.)?[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+(/)?$"] | - $.context.bap_uri must **not** be present in the payload | 30000 |
38
+ | 23 | LF | `REQUIRED_CONTEXT_TTL` | UPDATE_CONTEXT > CONTEXT_REGEX | - 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)?)?$"] | - $.context.ttl must **not** be present in the payload | 30000 |
39
+ | 24 | LF | `REGEX_CONTEXT_BPP_ID` | UPDATE_CONTEXT > CONTEXT_REGEX | - All elements of $.context.bpp_id must follow every regex in ["^(?!.*\b(?:http\|https\|www)\b)[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+$"] | - $.context.bpp_id must **not** be present in the payload | 30000 |
40
+ | 25 | LF | `REGEX_CONTEXT_BPP_URI` | UPDATE_CONTEXT > CONTEXT_REGEX | - All elements of $.context.bpp_uri must follow every regex in ["^https:\/\/(www\.)?[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)+(/)?$"] | - $.context.bpp_uri must **not** be present in the payload | 30000 |
41
+ | 26 | LF | `REQUIRED_UPDATE_TARGET` | — | - $.message.update_target must be present in the payload | — | 30000 |
42
+ | 27 | LF | `REQUIRED_ORDER_ID` | — | - $.message.order.id must be present in the payload | — | 30000 |
43
+ | 28 | GRP | **REQUIRED_ITEMS_FIELDS** | — | Sub-tests: REQUIRED_ITEM_ID, REQUIRED_XINPUT_ITEMS | - $.message.order.items[*].id must **not** be present in the payload | — |
44
+ | 29 | LF | `REQUIRED_ITEM_ID` | REQUIRED_ITEMS_FIELDS | - $.message.order.items[*].id must be present in the payload | — | 30000 |
45
+ | 30 | GRP | **REQUIRED_XINPUT_ITEMS** | REQUIRED_ITEMS_FIELDS | Sub-tests: REQUIRED_HEAD_CODE, REQUIRED_FORM_ID, REQUIRED_SUBMISSION_ID | - $.message.order.items[*].xinput.form.id must **not** be present in the payload | — |
46
+ | 31 | LF | `REQUIRED_HEAD_CODE` | REQUIRED_ITEMS_FIELDS > REQUIRED_XINPUT_ITEMS | - $.message.order.items[*].xinput.head.descriptor.code must be present in the payload | — | 30000 |
47
+ | 32 | LF | `REQUIRED_FORM_ID` | REQUIRED_ITEMS_FIELDS > REQUIRED_XINPUT_ITEMS | - $.message.order.items[*].xinput.form.id must be present in the payload | — | 30000 |
48
+ | 33 | LF | `REQUIRED_SUBMISSION_ID` | REQUIRED_ITEMS_FIELDS > REQUIRED_XINPUT_ITEMS | - $.message.order.items[*].xinput.form_response.submission_id must be present in the payload | - $.message.order.items[*].xinput.form_response.submission_id must **not** be present in the payload | 30000 |