@gofynd/fdk-client-javascript 1.4.15-beta.3 → 1.5.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 (47) hide show
  1. package/README.md +1 -1
  2. package/package.json +1 -1
  3. package/sdk/application/Cart/CartApplicationClient.d.ts +11 -11
  4. package/sdk/application/Cart/CartApplicationClient.js +48 -50
  5. package/sdk/application/Content/ContentApplicationClient.d.ts +0 -20
  6. package/sdk/application/Content/ContentApplicationClient.js +0 -78
  7. package/sdk/application/Logistic/LogisticApplicationClient.d.ts +1 -1
  8. package/sdk/application/Logistic/LogisticApplicationClient.js +2 -0
  9. package/sdk/application/Payment/PaymentApplicationClient.d.ts +10 -0
  10. package/sdk/application/Payment/PaymentApplicationClient.js +39 -0
  11. package/sdk/partner/Logistics/LogisticsPartnerClient.d.ts +33 -12
  12. package/sdk/partner/Logistics/LogisticsPartnerClient.js +209 -38
  13. package/sdk/partner/Logistics/LogisticsPartnerModel.d.ts +399 -19
  14. package/sdk/partner/Logistics/LogisticsPartnerModel.js +212 -11
  15. package/sdk/partner/Logistics/LogisticsPartnerValidator.d.ts +3 -1
  16. package/sdk/partner/Logistics/LogisticsPartnerValidator.js +22 -7
  17. package/sdk/platform/Analytics/AnalyticsPlatformModel.js +1 -1
  18. package/sdk/platform/Cart/CartPlatformApplicationClient.d.ts +1 -1
  19. package/sdk/platform/Cart/CartPlatformApplicationClient.js +3 -12
  20. package/sdk/platform/Cart/CartPlatformApplicationValidator.d.ts +0 -7
  21. package/sdk/platform/Cart/CartPlatformApplicationValidator.js +0 -3
  22. package/sdk/platform/Cart/CartPlatformModel.d.ts +28 -14
  23. package/sdk/platform/Cart/CartPlatformModel.js +12 -6
  24. package/sdk/platform/Catalog/CatalogPlatformClient.d.ts +24 -0
  25. package/sdk/platform/Catalog/CatalogPlatformClient.js +176 -0
  26. package/sdk/platform/Catalog/CatalogPlatformModel.d.ts +80 -29
  27. package/sdk/platform/Catalog/CatalogPlatformModel.js +72 -32
  28. package/sdk/platform/Catalog/CatalogPlatformValidator.d.ts +45 -1
  29. package/sdk/platform/Catalog/CatalogPlatformValidator.js +35 -0
  30. package/sdk/platform/Content/ContentPlatformApplicationClient.d.ts +0 -52
  31. package/sdk/platform/Content/ContentPlatformApplicationClient.js +0 -411
  32. package/sdk/platform/Content/ContentPlatformApplicationValidator.d.ts +1 -85
  33. package/sdk/platform/Content/ContentPlatformApplicationValidator.js +0 -73
  34. package/sdk/platform/Content/ContentPlatformModel.d.ts +1 -90
  35. package/sdk/platform/Content/ContentPlatformModel.js +0 -104
  36. package/sdk/platform/Order/OrderPlatformClient.d.ts +2 -2
  37. package/sdk/platform/Order/OrderPlatformClient.js +8 -0
  38. package/sdk/platform/Order/OrderPlatformModel.d.ts +73 -1
  39. package/sdk/platform/Order/OrderPlatformModel.js +39 -0
  40. package/sdk/platform/Order/OrderPlatformValidator.d.ts +22 -0
  41. package/sdk/platform/Order/OrderPlatformValidator.js +10 -0
  42. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.d.ts +94 -0
  43. package/sdk/platform/Serviceability/ServiceabilityPlatformClient.js +699 -76
  44. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.d.ts +598 -23
  45. package/sdk/platform/Serviceability/ServiceabilityPlatformModel.js +382 -20
  46. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.d.ts +134 -1
  47. package/sdk/platform/Serviceability/ServiceabilityPlatformValidator.js +108 -0
