@gofynd/fdk-client-javascript 1.4.8-beta.3 → 1.4.8

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 (189) hide show
  1. package/README.md +26 -1
  2. package/package.json +2 -2
  3. package/sdk/application/ApplicationClient.d.ts +8 -0
  4. package/sdk/application/ApplicationClient.js +14 -0
  5. package/sdk/application/Cart/CartApplicationClient.d.ts +20 -20
  6. package/sdk/application/Cart/CartApplicationClient.js +20 -20
  7. package/sdk/application/Cart/CartApplicationModel.d.ts +2446 -664
  8. package/sdk/application/Cart/CartApplicationModel.js +783 -552
  9. package/sdk/application/Cart/CartApplicationValidator.d.ts +268 -194
  10. package/sdk/application/Cart/CartApplicationValidator.js +100 -114
  11. package/sdk/application/Catalog/CatalogApplicationClient.d.ts +53 -53
  12. package/sdk/application/Catalog/CatalogApplicationClient.js +53 -53
  13. package/sdk/application/Catalog/CatalogApplicationModel.d.ts +2012 -503
  14. package/sdk/application/Catalog/CatalogApplicationModel.js +603 -453
  15. package/sdk/application/Catalog/CatalogApplicationValidator.d.ts +64 -64
  16. package/sdk/application/Catalog/CatalogApplicationValidator.js +32 -32
  17. package/sdk/application/Common/CommonApplicationClient.d.ts +2 -2
  18. package/sdk/application/Common/CommonApplicationClient.js +2 -2
  19. package/sdk/application/Common/CommonApplicationModel.d.ts +170 -90
  20. package/sdk/application/Common/CommonApplicationModel.js +59 -58
  21. package/sdk/application/Common/CommonApplicationValidator.d.ts +8 -5
  22. package/sdk/application/Common/CommonApplicationValidator.js +3 -3
  23. package/sdk/application/Communication/CommunicationApplicationClient.d.ts +2 -2
  24. package/sdk/application/Communication/CommunicationApplicationClient.js +2 -2
  25. package/sdk/application/Communication/CommunicationApplicationModel.d.ts +170 -35
  26. package/sdk/application/Communication/CommunicationApplicationModel.js +54 -33
  27. package/sdk/application/Configuration/ConfigurationApplicationClient.d.ts +15 -15
  28. package/sdk/application/Configuration/ConfigurationApplicationClient.js +15 -15
  29. package/sdk/application/Configuration/ConfigurationApplicationModel.d.ts +624 -443
  30. package/sdk/application/Configuration/ConfigurationApplicationModel.js +259 -248
  31. package/sdk/application/Configuration/ConfigurationApplicationValidator.d.ts +32 -24
  32. package/sdk/application/Configuration/ConfigurationApplicationValidator.js +14 -13
  33. package/sdk/application/Content/ContentApplicationClient.d.ts +16 -16
  34. package/sdk/application/Content/ContentApplicationClient.js +16 -16
  35. package/sdk/application/Content/ContentApplicationModel.d.ts +1205 -282
  36. package/sdk/application/Content/ContentApplicationModel.js +341 -277
  37. package/sdk/application/Content/ContentApplicationValidator.d.ts +28 -17
  38. package/sdk/application/Content/ContentApplicationValidator.js +11 -10
  39. package/sdk/application/FileStorage/FileStorageApplicationClient.d.ts +3 -3
  40. package/sdk/application/FileStorage/FileStorageApplicationClient.js +3 -3
  41. package/sdk/application/FileStorage/FileStorageApplicationModel.d.ts +146 -37
  42. package/sdk/application/FileStorage/FileStorageApplicationModel.js +38 -36
  43. package/sdk/application/Lead/LeadApplicationClient.d.ts +3 -3
  44. package/sdk/application/Lead/LeadApplicationClient.js +3 -3
  45. package/sdk/application/Lead/LeadApplicationModel.d.ts +195 -134
  46. package/sdk/application/Lead/LeadApplicationModel.js +110 -67
  47. package/sdk/application/Lead/LeadApplicationValidator.d.ts +8 -8
  48. package/sdk/application/Lead/LeadApplicationValidator.js +4 -4
  49. package/sdk/application/Logistic/LogisticApplicationClient.d.ts +10 -10
  50. package/sdk/application/Logistic/LogisticApplicationClient.js +10 -10
  51. package/sdk/application/Logistic/LogisticApplicationModel.d.ts +1039 -221
  52. package/sdk/application/Logistic/LogisticApplicationModel.js +342 -199
  53. package/sdk/application/Logistic/LogisticApplicationValidator.d.ts +76 -82
  54. package/sdk/application/Logistic/LogisticApplicationValidator.js +38 -41
  55. package/sdk/application/Order/OrderApplicationClient.d.ts +10 -10
  56. package/sdk/application/Order/OrderApplicationClient.js +10 -10
  57. package/sdk/application/Order/OrderApplicationModel.d.ts +1400 -325
  58. package/sdk/application/Order/OrderApplicationModel.js +391 -317
  59. package/sdk/application/Order/OrderApplicationValidator.d.ts +32 -30
  60. package/sdk/application/Order/OrderApplicationValidator.js +15 -14
  61. package/sdk/application/Payment/PaymentApplicationClient.d.ts +43 -43
  62. package/sdk/application/Payment/PaymentApplicationClient.js +43 -43
  63. package/sdk/application/Payment/PaymentApplicationModel.d.ts +1111 -1022
  64. package/sdk/application/Payment/PaymentApplicationModel.js +537 -521
  65. package/sdk/application/Payment/PaymentApplicationValidator.d.ts +82 -49
  66. package/sdk/application/Payment/PaymentApplicationValidator.js +30 -30
  67. package/sdk/application/Rewards/RewardsApplicationModel.d.ts +28 -7
  68. package/sdk/application/Rewards/RewardsApplicationModel.js +7 -7
  69. package/sdk/application/Share/ShareApplicationModel.d.ts +178 -38
  70. package/sdk/application/Share/ShareApplicationModel.js +53 -37
  71. package/sdk/application/Share/ShareApplicationValidator.d.ts +4 -2
  72. package/sdk/application/Share/ShareApplicationValidator.js +2 -1
  73. package/sdk/application/Theme/ThemeApplicationClient.d.ts +4 -4
  74. package/sdk/application/Theme/ThemeApplicationClient.js +14 -8
  75. package/sdk/application/Theme/ThemeApplicationModel.d.ts +528 -287
  76. package/sdk/application/Theme/ThemeApplicationModel.js +208 -172
  77. package/sdk/application/Theme/ThemeApplicationValidator.d.ts +17 -12
  78. package/sdk/application/Theme/ThemeApplicationValidator.js +8 -6
  79. package/sdk/application/User/UserApplicationClient.d.ts +36 -36
  80. package/sdk/application/User/UserApplicationClient.js +36 -36
  81. package/sdk/application/User/UserApplicationModel.d.ts +1062 -255
  82. package/sdk/application/User/UserApplicationModel.js +298 -244
  83. package/sdk/application/User/UserApplicationValidator.d.ts +80 -80
  84. package/sdk/application/User/UserApplicationValidator.js +40 -40
  85. package/sdk/application/Webhook/WebhookApplicationClient.d.ts +1 -1
  86. package/sdk/application/Webhook/WebhookApplicationClient.js +1 -1
  87. package/sdk/application/Webhook/WebhookApplicationModel.d.ts +20 -5
  88. package/sdk/application/Webhook/WebhookApplicationModel.js +5 -5
  89. package/sdk/common/Clickstream.js +95 -15
  90. package/sdk/common/Constant.d.ts +9 -0
  91. package/sdk/common/Constant.js +11 -0
  92. package/sdk/common/Utility.js +19 -0
  93. package/sdk/common/utils.js +8 -1
  94. package/sdk/partner/Lead/LeadPartnerModel.d.ts +28 -7
  95. package/sdk/partner/Lead/LeadPartnerModel.js +7 -7
  96. package/sdk/partner/Logistics/LogisticsPartnerModel.d.ts +28 -7
  97. package/sdk/partner/Logistics/LogisticsPartnerModel.js +7 -7
  98. package/sdk/partner/PartnerClient.d.ts +8 -0
  99. package/sdk/partner/PartnerClient.js +14 -0
  100. package/sdk/partner/Theme/ThemePartnerClient.d.ts +20 -0
  101. package/sdk/partner/Theme/ThemePartnerClient.js +158 -0
  102. package/sdk/partner/Theme/ThemePartnerModel.d.ts +45 -6
  103. package/sdk/partner/Theme/ThemePartnerModel.js +33 -4
  104. package/sdk/partner/Theme/ThemePartnerValidator.d.ts +2 -0
  105. package/sdk/partner/Theme/ThemePartnerValidator.js +14 -0
  106. package/sdk/partner/Webhook/WebhookPartnerModel.d.ts +28 -7
  107. package/sdk/partner/Webhook/WebhookPartnerModel.js +7 -7
  108. package/sdk/platform/Analytics/AnalyticsPlatformModel.d.ts +28 -7
  109. package/sdk/platform/Analytics/AnalyticsPlatformModel.js +7 -7
  110. package/sdk/platform/Billing/BillingPlatformClient.d.ts +21 -10
  111. package/sdk/platform/Billing/BillingPlatformClient.js +167 -83
  112. package/sdk/platform/Billing/BillingPlatformModel.d.ts +2849 -565
  113. package/sdk/platform/Billing/BillingPlatformModel.js +935 -556
  114. package/sdk/platform/Billing/BillingPlatformValidator.d.ts +30 -14
  115. package/sdk/platform/Billing/BillingPlatformValidator.js +31 -16
  116. package/sdk/platform/Cart/CartPlatformModel.d.ts +28 -7
  117. package/sdk/platform/Cart/CartPlatformModel.js +8 -8
  118. package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +12 -2
  119. package/sdk/platform/Catalog/CatalogPlatformClient.js +41 -1
  120. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +46 -12
  121. package/sdk/platform/Catalog/CatalogPlatformModel.js +14 -11
  122. package/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +40 -0
  123. package/sdk/platform/Catalog/CatalogPlatformValidator.js +17 -0
  124. package/sdk/platform/Communication/CommunicationPlatformModel.d.ts +28 -7
  125. package/sdk/platform/Communication/CommunicationPlatformModel.js +7 -7
  126. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.d.ts +28 -7
  127. package/sdk/platform/CompanyProfile/CompanyProfilePlatformModel.js +7 -7
  128. package/sdk/platform/Configuration/ConfigurationPlatformClient.d.ts +0 -97
  129. package/sdk/platform/Configuration/ConfigurationPlatformClient.js +77 -782
  130. package/sdk/platform/Configuration/ConfigurationPlatformModel.d.ts +24 -701
  131. package/sdk/platform/Configuration/ConfigurationPlatformModel.js +7 -539
  132. package/sdk/platform/Configuration/ConfigurationPlatformValidator.d.ts +1 -183
  133. package/sdk/platform/Configuration/ConfigurationPlatformValidator.js +0 -134
  134. package/sdk/platform/Content/ContentPlatformApplicationClient.d.ts +0 -10
  135. package/sdk/platform/Content/ContentPlatformApplicationClient.js +0 -79
  136. package/sdk/platform/Content/ContentPlatformApplicationValidator.d.ts +1 -15
  137. package/sdk/platform/Content/ContentPlatformApplicationValidator.js +0 -13
  138. package/sdk/platform/Content/ContentPlatformModel.d.ts +58 -17
  139. package/sdk/platform/Content/ContentPlatformModel.js +28 -15
  140. package/sdk/platform/Discount/DiscountPlatformModel.d.ts +28 -7
  141. package/sdk/platform/Discount/DiscountPlatformModel.js +7 -7
  142. package/sdk/platform/FileStorage/FileStoragePlatformModel.d.ts +127 -25
  143. package/sdk/platform/FileStorage/FileStoragePlatformModel.js +37 -25
  144. package/sdk/platform/Finance/FinancePlatformClient.d.ts +28 -28
  145. package/sdk/platform/Finance/FinancePlatformClient.js +28 -28
  146. package/sdk/platform/Finance/FinancePlatformModel.d.ts +1583 -347
  147. package/sdk/platform/Finance/FinancePlatformModel.js +463 -351
  148. package/sdk/platform/Lead/LeadPlatformModel.d.ts +28 -7
  149. package/sdk/platform/Lead/LeadPlatformModel.js +7 -7
  150. package/sdk/platform/Order/OrderPlatformClient.d.ts +22 -0
  151. package/sdk/platform/Order/OrderPlatformClient.js +165 -0
  152. package/sdk/platform/Order/OrderPlatformModel.d.ts +613 -39
  153. package/sdk/platform/Order/OrderPlatformModel.js +359 -41
  154. package/sdk/platform/Order/OrderPlatformValidator.d.ts +32 -1
  155. package/sdk/platform/Order/OrderPlatformValidator.js +28 -0
  156. package/sdk/platform/Payment/PaymentPlatformModel.d.ts +30 -9
  157. package/sdk/platform/Payment/PaymentPlatformModel.js +9 -9
  158. package/sdk/platform/PlatformClient.d.ts +8 -0
  159. package/sdk/platform/PlatformClient.js +14 -0
  160. package/sdk/platform/Rewards/RewardsPlatformModel.d.ts +28 -7
  161. package/sdk/platform/Rewards/RewardsPlatformModel.js +7 -7
  162. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.d.ts +12 -9
  163. package/sdk/platform/Serviceability/ServiceabilityPlatformApplicationClient.js +12 -9
  164. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +120 -22
  165. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +76 -21
  166. package/sdk/platform/Share/SharePlatformModel.d.ts +28 -7
  167. package/sdk/platform/Share/SharePlatformModel.js +7 -7
  168. package/sdk/platform/Theme/ThemePlatformModel.d.ts +18 -5
  169. package/sdk/platform/Theme/ThemePlatformModel.js +7 -4
  170. package/sdk/platform/User/UserPlatformModel.d.ts +18 -18
  171. package/sdk/platform/User/UserPlatformModel.js +9 -9
  172. package/sdk/platform/Webhook/WebhookPlatformModel.d.ts +28 -7
  173. package/sdk/platform/Webhook/WebhookPlatformModel.js +7 -7
  174. package/sdk/public/Billing/BillingPublicClient.d.ts +11 -0
  175. package/sdk/public/Billing/BillingPublicClient.js +80 -0
  176. package/sdk/public/Billing/BillingPublicModel.d.ts +584 -99
  177. package/sdk/public/Billing/BillingPublicModel.js +252 -87
  178. package/sdk/public/Billing/BillingPublicValidator.d.ts +10 -1
  179. package/sdk/public/Billing/BillingPublicValidator.js +12 -0
  180. package/sdk/public/PublicClient.d.ts +0 -2
  181. package/sdk/public/PublicClient.js +0 -4
  182. package/sdk/public/index.d.ts +0 -1
  183. package/sdk/public/index.js +0 -2
  184. package/sdk/public/Inventory/InventoryPublicClient.d.ts +0 -87
  185. package/sdk/public/Inventory/InventoryPublicClient.js +0 -529
  186. package/sdk/public/Inventory/InventoryPublicModel.d.ts +0 -393
  187. package/sdk/public/Inventory/InventoryPublicModel.js +0 -448
  188. package/sdk/public/Inventory/InventoryPublicValidator.d.ts +0 -91
  189. package/sdk/public/Inventory/InventoryPublicValidator.js +0 -85