@@ -1059,6 +1059,7 @@ const Joi = require("joi");
1059
1059
  * @property {string} [pickup_cutoff]
1060
1060
  * @property {string} [route_code]
1061
1061
  * @property {boolean} is_first_mile
1062
+ * @property {boolean} [is_reverse_pickup]
1062
1063
  * @property {boolean} is_return
1063
1064
  * @property {boolean} is_installation
1064
1065
  * @property {boolean} is_last_mile
@@ -1066,24 +1067,47 @@ const Joi = require("joi");
1066
1067
 
1067
1068
  /**
1068
1069
  * @typedef CourierPartnerSchemeFeatures
1069
- * @property {boolean} [doorstep_qc]
1070
- * @property {boolean} [qr]
1071
- * @property {boolean} [mps]
1072
- * @property {boolean} [ndr]
1073
- * @property {number} [ndr_attempts]
1074
- * @property {boolean} [dangerous_goods]
1075
- * @property {boolean} [fragile_goods]
1076
- * @property {boolean} [restricted_goods]
1077
- * @property {boolean} [cold_storage_goods]
1078
- * @property {boolean} [doorstep_exchange]
1079
- * @property {boolean} [doorstep_return]
1080
- * @property {boolean} [product_installation]
1081
- * @property {boolean} [openbox_delivery]
1082
- * @property {string} [status_updates]
1083
- * @property {boolean} [multi_pick_single_drop]
1084
- * @property {boolean} [single_pick_multi_drop]
1085
- * @property {boolean} [multi_pick_multi_drop]
1086
- * @property {boolean} [ewaybill]
1070
+ * @property {boolean} [doorstep_qc] - Indicates if the courier partner offers
1071
+ * doorstep quality check services.
1072
+ * @property {boolean} [qr] - Specifies whether the courier partner supports QR
1073
+ * code-based operations.
1074
+ * @property {boolean} [mps] - Denotes if the courier partner supports
1075
+ * multi-part shipment services.
1076
+ * @property {boolean} [ndr] - Indicates if the Non-Delivery Report (NDR)
1077
+ * feature is supported by the courier partner.
1078
+ * @property {number} [ndr_attempts] - Number of attempts allowed for resolving
1079
+ * Non-Delivery Reports (NDR).
1080
+ * @property {boolean} [dangerous_goods] - Specifies if the courier partner
1081
+ * handles the transportation of dangerous goods.
1082
+ * @property {boolean} [fragile_goods] - Indicates whether the courier partner
1083
+ * manages the shipment of fragile goods.
1084
+ * @property {boolean} [restricted_goods] - Indicates if the courier partner
1085
+ * handles restricted goods, as per regulatory guidelines.
1086
+ * @property {boolean} [cold_storage_goods] - Denotes if the courier partner
1087
+ * provides cold storage facilities for goods.
1088
+ * @property {boolean} [doorstep_exchange] - Indicates if the courier partner
1089
+ * supports doorstep exchange services.
1090
+ * @property {boolean} [doorstep_return] - Specifies if the courier partner
1091
+ * offers doorstep return services.
1092
+ * @property {boolean} [product_installation] - Indicates if the courier partner
1093
+ * provides product installation services upon delivery.
1094
+ * @property {boolean} [openbox_delivery] - Specifies whether the courier
1095
+ * partner supports open-box delivery, allowing customers to inspect goods
1096
+ * before accepting.
1097
+ * @property {string} [status_updates] - Describes the type of status updates
1098
+ * provided by the courier partner (e.g., real-time, periodic).
1099
+ * @property {boolean} [multi_pick_single_drop] - Indicates if the courier
1100
+ * partner supports multiple pickups to a single drop location.
1101
+ * @property {boolean} [single_pick_multi_drop] - Indicates whether the courier
1102
+ * partner supports single pickup to multiple drop locations.
1103
+ * @property {boolean} [multi_pick_multi_drop] - Denotes if the courier partner
1104
+ * offers services for multiple pickups to multiple drop locations.
1105
+ * @property {boolean} [ewaybill] - Specifies if the courier partner requires or
1106
+ * supports the generation of e-waybills for shipments.
1107
+ * @property {number} [qc_shipment_item_quantity] - Defines the maximum quantity
1108
+ * of items allowed in a quality check shipment.
1109
+ * @property {number} [non_qc_shipment_item_quantity] - Defines the maximum
1110
+ * quantity of items allowed in a non-quality check shipment.
1087
1111
  */
1088
1112
 
1089
1113
  /**
@@ -1101,8 +1125,8 @@ const Joi = require("joi");
1101
1125
  * courier partner scheme.
1102
1126
  * @property {string[]} payment_mode - Mode of payment associated with the
1103
1127
  * courier partner scheme.
1104
- * @property {string} stage - Denotes whether the courier partner scheme is in
1105
- * enabled or disabled stage.
1128
+ * @property {string} stage - Indicates if the courier partner scheme is
1129
+ * currently active or inactive.
1106
1130
  * @property {CourierPartnerSchemeFeatures} feature
1107
1131
  */
1108
1132
 
@@ -1352,6 +1376,176 @@ const Joi = require("joi");
1352
1376
  * @property {string} message - A brief description of the error.
1353
1377
  */
1354
1378
 
1379
+ /**
1380
+ * @typedef CourierPartnerSchemeV2Features
1381
+ * @property {boolean} [doorstep_qc] - Indicates if the courier partner offers
1382
+ * doorstep quality check services.
1383
+ * @property {boolean} [qr] - Specifies whether the courier partner supports QR
1384
+ * code-based operations.
1385
+ * @property {boolean} [mps] - Denotes if the courier partner supports
1386
+ * multi-part shipment services.
1387
+ * @property {boolean} [ndr] - Indicates if the Non-Delivery Report (NDR)
1388
+ * feature is supported by the courier partner.
1389
+ * @property {boolean} [dangerous_goods] - Specifies if the courier partner
1390
+ * handles the transportation of dangerous goods.
1391
+ * @property {boolean} [fragile_goods] - Indicates whether the courier partner
1392
+ * manages the shipment of fragile goods.
1393
+ * @property {boolean} [restricted_goods] - Indicates if the courier partner
1394
+ * handles restricted goods, as per regulatory guidelines.
1395
+ * @property {boolean} [cold_storage_goods] - Denotes if the courier partner
1396
+ * provides cold storage facilities for goods.
1397
+ * @property {boolean} [doorstep_exchange] - Indicates if the courier partner
1398
+ * supports doorstep exchange services.
1399
+ * @property {boolean} [doorstep_return] - Specifies if the courier partner
1400
+ * offers doorstep return services.
1401
+ * @property {boolean} [product_installation] - Indicates if the courier partner
1402
+ * provides product installation services upon delivery.
1403
+ * @property {boolean} [openbox_delivery] - Specifies whether the courier
1404
+ * partner supports open-box delivery, allowing customers to inspect goods
1405
+ * before accepting.
1406
+ * @property {boolean} [multi_pick_single_drop] - Indicates if the courier
1407
+ * partner supports multiple pickups to a single drop location.
1408
+ * @property {boolean} [single_pick_multi_drop] - Indicates whether the courier
1409
+ * partner supports single pickup to multiple drop locations.
1410
+ * @property {boolean} [multi_pick_multi_drop] - Denotes if the courier partner
1411
+ * offers services for multiple pickups to multiple drop locations.
1412
+ * @property {boolean} [ewaybill] - Specifies if the courier partner requires or
1413
+ * supports the generation of e-waybills for shipments.
1414
+ */
1415
+
1416
+ /**
1417
+ * @typedef CourierPartnerSchemeV2DetailsModel
1418
+ * @property {string} extension_id - Unique identifier of courier partner extension
1419
+ * @property {string} [scheme_id]
1420
+ * @property {string} name
1421
+ * @property {ArithmeticOperations} weight
1422
+ * @property {ArithmeticOperations} [volumetric_weight]
1423
+ * @property {string} transport_type
1424
+ * @property {string} region
1425
+ * @property {string} delivery_type
1426
+ * @property {string[]} payment_mode
1427
+ * @property {string} stage
1428
+ * @property {string} [status_updates] - Describes the type of status updates
1429
+ * provided by the courier partner (e.g., real-time, periodic).
1430
+ * @property {number} [ndr_attempts] - Indicates if the Non-Delivery Report
1431
+ * (NDR) feature is supported by the courier partner.
1432
+ * @property {number} [qc_shipment_item_quantity] - Defines the maximum quantity
1433
+ * of items allowed in a quality check shipment.
1434
+ * @property {number} [non_qc_shipment_item_quantity] - Defines the maximum
1435
+ * quantity of items allowed in a non-quality check shipment.
1436
+ * @property {CourierPartnerSchemeV2Features} feature
1437
+ */
1438
+
1439
+ /**
1440
+ * @typedef CourierPartnerV2SchemeModel
1441
+ * @property {string} extension_id - Unique identifier of courier partner extension.
1442
+ * @property {string} scheme_id - Unique identifier of courier partner scheme.
1443
+ * @property {string} [company_id] - Unique identifier of company.
1444
+ * @property {string} name - Name of the scheme.
1445
+ * @property {ArithmeticOperations} weight
1446
+ * @property {ArithmeticOperations} [volumetric_weight]
1447
+ * @property {string} transport_type - Mode of transport associated with the
1448
+ * courier partner scheme.
1449
+ * @property {string} region - Serviceable region associated with the courier
1450
+ * partner scheme.
1451
+ * @property {string} delivery_type - Type of delivery associated with the
1452
+ * courier partner scheme.
1453
+ * @property {string[]} payment_mode - Mode of payment associated with the
1454
+ * courier partner scheme.
1455
+ * @property {string} stage - Indicates if the courier partner scheme is
1456
+ * currently active or inactive.
1457
+ * @property {string} [status_updates] - Describes the type of status updates
1458
+ * provided by the courier partner (e.g., real-time, periodic).
1459
+ * @property {number} [ndr_attempts] - Indicates if the Non-Delivery Report
1460
+ * (NDR) feature is supported by the courier partner.
1461
+ * @property {number} [qc_shipment_item_quantity] - Defines the maximum quantity
1462
+ * of items allowed in a quality check shipment.
1463
+ * @property {number} [non_qc_shipment_item_quantity] - Defines the maximum
1464
+ * quantity of items allowed in a non-quality check shipment.
1465
+ * @property {CourierPartnerSchemeV2Features} feature
1466
+ */
1467
+
1468
+ /**
1469
+ * @typedef CourierPartnerSchemeV2UpdateDetails
1470
+ * @property {string} name
1471
+ * @property {ArithmeticOperations} weight
1472
+ * @property {ArithmeticOperations} [volumetric_weight]
1473
+ * @property {string} transport_type
1474
+ * @property {string} region
1475
+ * @property {string} delivery_type
1476
+ * @property {string[]} payment_mode
1477
+ * @property {string} stage
1478
+ * @property {string} [status_updates] - Describes the type of status updates
1479
+ * provided by the courier partner (e.g., real-time, periodic).
1480
+ * @property {number} [ndr_attempts] - Indicates if the Non-Delivery Report
1481
+ * (NDR) feature is supported by the courier partner.
1482
+ * @property {number} [qc_shipment_item_quantity] - Defines the maximum quantity
1483
+ * of items allowed in a quality check shipment.
1484
+ * @property {number} [non_qc_shipment_item_quantity] - Defines the maximum
1485
+ * quantity of items allowed in a non-quality check shipment.
1486
+ * @property {CourierPartnerSchemeV2Features} feature
1487
+ */
1488
+
1489
+ /**
1490
+ * @typedef courierPartnerSchemeV2List
1491
+ * @property {CourierPartnerV2SchemeModel[]} items - List of courier partner schemes
1492
+ * @property {Page} page
1493
+ */
1494
+
1495
+ /**
1496
+ * @typedef BulkRegionServiceabilityTatDetails
1497
+ * @property {string} country
1498
+ * @property {string} region
1499
+ * @property {string} type
1500
+ */
1501
+
1502
+ /**
1503
+ * @typedef BulkRegionServiceabilityTatResultItemData
1504
+ * @property {string} [country] - Name of the country.
1505
+ * @property {string} [region] - Name of the region for which the
1506
+ * tat/serviceability file needs to be downloaded.
1507
+ * @property {string} [type] - Denotes the type of data.
1508
+ * @property {string} [batch_id] - Unique identifier identifying the perticular request.
1509
+ * @property {string} [status] - Current status of the request.
1510
+ * @property {Object[]} [failed_records] - Information of records which failed
1511
+ * @property {string} [file_path] - CDN path of the file.
1512
+ */
1513
+
1514
+ /**
1515
+ * @typedef BulkRegionServiceabilityTatResult
1516
+ * @property {BulkRegionServiceabilityTatResultItemData[]} [items]
1517
+ * @property {Page} [page]
1518
+ */
1519
+
1520
+ /**
1521
+ * @typedef HierarchyItems
1522
+ * @property {string} [display_name]
1523
+ * @property {string} [slug]
1524
+ */
1525
+
1526
+ /**
1527
+ * @typedef GetCountriesItems
1528
+ * @property {string} [id]
1529
+ * @property {string} [name]
1530
+ * @property {string} [iso2]
1531
+ * @property {string} [iso3]
1532
+ * @property {string[]} [timezones]
1533
+ * @property {HierarchyItems[]} [hierarchy]
1534
+ * @property {string} [phone_code]
1535
+ * @property {string} [currency]
1536
+ * @property {string} [type]
1537
+ * @property {string} [latitude]
1538
+ * @property {string} [longitude]
1539
+ * @property {string} [display_name]
1540
+ * @property {boolean} [has_next_hierarchy]
1541
+ */
1542
+
1543
+ /**
1544
+ * @typedef GetCountries
1545
+ * @property {GetCountriesItems[]} items
1546
+ * @property {Page} page
1547
+ */
1548
+
1355
1549
  class ServiceabilityPlatformModel {
1356
1550
  /** @returns {UpdateZoneConfigDetails} */
1357
1551
  static UpdateZoneConfigDetails() {
@@ -2674,6 +2868,7 @@ class ServiceabilityPlatformModel {
2674
2868
  pickup_cutoff: Joi.string().allow("").allow(null),
2675
2869
  route_code: Joi.string().allow("").allow(null),
2676
2870
  is_first_mile: Joi.boolean().required(),
2871
+ is_reverse_pickup: Joi.boolean().allow(null),
2677
2872
  is_return: Joi.boolean().required(),
2678
2873
  is_installation: Joi.boolean().required(),
2679
2874
  is_last_mile: Joi.boolean().required(),
@@ -2701,6 +2896,8 @@ class ServiceabilityPlatformModel {
2701
2896
  single_pick_multi_drop: Joi.boolean(),
2702
2897
  multi_pick_multi_drop: Joi.boolean(),
2703
2898
  ewaybill: Joi.boolean(),
2899
+ qc_shipment_item_quantity: Joi.number().allow(null),
2900
+ non_qc_shipment_item_quantity: Joi.number().allow(null),
2704
2901
  });
2705
2902
  }
2706
2903
 
@@ -3022,5 +3219,170 @@ class ServiceabilityPlatformModel {
3022
3219
  message: Joi.string().allow("").required(),
3023
3220
  });