@@ -2,148 +2,194 @@ const Joi = require("joi");
2
2
 
3
3
  /**
4
4
  * @typedef GetStoreResponse
5
- * @property {StoreItemResponse[]} [items]
5
+ * @property {StoreItemResponse[]} [items] - List of locations, each containing
6
+ * detailed information about individual location.
6
7
  * @property {Page} [page]
7
8
  */
8
9
 
9
10
  /**
10
11
  * @typedef StoreItemResponse
11
- * @property {number} [id]
12
- * @property {string} [store_type]
13
- * @property {string} [fulfillment_type]
14
- * @property {number} [processing_time]
15
- * @property {string[]} [tags]
16
- * @property {number} [company_id]
17
- * @property {number} [latitude]
18
- * @property {number} [longitude]
12
+ * @property {number} [id] - A unique identifier for the location.
13
+ * @property {string} [store_type] - The type of store, indicating the nature of
14
+ * the store, such as retail or warehouse.
15
+ * @property {string} [fulfillment_type] - The method of fulfillment used by the
16
+ * store, such as shipping, pickup, or delivery.
17
+ * @property {number} [processing_time] - The average time taken by the store to
18
+ * process orders, measured in minutes.
19
+ * @property {string[]} [tags] - List of tags associated with the store for
20
+ * categorization and search purposes.
21
+ * @property {number} [company_id] - The unique identifier of the company that
22
+ * owns the store.
23
+ * @property {number} [latitude] - The geographical latitude coordinate of the
24
+ * store location.
25
+ * @property {number} [longitude] - The geographical longitude coordinate of the
26
+ * store location.
19
27
  */
20
28
 
21
29
  /**
22
30
  * @typedef ValidateAddressRequest
23
- * @property {string} [address] - A string representing the complete address,
24
- * combining address line 1, address line 2, area, landmark, sector, city,
25
- * state, and pincode. This provides a comprehensive view of the address details.
26
- * @property {string} [address1] - A string representing the first line of the
27
- * address, typically containing street or building information.
28
- * @property {string} [address2] - A string representing the second line of the
29
- * address, which can be used for additional address details if needed.
30
- * @property {string} [area] - A string specifying the locality or area
31
- * associated with the address.
32
- * @property {string} [landmark] - A string representing a prominent nearby
33
- * landmark that aids in locating the address.
34
- * @property {string} [pincode] - A string indicating the postal code or PIN
35
- * code of the address area.
36
- * @property {string} [sector] - A string specifying the sector or district of
37
- * the address if applicable.
38
- * @property {string} [city] - A string denoting the city or municipality of the address.
39
- * @property {string} [state] - A string indicating the state or province of the address.
40
- * @property {string} [name] - A string representing the recipient's name or the
41
- * organization name associated with the address.
42
- * @property {string} [phone] - An integer representing the recipient's contact
43
- * phone number.
44
- * @property {string} [email] - A string containing the recipient's email address.
31
+ * @property {string} [address] - Complete address, combining address line 1,
32
+ * address line 2, area, landmark, sector, city, state, and pincode.
33
+ * @property {string} [address1] - First line of the address, typically
34
+ * containing street or building information.
35
+ * @property {string} [address2] - Second line of the address, which can be used
36
+ * for additional address details if needed.
37
+ * @property {string} [area] - Locality or area associated with the address.
38
+ * @property {string} [landmark] - Prominent nearby landmark that aids in
39
+ * locating the address.
40
+ * @property {string} [pincode] - Postal code or PIN code of the address area.
41
+ * @property {string} [sector] - Specifies the sector or district of the address
42
+ * if applicable.
43
+ * @property {string} [city] - Denote the city or municipality of the address.
44
+ * @property {string} [state] - Indicates the state or province of the address.
45
+ * @property {string} [name] - Recipient's name associated with the address.
46
+ * @property {string} [phone] - Recipient's contact phone number.
47
+ * @property {string} [email] - Recipient's email address.
45
48
  */