3024
3221
  }
3222
+
3223
+ /** @returns {CourierPartnerSchemeV2Features} */
3224
+ static CourierPartnerSchemeV2Features() {
3225
+ return Joi.object({
3226
+ doorstep_qc: Joi.boolean(),
3227
+ qr: Joi.boolean(),
3228
+ mps: Joi.boolean(),
3229
+ ndr: Joi.boolean(),
3230
+ dangerous_goods: Joi.boolean(),
3231
+ fragile_goods: Joi.boolean(),
3232
+ restricted_goods: Joi.boolean(),
3233
+ cold_storage_goods: Joi.boolean(),
3234
+ doorstep_exchange: Joi.boolean(),
3235
+ doorstep_return: Joi.boolean(),
3236
+ product_installation: Joi.boolean(),
3237
+ openbox_delivery: Joi.boolean(),
3238
+ multi_pick_single_drop: Joi.boolean(),
3239
+ single_pick_multi_drop: Joi.boolean(),
3240
+ multi_pick_multi_drop: Joi.boolean(),
3241
+ ewaybill: Joi.boolean(),
3242
+ });
3243
+ }
3244
+
3245
+ /** @returns {CourierPartnerSchemeV2DetailsModel} */
3246
+ static CourierPartnerSchemeV2DetailsModel() {
3247
+ return Joi.object({
3248
+ extension_id: Joi.string().allow("").required(),
3249
+ scheme_id: Joi.string().allow(""),
3250
+ name: Joi.string().allow("").required(),
3251
+ weight: ServiceabilityPlatformModel.ArithmeticOperations().required(),
3252
+ volumetric_weight: ServiceabilityPlatformModel.ArithmeticOperations(),
3253
+ transport_type: Joi.string().allow("").required(),
3254
+ region: Joi.string().allow("").required(),
3255
+ delivery_type: Joi.string().allow("").required(),
3256
+ payment_mode: Joi.array().items(Joi.string().allow("")).required(),
3257
+ stage: Joi.string().allow("").required(),
3258
+ status_updates: Joi.string().allow(""),
3259
+ ndr_attempts: Joi.number(),
3260
+ qc_shipment_item_quantity: Joi.number().allow(null),
3261
+ non_qc_shipment_item_quantity: Joi.number().allow(null),
3262
+ feature: ServiceabilityPlatformModel.CourierPartnerSchemeV2Features().required(),
3263
+ });
3264
+ }
3265
+
3266
+ /** @returns {CourierPartnerV2SchemeModel} */
3267
+ static CourierPartnerV2SchemeModel() {
3268
+ return Joi.object({
3269
+ extension_id: Joi.string().allow("").required(),
3270
+ scheme_id: Joi.string().allow("").required(),
3271
+ company_id: Joi.string().allow(""),
3272
+ name: Joi.string().allow("").required(),
3273
+ weight: ServiceabilityPlatformModel.ArithmeticOperations().required(),
3274
+ volumetric_weight: ServiceabilityPlatformModel.ArithmeticOperations(),
3275
+ transport_type: Joi.string().allow("").required(),
3276
+ region: Joi.string().allow("").required(),
3277
+ delivery_type: Joi.string().allow("").required(),
3278
+ payment_mode: Joi.array().items(Joi.string().allow("")).required(),
3279
+ stage: Joi.string().allow("").required(),
3280
+ status_updates: Joi.string().allow(""),
3281
+ ndr_attempts: Joi.number(),
3282
+ qc_shipment_item_quantity: Joi.number().allow(null),
3283
+ non_qc_shipment_item_quantity: Joi.number().allow(null),
3284
+ feature: ServiceabilityPlatformModel.CourierPartnerSchemeV2Features().required(),
3285
+ });
3286
+ }
3287
+
3288
+ /** @returns {CourierPartnerSchemeV2UpdateDetails} */
3289
+ static CourierPartnerSchemeV2UpdateDetails() {
3290
+ return Joi.object({
3291
+ name: Joi.string().allow("").required(),
3292
+ weight: ServiceabilityPlatformModel.ArithmeticOperations().required(),
3293
+ volumetric_weight: ServiceabilityPlatformModel.ArithmeticOperations(),
3294
+ transport_type: Joi.string().allow("").required(),
3295
+ region: Joi.string().allow("").required(),
3296
+ delivery_type: Joi.string().allow("").required(),
3297
+ payment_mode: Joi.array().items(Joi.string().allow("")).required(),
3298
+ stage: Joi.string().allow("").required(),
3299
+ status_updates: Joi.string().allow(""),
3300
+ ndr_attempts: Joi.number(),
3301
+ qc_shipment_item_quantity: Joi.number().allow(null),
3302
+ non_qc_shipment_item_quantity: Joi.number().allow(null),
3303
+ feature: ServiceabilityPlatformModel.CourierPartnerSchemeV2Features().required(),
3304
+ });
3305
+ }
3306
+
3307
+ /** @returns {courierPartnerSchemeV2List} */
3308
+ static courierPartnerSchemeV2List() {
3309
+ return Joi.object({
3310
+ items: Joi.array()
3311
+ .items(ServiceabilityPlatformModel.CourierPartnerV2SchemeModel())
3312
+ .required(),
3313
+ page: ServiceabilityPlatformModel.Page().required(),
3314
+ });
3315
+ }
3316
+
3317
+ /** @returns {BulkRegionServiceabilityTatDetails} */
3318
+ static BulkRegionServiceabilityTatDetails() {
3319
+ return Joi.object({
3320
+ country: Joi.string().allow("").required(),
3321
+ region: Joi.string().allow("").required(),
3322
+ type: Joi.string().allow("").required(),
3323
+ });
3324
+ }
3325
+
3326
+ /** @returns {BulkRegionServiceabilityTatResultItemData} */
3327
+ static BulkRegionServiceabilityTatResultItemData() {
3328
+ return Joi.object({
3329
+ country: Joi.string().allow(""),
3330
+ region: Joi.string().allow(""),
3331
+ type: Joi.string().allow(""),
3332
+ batch_id: Joi.string().allow(""),
3333
+ status: Joi.string().allow(""),
3334
+ failed_records: Joi.array().items(Joi.object().pattern(/\S/, Joi.any())),
3335
+ file_path: Joi.string().allow("").allow(null),
3336
+ });
3337
+ }
3338
+
3339
+ /** @returns {BulkRegionServiceabilityTatResult} */
3340
+ static BulkRegionServiceabilityTatResult() {
3341
+ return Joi.object({
3342
+ items: Joi.array().items(
3343
+ ServiceabilityPlatformModel.BulkRegionServiceabilityTatResultItemData()
3344
+ ),
3345
+ page: ServiceabilityPlatformModel.Page(),
3346
+ });
3347
+ }
3348
+
3349
+ /** @returns {HierarchyItems} */
3350
+ static HierarchyItems() {
3351
+ return Joi.object({
3352
+ display_name: Joi.string().allow(""),
3353
+ slug: Joi.string().allow(""),
3354
+ });
3355
+ }
3356
+
3357
+ /** @returns {GetCountriesItems} */
3358
+ static GetCountriesItems() {
3359
+ return Joi.object({
3360
+ id: Joi.string().allow(""),
3361
+ name: Joi.string().allow(""),
3362
+ iso2: Joi.string().allow(""),
3363
+ iso3: Joi.string().allow(""),
3364
+ timezones: Joi.array().items(Joi.string().allow("")),
3365
+ hierarchy: Joi.array().items(
3366
+ ServiceabilityPlatformModel.HierarchyItems()
3367
+ ),
3368
+ phone_code: Joi.string().allow(""),
3369
+ currency: Joi.string().allow(""),
3370
+ type: Joi.string().allow(""),
3371
+ latitude: Joi.string().allow(""),
3372
+ longitude: Joi.string().allow(""),
3373
+ display_name: Joi.string().allow(""),
3374
+ has_next_hierarchy: Joi.boolean(),
3375
+ });
3376
+ }
3377
+
3378
+ /** @returns {GetCountries} */
3379
+ static GetCountries() {
3380
+ return Joi.object({
3381
+ items: Joi.array()
3382
+ .items(ServiceabilityPlatformModel.GetCountriesItems())
3383
+ .required(),
3384
+ page: ServiceabilityPlatformModel.Page().required(),
3385
+ });
3386
+ }
3025
3387
  }
3026
3388
  module.exports = ServiceabilityPlatformModel;