46
49
 
47
50
  /**
48
51
  * @typedef PincodeParentsResponse
49
- * @property {string} [sub_type]
50
- * @property {string} [display_name]
51
- * @property {string} [name]
52
- * @property {string} [uid]
52
+ * @property {string} [sub_type] - Specific type of locality hierarchy the
53
+ * pincode belongs to (e.g., city, state, country).
54
+ * @property {string} [display_name] - User-friendly version of the geographical
55
+ * data, which may be more descriptive or formatted differently.
56
+ * @property {string} [name] - The actual geographical data, such as country
57
+ * names (India), state names (Maharashtra), pin codes (400603), city names
58
+ * (Dubai), or local sectors (Deira).
59
+ * @property {string} [uid] - Unique identifier for the locality.
53
60
  */
54
61
 
55
62
  /**
56
63
  * @typedef PincodeMetaResponse
57
- * @property {string} [zone]
58
- * @property {number} [internal_zone_id]
64
+ * @property {string} [zone] - Geographical region to which the pincode belongs,
65
+ * often used to categorize or group pincodes for regional management or
66
+ * postal purposes.
67
+ * @property {number} [internal_zone_id] - A unique identifier used within the
68
+ * system to track or reference the specific zone associated with the pincode.
59
69
  */
60
70
 
61
71
  /**
62
72
  * @typedef PincodeErrorSchemaResponse
63
- * @property {string} [message]
64
- * @property {string} [value]
65
- * @property {string} [type]
73
+ * @property {string} [message] - A user-readable description of the error,
74
+ * explaining what went wrong.
75
+ * @property {string} [value] - A specific code or identifier related to the
76
+ * error, used for referencing or categorizing the error.
77
+ * @property {string} [type] - The classification of the error, indicating the
78
+ * kind of issue.
66
79
  */
67
80
 
68
81
  /**
69
82
  * @typedef CountryMetaResponse
70
- * @property {string} [country_code]
71
- * @property {string} [isd_code]
83
+ * @property {string} [country_code] - The ISO 3166-1 alpha-2 code representing
84
+ * the country (e.g., "IN" for India, "US" for the United States).
85
+ * @property {string} [isd_code] - The International Subscriber Dialing (ISD)
86
+ * code, also known as the country dialing code, used for making international
87
+ * phone calls to the country (e.g., "+91" for India, "+1" for the United States).
72
88
  */
73
89
 
74
90
  /**
75
91
  * @typedef PincodeLatLongData
76
- * @property {string} [type]
77
- * @property {string[]} [coordinates]
92
+ * @property {string} [type] - Specifies the type of geographical feature or
93
+ * data, typically "Point" for coordinates in geographic data systems.
94
+ * @property {string[]} [coordinates] - Contains the latitude and longitude
95
+ * values representing the precise location. The format is usually an array
96
+ * with two values: [longitude, latitude].
78
97
  */
79
98
 
80
99
  /**
81
100
  * @typedef PincodeDataResponse
82
- * @property {PincodeParentsResponse[]} [parents]
101
+ * @property {PincodeParentsResponse[]} [parents] - List of object representing
102
+ * a collection of geographical locations, each associated with specific
103
+ * hierarchical data such as cities, states, or countries.
83
104
  * @property {PincodeMetaResponse} [meta]
84
- * @property {string} [display_name]
105
+ * @property {string} [display_name] - User-friendly version of the geographical
106
+ * data, which may be more descriptive or formatted differently.
85
107
  * @property {PincodeErrorSchemaResponse} error
86
108
  * @property {CountryMetaResponse} [meta_code]
87
109
  * @property {PincodeLatLongData} [lat_long]
88
- * @property {string} [sub_type]
89
- * @property {string} [name]
90
- * @property {string} [uid]
110
+ * @property {string} [sub_type] - Indicates the specific type of locality
111
+ * hierarchy the pincode belongs to (e.g., city, state, country).
112
+ * @property {string} [name] - The actual geographical data, such as country
113
+ * names (India), state names (Maharashtra), pin codes (400603), city names
114
+ * (Dubai), or local sectors (Deira).
115
+ * @property {string} [uid] - This field stands for "Unique Identifier," a
116
+ * unique value assigned to each instance to ensure differentiation and reference.
91
117
  */
92
118
 
93
119
  /**
94
120
  * @typedef PincodeApiResponse
95
- * @property {boolean} success
96
- * @property {PincodeDataResponse[]} [data]
121
+ * @property {boolean} success - Indicates whether the API request was
122
+ * successful (true) or failed (false).
123
+ * @property {PincodeDataResponse[]} [data] - Contains the actual response data
124
+ * when the request is successful, providing details like pincode information
125
+ * or related data.
97
126
  * @property {PincodeErrorSchemaResponse} error
98
127
  */
99
128
 
100
129
  /**
101
130
  * @typedef TATCategoryRequest
102
- * @property {string} [level]
103
- * @property {number} [id]
131
+ * @property {string} [level] - Specifies the hierarchical level of the category
132
+ * (e.g., country, state, city).
133
+ * @property {number} [id] - Represents the unique identifier for the category
134
+ * at the specified level.
104
135
  */
105
136
 
106
137
  /**
107
138
  * @typedef TATArticlesRequest
108
139
  * @property {TATCategoryRequest} [category]
109
- * @property {string} [manufacturing_time_unit]
110
- * @property {number} [manufacturing_time]
140
+ * @property {string} [manufacturing_time_unit] - The unit of measurement for
141
+ * the manufacturing time, such as hours or days.
142
+ * @property {number} [manufacturing_time] - The amount of time required to
143
+ * manufacture the article, specified in the unit given by `manufacturing_time_unit`.
111
144
  */
112
145
 
113
146
  /**
114
147
  * @typedef TATLocationDetailsRequest
115
- * @property {number} [fulfillment_id]
116
- * @property {string} [from_pincode]
117
- * @property {TATArticlesRequest[]} [articles]
148
+ * @property {number} [fulfillment_id] - A unique identifier of the fulfilling location.
149
+ * @property {string} [from_pincode] - The postal code of the location from
150
+ * which the fulfillment originates.
151
+ * @property {TATArticlesRequest[]} [articles] - List of articles included in
152
+ * the fulfillment request, which provides details about the items to be
153
+ * processed or shipped.
118
154
  */
119
155
 
120
156
  /**
121
157
  * @typedef TATViewRequest
122
- * @property {string} [to_pincode]
123
- * @property {string} [source]
124
- * @property {string} [action]
125
- * @property {string} [identifier]
126
- * @property {TATLocationDetailsRequest[]} [location_details]
127
- * @property {string} [journey]
158
+ * @property {string} [to_pincode] - The postal code of the destination location
159
+ * where the fulfillment or shipment is headed.
160
+ * @property {string} [source] - The origin or source of the request, indicating
161
+ * where the data or action is coming from.
162
+ * @property {string} [action] - The specific operation or request being made,
163
+ * such as viewing, updating, or managing data.
164
+ * @property {string} [identifier] - A unique ID used to reference or track the
165
+ * specific request or item within the system.
166
+ * @property {TATLocationDetailsRequest[]} [location_details] - Locations
167
+ * involved in the request, including details about both the source and destination.
168
+ * @property {string} [journey] - Indicates the direction of the request or
169
+ * shipment. It can either be "forward" (from the source to the destination)
170
+ * or "return" (from the destination back to the source).
128
171
  */
129
172
 
130
173
  /**
131
174
  * @typedef TATErrorSchemaResponse
132
- * @property {string} [message]
133
- * @property {string} [value]
134
- * @property {string} [type]
175
+ * @property {string} [message] - A user-readable description of the error,
176
+ * explaining what went wrong.
177
+ * @property {string} [value] - A specific code or identifier related to the
178
+ * error, used for referencing or categorizing the error.
179
+ * @property {string} [type] - The classification of the error, indicating the
180
+ * kind of issue.
135
181
  */
136
182
 
137
183
  /**
138
184
  * @typedef TATTimestampResponse
139
- * @property {number} [min]
140
- * @property {number} [max]
185
+ * @property {number} [min] - The earliest possible timestamp.
186
+ * @property {number} [max] - The latest possible timestamp.
141
187
  */
142
188
 
143
189
  /**
144
190
  * @typedef TATFormattedResponse
145
- * @property {string} [min]
146
- * @property {string} [max]
191
+ * @property {string} [min] - The earliest possible timestamp.
192
+ * @property {string} [max] - The latest possible timestamp.
147
193
  */
148
194
 
149
195
  /**
@@ -154,153 +200,208 @@ const Joi = require("joi");
154
200
 
155
201
  /**
156
202
  * @typedef TATArticlesResponse
157
- * @property {string} [manufacturing_time_unit]
203
+ * @property {string} [manufacturing_time_unit] - The unit of measurement for
204
+ * the manufacturing time such as hours or days.
158
205
  * @property {TATErrorSchemaResponse} [error]
159
- * @property {boolean} [is_cod_available]
206
+ * @property {boolean} [is_cod_available] - Indicates whether Cash on Delivery
207
+ * (COD) is available for the articles.
160
208
  * @property {TATPromiseResponse} [promise]
161
- * @property {number} [manufacturing_time]
209
+ * @property {number} [manufacturing_time] - The time required to manufacture
210
+ * the articles, measured in the unit specified by manufacturing_time_unit.
162
211
  * @property {TATCategoryRequest} [category]
163
- * @property {number} [_manufacturing_time_seconds]
212
+ * @property {number} [_manufacturing_time_seconds] - The manufacturing time
213
+ * converted into seconds.
164
214
  */
165
215
 
166
216
  /**
167
217
  * @typedef TATLocationDetailsResponse
168
- * @property {number} [fulfillment_id]
169
- * @property {string} [from_pincode]
170
- * @property {TATArticlesResponse[]} [articles]
218
+ * @property {number} [fulfillment_id] - A unique identifier of the fulfilling location.
219
+ * @property {string} [from_pincode] - The postal code of the location from
220
+ * which the fulfillment originates.
221
+ * @property {TATArticlesResponse[]} [articles] - List of articles included in
222
+ * the fulfillment request, which provides details about the items to be
223
+ * processed or shipped.
171
224
  */
172
225
 
173
226
  /**
174
227
  * @typedef TATViewResponse
175
- * @property {string} [to_pincode]
176
- * @property {string} [request_uuid]
177
- * @property {string} [payment_mode]
178
- * @property {boolean} [success]
228
+ * @property {string} [to_pincode] - The postal code of the destination location
229
+ * where the fulfillment or shipment is headed.
230
+ * @property {string} [request_uuid] - A unique identifier for the request.
231
+ * @property {string} [payment_mode] - The mode of payment used for the transaction.
232
+ * @property {boolean} [success] - Whether the request was successful (true/false).
179
233
  * @property {TATErrorSchemaResponse} [error]
180
- * @property {boolean} [is_cod_available]
181
- * @property {string} [source]
182
- * @property {string} [action]
183
- * @property {string} [stormbreaker_uuid]
184
- * @property {string} [to_city]
185
- * @property {string} [identifier]
186
- * @property {TATLocationDetailsResponse[]} [location_details]
187
- * @property {string} [journey]
234
+ * @property {boolean} [is_cod_available] - Whether Cash on Delivery (COD) is
235
+ * available for the request.
236
+ * @property {string} [source] - The origin or source of the request.
237
+ * @property {string} [action] - The action performed or requested (e.g.,
238
+ * forward, return).
239
+ * @property {string} [stormbreaker_uuid] - A unique identifier related to the
240
+ * stormbreaker process.
241
+ * @property {string} [to_city] - The city corresponding to the destination pincode.
242
+ * @property {string} [identifier] - A unique identifier for the request or transaction.
243
+ * @property {TATLocationDetailsResponse[]} [location_details] - Location
244
+ * involved in the request.
245
+ * @property {string} [journey] - Type of journey, either forward or return.
188
246
  */
189
247
 
190
248
  /**
191
249
  * @typedef DP
192
- * @property {number} fm_priority
193
- * @property {number} lm_priority
194
- * @property {number} rvp_priority
195
- * @property {string} payment_mode
196
- * @property {string[]} operations
197
- * @property {string} [area_code]
198
- * @property {boolean} [assign_dp_from_sb]
199
- * @property {string} [internal_account_id]
200
- * @property {string} [external_account_id]
201
- * @property {string} [transport_mode]
250
+ * @property {number} fm_priority - First Mile Priority; focuses on the initial
251
+ * segment of the logistics process, from the point of origin to the first
252
+ * distribution center.
253
+ * @property {number} lm_priority - Last Mile Priority; deals with the final
254
+ * stage of the delivery process, where goods are delivered from the
255
+ * distribution center to the final destination.
256
+ * @property {number} rvp_priority - Reverse Pickup Priority; pertains to the
257
+ * process of collecting goods from the customer for return or exchange.
258
+ * @property {string} payment_mode - The method of payment used for
259
+ * transactions, such as credit card, debit card, cash on delivery, etc.
260
+ * @property {string[]} operations - Refers to the various activities and
261
+ * processes involved in managing and executing the delivery and logistics operations.
262
+ * @property {string} [area_code] - A code that identifies a specific geographic
263
+ * area, often used for sorting and routing deliveries.
264
+ * @property {boolean} [assign_dp_from_sb] - Indicates whether the delivery
265
+ * partner (DP) is assigned from stormbreaker service.
266
+ * @property {string} [internal_account_id] - An identifier used internally to
267
+ * track accounts or entities within the organization's system.
268
+ * @property {string} [external_account_id] - An identifier used to reference
269
+ * accounts or entities outside the organization's system, such as partner accounts.
270
+ * @property {string} [transport_mode] - The method of transportation used for
271
+ * delivering goods, such as road, rail, air, or sea.
202
272
  */
203
273
 
204
274
  /**
205
275
  * @typedef LogisticsResponse
206
- * @property {Object} [dp]
276
+ * @property {Object} [dp] - Provide entity responsible for handling the
277
+ * delivery of goods.
207
278
  */
208
279
 
209
280
  /**
210
281
  * @typedef CountryEntityResponse
211
282
  * @property {CountryMetaResponse} [meta]
212
283
  * @property {LogisticsResponse} [logistics]
213
- * @property {string} [display_name]
214
- * @property {string} [type]
215
- * @property {boolean} [is_active]
216
- * @property {string} [parent_id]
217
- * @property {string} [sub_type]
218
- * @property {string} [name]
219
- * @property {string} [uid]
284
+ * @property {string} [display_name] - User-friendly version of the geographical
285
+ * data, which may be more descriptive or formatted differently.
286
+ * @property {string} [type] - Specifies the type of geographical feature or
287
+ * data, typically "Point" for coordinates in geographic data systems.
288
+ * @property {boolean} [is_active] - Whether the country entity is currently
289
+ * active or not.
290
+ * @property {string} [parent_id] - Identifier for the parent of the current locality.
291
+ * @property {string} [sub_type] - Specific type of locality hierarchy the
292
+ * pincode belongs to (e.g., city, state, country).
293
+ * @property {string} [name] - Country name.
294
+ * @property {string} [uid] - Unique identifier for the country.
220
295
  */
221
296
 
222
297
  /**
223
298
  * @typedef CountryListResponse
224
- * @property {CountryEntityResponse[]} [results]
299
+ * @property {CountryEntityResponse[]} [results] - A list of country entities,
300
+ * each containing details about individual countries.
225
301
  */
226
302
 
227
303
  /**
228
304
  * @typedef GetZoneFromPincodeViewRequest
229
- * @property {string} pincode
230
- * @property {string} country
305
+ * @property {string} pincode - The postal code or ZIP code used to pinpoint a
306
+ * specific geographic area or location.
307
+ * @property {string} country - The country where the pincode is located.
231
308
  */
232
309
 
233
310
  /**
234
311
  * @typedef GetZoneFromPincodeViewResponse
235
- * @property {string} serviceability_type
236
- * @property {string[]} zones
312
+ * @property {string} serviceability_type - Specifies the type of serviceability
313
+ * for the given pincode, indicating whether it's deliverable or serviceable
314
+ * under certain conditions.
315
+ * @property {string[]} zones - Lists the zones associated with the pincode,
316
+ * detailing the geographical or logistical zones for service.
237
317
  */
238
318
 
239
319
  /**
240
320
  * @typedef ReAssignStoreRequest
241
- * @property {Object} configuration
242
- * @property {string} to_pincode
243
- * @property {number[]} ignored_locations
244
- * @property {string} identifier
245
- * @property {Object[]} articles
321
+ * @property {Object} configuration - Specifies the configuration settings or
322
+ * parameters for the store reassignment.
323
+ * @property {string} to_pincode - The postal code of the destination location
324
+ * where the fulfillment or shipment is headed.
325
+ * @property {number[]} ignored_locations - Locations that should be excluded
326
+ * from the reassignment process.
327
+ * @property {string} identifier - A unique identifier for the reassignment request.
328
+ * @property {Object[]} articles - List of articles or items involved in the
329
+ * store reassignment.
246
330
  */
247
331
 
248
332
  /**
249
333
  * @typedef ReAssignStoreResponse
250
- * @property {string} to_pincode
251
- * @property {string} pystormbreaker_uuid
252
- * @property {boolean} success
253
- * @property {Object} error
254
- * @property {Object[]} [assigned_stores]
334
+ * @property {string} to_pincode - The postal code of the destination location
335
+ * where the fulfillment or shipment is headed.
336
+ * @property {string} pystormbreaker_uuid - A unique identifier for tracking the
337
+ * reassignment operation.
338
+ * @property {boolean} success - Whether the reassignment was successful or not.
339
+ * @property {Object} error - Details about any errors encountered during the
340
+ * reassignment.
341
+ * @property {Object[]} [assigned_stores] - List of stores that have been
342
+ * successfully reassigned.
255
343
  */
256
344
 
257
345
  /**
258
346
  * @typedef CountryHierarchy
259
- * @property {string} [name]
260
- * @property {string} [slug]
347
+ * @property {string} [name] - It represent a country name.
348
+ * @property {string} [slug] - A URL-friendly version of the name, often used
349
+ * for referencing or querying purposes.
261
350
  */
262
351
 
263
352
  /**
264
353
  * @typedef CurrencyObject
265
- * @property {string} [code]
266
- * @property {string} [name]
267
- * @property {string} [symbol]
354
+ * @property {string} [code] - The currency code, typically a three-letter ISO
355
+ * code (e.g., "USD" for US Dollar).
356
+ * @property {string} [name] - It represent a country name.
357
+ * @property {string} [symbol] - The symbol used to represent the currency
358
+ * (e.g., "$" for US Dollar).
268
359
  */
269
360
 
270
361
  /**
271
362
  * @typedef CountryObject
272
- * @property {string} [id]
273
- * @property {string} [name]
274
- * @property {string} [display_name]
275
- * @property {string} [iso2]
276
- * @property {string} [iso3]
277
- * @property {string[]} [timezones]
278
- * @property {CountryHierarchy[]} [hierarchy]
279
- * @property {string} [phone_code]
280
- * @property {string} [latitude]
281
- * @property {string} [longitude]
363
+ * @property {string} [id] - Unique identifier for the country.
364
+ * @property {string} [name] - It represent a country name.
365
+ * @property {string} [display_name] - User-friendly version of the geographical
366
+ * data, which may be more descriptive or formatted differently.
367
+ * @property {string} [iso2] - Two-letter ISO code representing the country.
368
+ * @property {string} [iso3] - Three-letter ISO code representing the country.
369
+ * @property {string[]} [timezones] - List of time zones used in the country
370
+ * (e.g., ["America/New_York", "America/Los_Angeles"]).
371
+ * @property {CountryHierarchy[]} [hierarchy] - Levels within the country (e.g.,
372
+ * states, cities) and their slugs (e.g., [{"name": "State", "slug": "state"},
373
+ * {"name": "City", "slug": "city"}]).
374
+ * @property {string} [phone_code] - International dialing code for the country
375
+ * (e.g., "+1").
376
+ * @property {string} [latitude] - Geographical latitude of the country (e.g., "37.0902").
377
+ * @property {string} [longitude] - Geographical longitude of the country (e.g.,
378
+ * "-95.7129").
282
379
  * @property {CurrencyObject} [currency]
283
- * @property {string} [type]
380
+ * @property {string} [type] - Indicates the type of object (e.g., "country").
284
381
  */
285
382
 
286
383
  /**
287
384
  * @typedef GetCountries
288
- * @property {CountryObject[]} [items]
385
+ * @property {CountryObject[]} [items] - List of countries, each containing
386
+ * detailed information about individual country.
289
387
  * @property {Page} [page]
290
388
  */
291
389
 
292
390
  /**
293
391
  * @typedef GetOneOrAllPath
294
- * @property {string} [locality_type]
295
- * @property {string} [locality_value]
392
+ * @property {string} [locality_type] - Specifies the type of locality to be
393
+ * retrieved, such as city, state, or pincode (e.g., "city", "state", "pincode").
394
+ * @property {string} [locality_value] - The specific value of the locality
395
+ * being queried, such as the name of the city or the pincode (e.g., "Mumbai",
396
+ * "400093").
296
397
  */
297
398
 
298
399
  /**
299
400
  * @typedef GetOneOrAllQuery
300
- * @property {string} [country]
301
- * @property {string} [state]
302
- * @property {string} [city]
303
- * @property {string} [sector]
401
+ * @property {string} [country] - The name of the country to filter the results.
402
+ * @property {string} [state] - The name of the state within the specified country.
403
+ * @property {string} [city] - The name of the city within the specified state.
404
+ * @property {string} [sector] - The name of the sector or area within the specified city.
304
405
  */
305
406
 
306
407
  /**
@@ -311,25 +412,27 @@ const Joi = require("joi");
311
412
 
312
413
  /**
313
414
  * @typedef GetOneOrAll
314
- * @property {string} [operation_id]
415
+ * @property {string} [operation_id] - Identifier for the specific operation or
416
+ * query being performed.
315
417
  * @property {GetOneOrAllParams} [params]
316
418
  */
317
419
 
318
420
  /**
319
421
  * @typedef LengthValidation
320
- * @property {number} [min]
321
- * @property {number} [max]
422
+ * @property {number} [min] - The minimum number of characters or digits allowed.
423
+ * @property {number} [max] - The maximum number of characters or digits allowed.
322
424
  */
323
425
 
324
426
  /**
325
427
  * @typedef FieldValidationRegex
326
- * @property {string} [value]
428
+ * @property {string} [value] - Regular expression pattern used to validate the field.
327
429
  * @property {LengthValidation} [length]
328
430
  */
329
431
 
330
432
  /**
331
433
  * @typedef FieldValidation
332
- * @property {string} [type]
434
+ * @property {string} [type] - Specifies the validation method, such as regex
435
+ * for regular expression validation.
333
436
  * @property {FieldValidationRegex} [regex]
334
437
  */
335
438
 
@@ -341,96 +444,135 @@ const Joi = require("joi");
341
444
 
342
445
  /**
343
446
  * @typedef GetCountryFieldsAddress
344
- * @property {string} display_name
345
- * @property {string} slug
346
- * @property {boolean} required
347
- * @property {boolean} [edit]
348
- * @property {string} input
447
+ * @property {string} display_name - User-friendly version of the geographical
448
+ * data, which may be more descriptive or formatted differently.
449
+ * @property {string} slug - URL-friendly version of the name, often used for
450
+ * referencing or querying purposes.
451
+ * @property {boolean} required - Indicates whether the field is mandatory for
452
+ * the user to fill out.
453
+ * @property {boolean} [edit] - Specifies if the field can be edited by the user.
454
+ * @property {string} input - Defines the type of input control used for the
455
+ * field (e.g., textbox).
349
456
  * @property {FieldValidation} [validation]
350
457
  * @property {GetCountryFieldsAddressValues} [values]
351
- * @property {string} [error_text]
458
+ * @property {string} [error_text] - The message shown to the user if the input
459
+ * does not meet the validation criteria.
352
460
  */
353
461
 
354
462
  /**
355
463
  * @typedef GetCountryFieldsAddressTemplate
356
- * @property {string} checkout_form
357
- * @property {string} store_os_form
358
- * @property {string} default_display
464
+ * @property {string} checkout_form - The format used to display or collect
465
+ * address information during checkout.
466
+ * @property {string} store_os_form - The format used for address entry or
467
+ * display in the store's operating system.
468
+ * @property {string} default_display - The general format for displaying
469
+ * address information.
359
470
  */
360
471
 
361
472
  /**
362
473
  * @typedef GetCountryFields
363
- * @property {GetCountryFieldsAddress[]} address
364
- * @property {string[]} serviceability_fields
474
+ * @property {GetCountryFieldsAddress[]} address - Specifies the fields and
475
+ * attributes related to address information, including display names, input
476
+ * types, and validation rules. This section defines the details needed for
477
+ * address collection and formatting.
478
+ * @property {string[]} serviceability_fields - Lists the specific address
479
+ * fields used to determine whether a location is serviceable. These fields
480
+ * are crucial for validating service coverage and availability.
365
481
  * @property {GetCountryFieldsAddressTemplate} address_template
366
482
  */
367
483
 
368
484
  /**
369
485
  * @typedef GetCountry
370
- * @property {string} [id]
371
- * @property {string} [name]
372
- * @property {string} [display_name]
373
- * @property {string} [iso2]
374
- * @property {string} [iso3]
375
- * @property {string[]} [timezones]
376
- * @property {CountryHierarchy[]} [hierarchy]
377
- * @property {string} [phone_code]
378
- * @property {string} [latitude]
379
- * @property {string} [longitude]
486
+ * @property {string} [id] - Unique identifier for the country.
487
+ * @property {string} [name] - It represent a country name.
488
+ * @property {string} [display_name] - User-friendly version of the geographical
489
+ * data, which may be more descriptive or formatted differently.
490
+ * @property {string} [iso2] - Two-letter ISO code representing the country.
491
+ * @property {string} [iso3] - Three-letter ISO code representing the country.
492
+ * @property {string[]} [timezones] - List of time zones used in the country
493
+ * (e.g., ["America/New_York", "America/Los_Angeles"]).
494
+ * @property {CountryHierarchy[]} [hierarchy] - Levels within the country (e.g.,
495
+ * states, cities) and their slugs (e.g., [{"name": "State", "slug": "state"},
496
+ * {"name": "City", "slug": "city"}]).
497
+ * @property {string} [phone_code] - International dialing code for the country
498
+ * (e.g., "+1").
499
+ * @property {string} [latitude] - Geographical latitude of the country (e.g., "37.0902").
500
+ * @property {string} [longitude] - Geographical longitude of the country (e.g.,
501
+ * "-95.7129").
380
502
  * @property {CurrencyObject} [currency]
381
- * @property {string} [type]
503
+ * @property {string} [type] - Indicates the type of object (e.g., "country").
382
504
  * @property {GetCountryFields} [fields]
383
505
  */
384
506
 
385
507
  /**
386
508
  * @typedef Page
387
- * @property {number} [item_total]
388
- * @property {string} [next_id]
389
- * @property {boolean} [has_previous]
390
- * @property {boolean} [has_next]
391
- * @property {number} [current]
392
- * @property {string} type
393
- * @property {number} [size]
509
+ * @property {number} [item_total] - The total number of items on the page.
510
+ * @property {string} [next_id] - The identifier for the next page.
511
+ * @property {boolean} [has_previous] - Indicates whether there is a previous page.
512
+ * @property {boolean} [has_next] - Indicates whether there is a next page.
513
+ * @property {number} [current] - The current page number.
514
+ * @property {string} type - The type of the page, such as 'PageType'.
515
+ * @property {number} [size] - The number of items per page.
394
516
  */
395
517
 
396
518
  /**
397
519
  * @typedef Localities
398
- * @property {string} [id]
399
- * @property {string} [name]
400
- * @property {string} [display_name]
401
- * @property {string[]} [parent_ids]
402
- * @property {string} [type]
520
+ * @property {string} [id] - A unique identifier for the locality.
521
+ * @property {string} [name] - The actual geographical data, such as country
522
+ * names (India), state names (Maharashtra), pin codes (400603), city names
523
+ * (Dubai), or local sectors (Deira).
524
+ * @property {string} [display_name] - User-friendly version of the geographical
525
+ * data, which may be more descriptive or formatted differently.
526
+ * @property {string[]} [parent_ids] - Identifiers for the parent of the current locality.
527
+ * @property {string} [type] - Specifies the category of the address component,
528
+ * such as pincode, state, city, country, or sector.
529
+ * @property {LocalityParent[]} [localities] - Representing the localities that
530
+ * are associated with or contained within the current locality. It provides
531
+ * detailed information about the parent localities, including their names,
532
+ * identifiers, and hierarchical relationships.
403
533
  */
404
534
 
405
535
  /**
406
536
  * @typedef LocalityParent
407
- * @property {string} [id]
408
- * @property {string} [name]
409
- * @property {string} [display_name]
410
- * @property {string[]} [parent_ids]
411
- * @property {string} [type]
537
+ * @property {string} [id] - A unique identifier for the locality.
538
+ * @property {string} [name] - The actual geographical data, such as country
539
+ * names (India), state names (Maharashtra), pin codes (400603), city names
540
+ * (Dubai), or local sectors (Deira).
541
+ * @property {string} [display_name] - User-friendly version of the geographical
542
+ * data, which may be more descriptive or formatted differently.
543
+ * @property {string[]} [parent_ids] - Identifiers for the parent of the current locality.
544
+ * @property {string} [type] - Specifies the category of the address component,
545
+ * such as pincode, state, city, country, or sector.
412
546
  */
413
547
 
414
548
  /**
415
549
  * @typedef GetLocalities
416
- * @property {Localities[]} [items]
550
+ * @property {Localities[]} [items] - List of localities, each containing
551
+ * detailed information about individual locality.
417
552
  * @property {Page} [page]
418
553
  */
419
554
 
420
555
  /**
421
556
  * @typedef GetLocality
422
- * @property {string} [id]
423
- * @property {string} [name]
424
- * @property {string} [display_name]
425
- * @property {string[]} [parent_ids]
426
- * @property {string} [type]
427
- * @property {LocalityParent[]} [localities]
557
+ * @property {string} [id] - A unique identifier for the locality.
558
+ * @property {string} [name] - The actual geographical data, such as country
559
+ * names (India), state names (Maharashtra), pin codes (400603), city names
560
+ * (Dubai), or local sectors (Deira).
561
+ * @property {string} [display_name] - User-friendly version of the geographical
562
+ * data, which may be more descriptive or formatted differently.
563
+ * @property {string[]} [parent_ids] - Identifiers for the parent of the current locality.
564
+ * @property {string} [type] - Specifies the category of the address component,
565
+ * such as pincode, state, city, country, or sector.
566
+ * @property {LocalityParent[]} [localities] - Representing the localities that
567
+ * are associated with or contained within the current locality. It provides
568
+ * detailed information about the parent localities, including their names,
569
+ * identifiers, and hierarchical relationships.
428
570
  */
429
571
 
430
572
  /**
431
573
  * @typedef ErrorResponse
432
- * @property {string} [error]
433
- * @property {string} [message]
574
+ * @property {string} [error] - Error code identifying the type of error.
575
+ * @property {string} [message] - User-friendly explanation of what went wrong.
434
576
  */
435
577
 
436
578
  class LogisticApplicationModel {
@@ -933,6 +1075,7 @@ class LogisticApplicationModel {
933
1075
  display_name: Joi.string().allow(""),
934
1076
  parent_ids: Joi.array().items(Joi.string().allow("")),
935
1077
  type: Joi.string().allow(""),
1078
+ localities: Joi.array().items(LogisticApplicationModel.LocalityParent()),
936
1079
  });
937
1080
  }
938
1081