@shipengine/connect-carrier-api 2.12.20 → 4.0.0-beta.2

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 (254) hide show
  1. package/lib/app/build-app-deployment.d.ts +3 -0
  2. package/lib/app/build-app-deployment.js +41 -0
  3. package/lib/app/build-app-deployment.js.map +1 -0
  4. package/lib/app/carrier-app-definition.d.ts +7 -0
  5. package/lib/app/create-endpoint-mapping.d.ts +4 -0
  6. package/lib/app/create-endpoint-mapping.js +26 -0
  7. package/lib/app/create-endpoint-mapping.js.map +1 -0
  8. package/lib/app/index.d.ts +4 -2
  9. package/lib/app/index.js +4 -2
  10. package/lib/app/index.js.map +1 -1
  11. package/lib/app/metadata/index.d.ts +2 -0
  12. package/lib/app/metadata/index.js +2 -0
  13. package/lib/app/metadata/index.js.map +1 -1
  14. package/lib/app/{native-rating/data-validator.d.ts → native-rating-data-validator.d.ts} +1 -1
  15. package/lib/app/{native-rating/data-validator.js → native-rating-data-validator.js} +1 -1
  16. package/lib/app/native-rating-data-validator.js.map +1 -0
  17. package/lib/models/addresses/address-base-schema.d.ts +2 -0
  18. package/lib/models/addresses/address-base-schema.js +24 -0
  19. package/lib/models/addresses/address-base-schema.js.map +1 -0
  20. package/lib/models/addresses/address-residential-indicator-schema.d.ts +2 -0
  21. package/lib/models/addresses/address-residential-indicator-schema.js +8 -0
  22. package/lib/models/addresses/address-residential-indicator-schema.js.map +1 -0
  23. package/lib/models/addresses/pudo-location-schema.d.ts +2 -0
  24. package/lib/models/addresses/pudo-location-schema.js +11 -0
  25. package/lib/models/addresses/pudo-location-schema.js.map +1 -0
  26. package/lib/models/addresses/ship-to-schema.d.ts +2 -0
  27. package/lib/models/addresses/ship-to-schema.js +11 -0
  28. package/lib/models/addresses/ship-to-schema.js.map +1 -0
  29. package/lib/models/advanced-options-schema.d.ts +2 -0
  30. package/lib/models/advanced-options-schema.js +15 -0
  31. package/lib/models/advanced-options-schema.js.map +1 -0
  32. package/lib/models/advanced-options.d.ts +0 -5
  33. package/lib/models/advanced-options.js.map +1 -1
  34. package/lib/models/authorization-schema.d.ts +2 -0
  35. package/lib/models/authorization-schema.js +10 -0
  36. package/lib/models/authorization-schema.js.map +1 -0
  37. package/lib/models/billing/index.d.ts +0 -1
  38. package/lib/models/billing/index.js +0 -1
  39. package/lib/models/billing/index.js.map +1 -1
  40. package/lib/models/customs/customs-charges-schema.d.ts +2 -0
  41. package/lib/models/customs/customs-charges-schema.js +13 -0
  42. package/lib/models/customs/customs-charges-schema.js.map +1 -0
  43. package/lib/models/customs/customs-content-types-schema.d.ts +2 -0
  44. package/lib/models/customs/customs-content-types-schema.js +8 -0
  45. package/lib/models/customs/customs-content-types-schema.js.map +1 -0
  46. package/lib/models/customs/customs-item-schema.d.ts +2 -0
  47. package/lib/models/customs/customs-item-schema.js +21 -0
  48. package/lib/models/customs/customs-item-schema.js.map +1 -0
  49. package/lib/models/customs/customs-non-delivery-schema.d.ts +2 -0
  50. package/lib/models/customs/customs-non-delivery-schema.js +8 -0
  51. package/lib/models/customs/customs-non-delivery-schema.js.map +1 -0
  52. package/lib/models/customs/customs-schema.d.ts +2 -0
  53. package/lib/models/customs/customs-schema.js +25 -0
  54. package/lib/models/customs/customs-schema.js.map +1 -0
  55. package/lib/models/customs/customs.d.ts +2 -2
  56. package/lib/models/importer-records/importer-of-record-schema.d.ts +2 -0
  57. package/lib/models/importer-records/importer-of-record-schema.js +20 -0
  58. package/lib/models/importer-records/importer-of-record-schema.js.map +1 -0
  59. package/lib/models/importer-records/{importer_of_record.js → importer-of-record.js} +1 -1
  60. package/lib/models/importer-records/importer-of-record.js.map +1 -0
  61. package/lib/models/inconterms/terms-of-trade-code-schema.d.ts +2 -0
  62. package/lib/models/inconterms/terms-of-trade-code-schema.js +8 -0
  63. package/lib/models/inconterms/terms-of-trade-code-schema.js.map +1 -0
  64. package/lib/models/index.d.ts +0 -3
  65. package/lib/models/index.js +0 -3
  66. package/lib/models/index.js.map +1 -1
  67. package/lib/models/labels/label-message-schema.d.ts +2 -0
  68. package/lib/models/labels/label-message-schema.js +11 -0
  69. package/lib/models/labels/label-message-schema.js.map +1 -0
  70. package/lib/models/pickup/shipped-package-schema.d.ts +2 -0
  71. package/lib/models/pickup/shipped-package-schema.js +25 -0
  72. package/lib/models/pickup/shipped-package-schema.js.map +1 -0
  73. package/lib/models/pickup/shipped-shipment-schema.d.ts +3 -0
  74. package/lib/models/pickup/shipped-shipment-schema.js +21 -0
  75. package/lib/models/pickup/shipped-shipment-schema.js.map +1 -0
  76. package/lib/models/taxes/tax-identifier-schema.d.ts +2 -0
  77. package/lib/models/taxes/tax-identifier-schema.js +13 -0
  78. package/lib/models/taxes/tax-identifier-schema.js.map +1 -0
  79. package/lib/models/taxes/tax-identifier-type-schema.d.ts +2 -0
  80. package/lib/models/taxes/tax-identifier-type-schema.js +8 -0
  81. package/lib/models/taxes/tax-identifier-type-schema.js.map +1 -0
  82. package/lib/models/taxes/tax-identifier.d.ts +1 -3
  83. package/lib/models/taxes/tax-identifier.js.map +1 -1
  84. package/lib/models/units/dimension-details-schema.d.ts +2 -0
  85. package/lib/models/units/dimension-details-schema.js +14 -0
  86. package/lib/models/units/dimension-details-schema.js.map +1 -0
  87. package/lib/models/units/dimension-unit-schema.d.ts +2 -0
  88. package/lib/models/units/dimension-unit-schema.js +8 -0
  89. package/lib/models/units/dimension-unit-schema.js.map +1 -0
  90. package/lib/models/units/weight-details-schema.d.ts +2 -0
  91. package/lib/models/units/weight-details-schema.js +13 -0
  92. package/lib/models/units/weight-details-schema.js.map +1 -0
  93. package/lib/models/units/weight-unit-schema.d.ts +2 -0
  94. package/lib/models/units/weight-unit-schema.js +8 -0
  95. package/lib/models/units/weight-unit-schema.js.map +1 -0
  96. package/lib/requests/base-request-schema.d.ts +2 -0
  97. package/lib/requests/base-request-schema.js +12 -0
  98. package/lib/requests/base-request-schema.js.map +1 -0
  99. package/lib/requests/cancel-notification-request-schema.d.ts +2 -0
  100. package/lib/requests/cancel-notification-request-schema.js +12 -0
  101. package/lib/requests/cancel-notification-request-schema.js.map +1 -0
  102. package/lib/requests/create-label-request.d.ts +1 -3
  103. package/lib/requests/create-label-request.js.map +1 -1
  104. package/lib/requests/get-rates-request.d.ts +1 -3
  105. package/lib/requests/get-rates-request.js.map +1 -1
  106. package/package.json +4 -4
  107. package/spec.json +1 -49
  108. package/src/app/build-app-deployment.ts +50 -0
  109. package/src/app/carrier-app-definition.ts +10 -0
  110. package/src/app/create-endpoint-mapping.ts +25 -0
  111. package/src/app/index.ts +4 -2
  112. package/src/app/metadata/index.ts +2 -0
  113. package/src/app/{native-rating/data-validator.ts → native-rating-data-validator.ts} +1 -1
  114. package/src/models/addresses/address-base-schema.ts +20 -0
  115. package/src/models/addresses/address-residential-indicator-schema.ts +6 -0
  116. package/src/models/addresses/pudo-location-schema.ts +7 -0
  117. package/src/models/addresses/ship-to-schema.ts +7 -0
  118. package/src/models/advanced-options-schema.ts +11 -0
  119. package/src/models/advanced-options.ts +0 -5
  120. package/src/models/authorization-schema.ts +6 -0
  121. package/src/models/billing/index.ts +0 -1
  122. package/src/models/customs/customs-charges-schema.ts +9 -0
  123. package/src/models/customs/customs-content-types-schema.ts +4 -0
  124. package/src/models/customs/customs-item-schema.ts +17 -0
  125. package/src/models/customs/customs-non-delivery-schema.ts +4 -0
  126. package/src/models/customs/customs-schema.ts +21 -0
  127. package/src/models/customs/customs.ts +2 -2
  128. package/src/models/importer-records/importer-of-record-schema.ts +16 -0
  129. package/src/models/inconterms/terms-of-trade-code-schema.ts +4 -0
  130. package/src/models/index.ts +0 -3
  131. package/src/models/labels/label-message-schema.ts +7 -0
  132. package/src/models/pickup/shipped-package-schema.ts +21 -0
  133. package/src/models/pickup/shipped-shipment-schema.ts +18 -0
  134. package/src/models/taxes/tax-identifier-schema.ts +9 -0
  135. package/src/models/taxes/tax-identifier-type-schema.ts +4 -0
  136. package/src/models/taxes/tax-identifier.ts +1 -3
  137. package/src/models/units/dimension-details-schema.ts +10 -0
  138. package/src/models/units/dimension-unit-schema.ts +4 -0
  139. package/src/models/units/weight-details-schema.ts +9 -0
  140. package/src/models/units/weight-unit-schema.ts +4 -0
  141. package/src/requests/base-request-schema.ts +8 -0
  142. package/src/requests/cancel-notification-request-schema.ts +8 -0
  143. package/src/requests/create-label-request.ts +0 -3
  144. package/src/requests/get-rates-request.ts +0 -3
  145. package/tsconfig.tsbuildinfo +1 -1
  146. package/lib/app/build-native-rating-routes.d.ts +0 -3
  147. package/lib/app/build-native-rating-routes.js +0 -105
  148. package/lib/app/build-native-rating-routes.js.map +0 -1
  149. package/lib/app/carrier-app.d.ts +0 -15
  150. package/lib/app/carrier-app.js +0 -166
  151. package/lib/app/carrier-app.js.map +0 -1
  152. package/lib/app/create-get-rates-handler.d.ts +0 -4
  153. package/lib/app/create-get-rates-handler.js +0 -100
  154. package/lib/app/create-get-rates-handler.js.map +0 -1
  155. package/lib/app/internal/branded-image.d.ts +0 -9
  156. package/lib/app/internal/branded-image.js +0 -3
  157. package/lib/app/internal/branded-image.js.map +0 -1
  158. package/lib/app/internal/carrier-app-specification.d.ts +0 -16
  159. package/lib/app/internal/carrier-app-specification.js +0 -3
  160. package/lib/app/internal/carrier-app-specification.js.map +0 -1
  161. package/lib/app/internal/carrier-specification.d.ts +0 -38
  162. package/lib/app/internal/carrier-specification.js +0 -86
  163. package/lib/app/internal/carrier-specification.js.map +0 -1
  164. package/lib/app/internal/connect-runtime-app.d.ts +0 -14
  165. package/lib/app/internal/connect-runtime-app.js +0 -3
  166. package/lib/app/internal/connect-runtime-app.js.map +0 -1
  167. package/lib/app/internal/document-template.d.ts +0 -7
  168. package/lib/app/internal/document-template.js +0 -3
  169. package/lib/app/internal/document-template.js.map +0 -1
  170. package/lib/app/internal/index.d.ts +0 -3
  171. package/lib/app/internal/index.js +0 -7
  172. package/lib/app/internal/index.js.map +0 -1
  173. package/lib/app/internal/metadata.d.ts +0 -13
  174. package/lib/app/internal/metadata.js +0 -64
  175. package/lib/app/internal/metadata.js.map +0 -1
  176. package/lib/app/internal/native-rating-specification.d.ts +0 -5
  177. package/lib/app/internal/native-rating-specification.js +0 -3
  178. package/lib/app/internal/native-rating-specification.js.map +0 -1
  179. package/lib/app/internal/route.d.ts +0 -27
  180. package/lib/app/internal/route.js +0 -12
  181. package/lib/app/internal/route.js.map +0 -1
  182. package/lib/app/native-rating/base-rate-context.d.ts +0 -3
  183. package/lib/app/native-rating/base-rate-context.js +0 -83
  184. package/lib/app/native-rating/base-rate-context.js.map +0 -1
  185. package/lib/app/native-rating/context-results.d.ts +0 -3
  186. package/lib/app/native-rating/context-results.js +0 -3
  187. package/lib/app/native-rating/context-results.js.map +0 -1
  188. package/lib/app/native-rating/create-dynamic-carrier.d.ts +0 -7
  189. package/lib/app/native-rating/create-dynamic-carrier.js +0 -63
  190. package/lib/app/native-rating/create-dynamic-carrier.js.map +0 -1
  191. package/lib/app/native-rating/data-validator.js.map +0 -1
  192. package/lib/app/native-rating/get-rates.d.ts +0 -7
  193. package/lib/app/native-rating/get-rates.js +0 -3
  194. package/lib/app/native-rating/get-rates.js.map +0 -1
  195. package/lib/app/native-rating/get-variables.d.ts +0 -6
  196. package/lib/app/native-rating/get-variables.js +0 -3
  197. package/lib/app/native-rating/get-variables.js.map +0 -1
  198. package/lib/app/native-rating/get-zone.d.ts +0 -6
  199. package/lib/app/native-rating/get-zone.js +0 -3
  200. package/lib/app/native-rating/get-zone.js.map +0 -1
  201. package/lib/app/native-rating/implementation-type.d.ts +0 -31
  202. package/lib/app/native-rating/implementation-type.js +0 -8
  203. package/lib/app/native-rating/implementation-type.js.map +0 -1
  204. package/lib/app/native-rating/index.d.ts +0 -3
  205. package/lib/app/native-rating/index.js +0 -7
  206. package/lib/app/native-rating/index.js.map +0 -1
  207. package/lib/app/native-rating/numeric-currency.d.ts +0 -5
  208. package/lib/app/native-rating/numeric-currency.js +0 -3
  209. package/lib/app/native-rating/numeric-currency.js.map +0 -1
  210. package/lib/app/native-rating/rating-context.d.ts +0 -15
  211. package/lib/app/native-rating/rating-context.js +0 -3
  212. package/lib/app/native-rating/rating-context.js.map +0 -1
  213. package/lib/models/bill-to.d.ts +0 -14
  214. package/lib/models/bill-to.js +0 -14
  215. package/lib/models/bill-to.js.map +0 -1
  216. package/lib/models/billing/billing-to-party.d.ts +0 -10
  217. package/lib/models/billing/billing-to-party.js +0 -15
  218. package/lib/models/billing/billing-to-party.js.map +0 -1
  219. package/lib/models/cod-payment-type.d.ts +0 -9
  220. package/lib/models/cod-payment-type.js +0 -14
  221. package/lib/models/cod-payment-type.js.map +0 -1
  222. package/lib/models/collect-on-delivery.d.ts +0 -9
  223. package/lib/models/collect-on-delivery.js +0 -8
  224. package/lib/models/collect-on-delivery.js.map +0 -1
  225. package/lib/models/importer-records/importer_of_record.js.map +0 -1
  226. package/src/app/build-native-rating-routes.ts +0 -119
  227. package/src/app/carrier-app.ts +0 -222
  228. package/src/app/create-get-rates-handler.ts +0 -128
  229. package/src/app/internal/README.md +0 -1
  230. package/src/app/internal/branded-image.ts +0 -9
  231. package/src/app/internal/carrier-app-specification.ts +0 -17
  232. package/src/app/internal/carrier-specification.ts +0 -135
  233. package/src/app/internal/connect-runtime-app.ts +0 -15
  234. package/src/app/internal/document-template.ts +0 -7
  235. package/src/app/internal/index.ts +0 -3
  236. package/src/app/internal/metadata.ts +0 -86
  237. package/src/app/internal/native-rating-specification.ts +0 -5
  238. package/src/app/internal/route.ts +0 -31
  239. package/src/app/native-rating/base-rate-context.ts +0 -101
  240. package/src/app/native-rating/context-results.ts +0 -3
  241. package/src/app/native-rating/create-dynamic-carrier.ts +0 -82
  242. package/src/app/native-rating/get-rates.ts +0 -9
  243. package/src/app/native-rating/get-variables.ts +0 -8
  244. package/src/app/native-rating/get-zone.ts +0 -9
  245. package/src/app/native-rating/implementation-type.ts +0 -34
  246. package/src/app/native-rating/index.ts +0 -3
  247. package/src/app/native-rating/numeric-currency.ts +0 -5
  248. package/src/app/native-rating/rating-context.ts +0 -19
  249. package/src/models/bill-to.ts +0 -15
  250. package/src/models/billing/billing-to-party.ts +0 -10
  251. package/src/models/cod-payment-type.ts +0 -9
  252. package/src/models/collect-on-delivery.ts +0 -10
  253. /package/lib/models/importer-records/{importer_of_record.d.ts → importer-of-record.d.ts} +0 -0
  254. /package/src/models/importer-records/{importer_of_record.ts → importer-of-record.ts} +0 -0
@@ -0,0 +1,11 @@
1
+ import Joi from 'joi';
2
+ import { CurrencySchema } from './currency-schema';
3
+
4
+ export const AdvancedOptionsSchema = Joi.object({
5
+ contains_alcohol: Joi.boolean().optional(),
6
+ no_postage: Joi.boolean().optional(),
7
+ nonmachineable: Joi.boolean().optional(),
8
+ bill_duties_to_sender: Joi.boolean().optional(),
9
+ saturday_delivery: Joi.boolean().optional(),
10
+ tip: CurrencySchema.optional(),
11
+ }).pattern(/.*/, Joi.any());
@@ -1,4 +1,3 @@
1
- import { CollectOnDelivery } from './collect-on-delivery';
2
1
  import { Currency } from './currency';
3
2
 
4
3
  /** @description Basic structure for shipping options */
@@ -15,10 +14,6 @@ export class AdvancedOptions {
15
14
  saturday_delivery?: boolean;
16
15
  /** @description Amount to be paid to the driver, used for local delivery and courier services */
17
16
  tip?: Currency;
18
- /** @description Describes whether Additional Handling is requested for the shipment */
19
- additional_handling?: boolean;
20
- /** @description Describes details for Collect on Delivery (COD) if requested for the shipment */
21
- collect_on_delivery?: CollectOnDelivery;
22
17
  /** @description Any other custom shipping options */
23
18
  [key: string]: any;
24
19
  }
@@ -0,0 +1,6 @@
1
+ import Joi from 'joi';
2
+
3
+ export const AuthorizationSchema = Joi.object({
4
+ access_token: Joi.string().optional(),
5
+ connection_context: Joi.object().optional(),
6
+ });
@@ -2,4 +2,3 @@ export * from './billing-categories';
2
2
  export * from './billing-categories-schema';
3
3
  export * from './billing-line-item';
4
4
  export * from './billing-line-item-schema';
5
- export * from './billing-to-party';
@@ -0,0 +1,9 @@
1
+ import Joi from 'joi';
2
+ import { CurrencySchema } from '../currency-schema';
3
+
4
+ export const CustomsChargesSchema = Joi.object({
5
+ freight_charge: CurrencySchema.optional(),
6
+ other_charge: CurrencySchema.optional(),
7
+ insurance_charge: CurrencySchema.optional(),
8
+ discount: CurrencySchema.optional(),
9
+ });
@@ -0,0 +1,4 @@
1
+ import Joi from 'joi';
2
+ import { CustomsContentTypes } from './customs-content-types';
3
+
4
+ export const CustomsContentTypesSchema = Joi.string().valid(...Object.values(CustomsContentTypes));
@@ -0,0 +1,17 @@
1
+ import Joi from 'joi';
2
+ import { CurrencySchema } from '../currency-schema';
3
+ import { WeightDetailsSchema } from '../units/weight-details-schema';
4
+
5
+ export const CustomsItemSchema = Joi.object({
6
+ description: Joi.string().optional(),
7
+ quantity: Joi.number().optional(),
8
+ value: CurrencySchema.optional(),
9
+ country_of_origin: Joi.string().optional(),
10
+ harmonized_tariff_code: Joi.string().optional(),
11
+ sku: Joi.string().optional(),
12
+ sku_description: Joi.string().optional(),
13
+ item_weight: WeightDetailsSchema.optional(),
14
+ product_url: Joi.string().optional(),
15
+ vat_rate: Joi.number().optional(),
16
+ mid_code: Joi.string().optional(),
17
+ });
@@ -0,0 +1,4 @@
1
+ import Joi from 'joi';
2
+ import { CustomsNonDelivery } from './customs-non-delivery';
3
+
4
+ export const CustomsNonDeliverySchema = Joi.string().valid(...Object.values(CustomsNonDelivery));
@@ -0,0 +1,21 @@
1
+ import Joi from 'joi';
2
+ import { CustomsContentTypesSchema } from './customs-content-types-schema';
3
+ import { CustomsNonDeliverySchema } from './customs-non-delivery-schema';
4
+ import { CustomsItemSchema } from './customs-item-schema';
5
+ import { CurrencySchema } from '../currency-schema';
6
+ import { TermsOfTradeCodeSchema } from '../inconterms/terms-of-trade-code-schema';
7
+ import { ImporterOfRecordSchema } from '../importer-records/importer-of-record-schema';
8
+ import { CustomsChargesSchema } from './customs-charges-schema';
9
+
10
+ export const CustomsSchema = Joi.object({
11
+ contents: CustomsContentTypesSchema.optional(),
12
+ non_delivery: CustomsNonDeliverySchema.optional(),
13
+ customs_items: Joi.array().items(CustomsItemSchema).required(),
14
+ buyer_shipping_amount_paid: CurrencySchema.optional(),
15
+ duties_paid: CurrencySchema.optional(),
16
+ declaration: Joi.string().optional(),
17
+ termsOfTradeCode: TermsOfTradeCodeSchema.optional(),
18
+ importer_of_record: ImporterOfRecordSchema.optional(),
19
+ invoice_additional_details: CustomsChargesSchema.optional(),
20
+ contents_explanation: Joi.string().optional(),
21
+ });
@@ -3,7 +3,7 @@ import { CustomsNonDelivery } from './customs-non-delivery';
3
3
  import { CustomsItem } from './customs-item';
4
4
  import { Currency } from '../currency';
5
5
  import { TermsOfTradeCode } from '../inconterms/terms-of-trade-code';
6
- import { ImporterOfRecord } from '../importer-records/importer_of_record';
6
+ import { ImporterOfRecord } from '../importer-records/importer-of-record';
7
7
  import { CustomsCharges } from './customs-charges';
8
8
 
9
9
  /** @description Basic structure for a customs declaration */
@@ -21,7 +21,7 @@ export class Customs {
21
21
  /** @description Declaration statement to be placed on the commercial invoice */
22
22
  declaration?: string;
23
23
  /** @description Incoterms specify who is responsible for paying for and managing the shipment*/
24
- terms_of_trade_code?: TermsOfTradeCode;
24
+ termsOfTradeCode?: TermsOfTradeCode;
25
25
  /** @description The owner or purchaser of the products being imported into a destination country.*/
26
26
  importer_of_record?: ImporterOfRecord;
27
27
  /** @description The charges related with customs.*/
@@ -0,0 +1,16 @@
1
+ import Joi from 'joi';
2
+ import { TaxIdentifierSchema } from '../taxes/tax-identifier-schema';
3
+
4
+ export const ImporterOfRecordSchema = Joi.object({
5
+ tax_identifiers: Joi.array().items(TaxIdentifierSchema).optional(),
6
+ name: Joi.string().optional(),
7
+ company_name: Joi.string().optional(),
8
+ address_line1: Joi.string().required(),
9
+ address_line2: Joi.string().optional(),
10
+ city_locality: Joi.string().optional(),
11
+ state_province: Joi.string().optional(),
12
+ postal_code: Joi.string().optional(),
13
+ country_code: Joi.string().optional(),
14
+ phone: Joi.string().optional(),
15
+ email: Joi.string().optional(),
16
+ });
@@ -0,0 +1,4 @@
1
+ import Joi from 'joi';
2
+ import { TermsOfTradeCode } from './terms-of-trade-code';
3
+
4
+ export const TermsOfTradeCodeSchema = Joi.string().valid(...Object.values(TermsOfTradeCode));
@@ -1,8 +1,6 @@
1
1
  export * from './addresses';
2
2
  export * from './advanced-options';
3
3
  export * from './authorization';
4
- export * from './cod-payment-type';
5
- export * from './collect-on-delivery';
6
4
  export * from './billing';
7
5
  export * from './confirmation-types';
8
6
  export * from './currency-schema';
@@ -32,4 +30,3 @@ export * from './time-window-schema';
32
30
  export * from './time-window';
33
31
  export * from './tracking';
34
32
  export * from './units';
35
- export * from './bill-to';
@@ -0,0 +1,7 @@
1
+ import Joi from 'joi';
2
+
3
+ export const LabelMessageSchema = Joi.object({
4
+ reference1: Joi.string().optional(),
5
+ reference2: Joi.string().optional(),
6
+ reference3: Joi.string().optional(),
7
+ });
@@ -0,0 +1,21 @@
1
+ import Joi from 'joi';
2
+ import { IdentifierSchema } from '../identifier-schema';
3
+ import { DimensionsSchema } from '../units';
4
+ import { CurrencySchema } from '../currency-schema';
5
+ import { DimensionDetailsSchema } from '../units/dimension-details-schema';
6
+ import { WeightDetailsSchema } from '../units/weight-details-schema';
7
+ import { LabelMessageSchema } from '../labels/label-message-schema';
8
+ import { CustomsSchema } from '../customs/customs-schema';
9
+
10
+ export const ShippedPackageSchema = Joi.object({
11
+ tracking_number: Joi.string().optional(),
12
+ alternative_identifiers: Joi.array().items(IdentifierSchema).optional(),
13
+ dimension_details: DimensionDetailsSchema.optional(),
14
+ weight_details: WeightDetailsSchema.optional(),
15
+ package_code: Joi.string().optional(),
16
+ weight: Joi.number().optional(),
17
+ dimensions: DimensionsSchema.optional(),
18
+ insured_value: CurrencySchema.required(),
19
+ label_messages: LabelMessageSchema.optional(),
20
+ customs: CustomsSchema.optional(),
21
+ });
@@ -0,0 +1,18 @@
1
+ import Joi from 'joi';
2
+ import { IdentifierSchema } from '../../models';
3
+ import { ShipToSchema } from '../addresses/ship-to-schema';
4
+ import { ShippedPackageSchema } from './shipped-package-schema';
5
+ import { AdvancedOptionsSchema } from '../advanced-options-schema';
6
+ import { PudoLocationSchema } from '../addresses/pudo-location-schema';
7
+
8
+ export const ShippedShipmentSchema = Joi.object({
9
+ tracking_number: Joi.string().optional(),
10
+ ship_to: ShipToSchema.optional(),
11
+ alternative_identifiers: Joi.array().items(IdentifierSchema).optional(),
12
+ service_code: Joi.string().optional(),
13
+ packages: Joi.array().items(ShippedPackageSchema).optional(),
14
+ advanced_options: AdvancedOptionsSchema.optional(),
15
+ pickup_location: PudoLocationSchema.optional(),
16
+ });
17
+
18
+ export const PickupShipment = ShippedShipmentSchema;
@@ -0,0 +1,9 @@
1
+ import Joi from 'joi';
2
+ import { TaxIdentifierTypeSchema } from './tax-identifier-type-schema';
3
+
4
+ export const TaxIdentifierSchema = Joi.object({
5
+ id: Joi.string(),
6
+ type: TaxIdentifierTypeSchema,
7
+ registration_county: Joi.string().optional(),
8
+ description: Joi.string().optional(),
9
+ });
@@ -0,0 +1,4 @@
1
+ import Joi from 'joi';
2
+ import { TaxIdentifierType } from './tax-identifier-type';
3
+
4
+ export const TaxIdentifierTypeSchema = Joi.string().valid(...Object.values(TaxIdentifierType));
@@ -6,10 +6,8 @@ export class TaxIdentifier {
6
6
  id!: string;
7
7
  /** @description The Tax ID type */
8
8
  type!: TaxIdentifierType;
9
- /** @deprecated This property has been deprecated, please use registration_country instead */
10
- registration_county?: string;
11
9
  /** @description The country where the Tax ID is registered with */
12
- registration_country?: string;
10
+ registration_county?: string;
13
11
  /** @description Description of the tax ID that may give the customs agent more context */
14
12
  description?: string;
15
13
  }
@@ -0,0 +1,10 @@
1
+ import Joi from 'joi';
2
+ import { DimensionsSchema } from './dimensions-schema';
3
+ import { DimensionUnitSchema } from './dimension-unit-schema';
4
+
5
+ export const DimensionDetailsSchema = Joi.object({
6
+ dimensions_in_centimeters: DimensionsSchema.optional(),
7
+ dimensions_in_inches: DimensionsSchema.optional(),
8
+ source_dimensions: DimensionsSchema.optional(),
9
+ source_dimension_unit: DimensionUnitSchema.required(),
10
+ });
@@ -0,0 +1,4 @@
1
+ import Joi from 'joi';
2
+ import { DimensionUnit } from './dimension-unit';
3
+
4
+ export const DimensionUnitSchema = Joi.string().valid(...Object.values(DimensionUnit));
@@ -0,0 +1,9 @@
1
+ import Joi from 'joi';
2
+ import { WeightUnitSchema } from './weight-unit-schema';
3
+
4
+ export const WeightDetailsSchema = Joi.object({
5
+ weight_in_ounces: Joi.number().optional,
6
+ weight_in_grams: Joi.number().optional,
7
+ source_weight: Joi.number().optional,
8
+ source_weight_unit: WeightUnitSchema.required(),
9
+ });
@@ -0,0 +1,4 @@
1
+ import Joi from 'joi';
2
+ import { WeightUnit } from './weight-unit';
3
+
4
+ export const WeightUnitSchema = Joi.string().valid(...Object.values(WeightUnit));
@@ -0,0 +1,8 @@
1
+ import Joi from 'joi';
2
+ import { AuthorizationSchema } from '../models/authorization-schema';
3
+
4
+ export const BaseRequestSchema = Joi.object({
5
+ transaction_id: Joi.string().required(),
6
+ authorization: AuthorizationSchema.optional(),
7
+ metadata: Joi.object().pattern(/.*/, [Joi.any()]).optional(),
8
+ });
@@ -0,0 +1,8 @@
1
+ import Joi from 'joi';
2
+ import { BaseRequestSchema } from './base-request-schema';
3
+ import { ShippedShipmentSchema } from '../models/pickup/shipped-shipment-schema';
4
+
5
+ export const CancelNotificationRequestSchema = BaseRequestSchema.keys({
6
+ notification_id: Joi.string().required(),
7
+ shipment_information: ShippedShipmentSchema.required(),
8
+ });
@@ -17,7 +17,6 @@ import {
17
17
  RelayPointDetails,
18
18
  DisplayScheme,
19
19
  Customs,
20
- BillTo,
21
20
  } from '../models';
22
21
 
23
22
  /** @description Basic structure for a request to create a label */
@@ -55,6 +54,4 @@ export class CreateLabelRequest extends BaseRequest {
55
54
  /** @description Display schemes that the label will be returned in. Label is returned by default */
56
55
  display_schemes?: DisplayScheme[];
57
56
  customs?: Customs;
58
- /** @description Bill the shipping charges to this entity. If null, it should be assumed the "shipper" is responsible for the shipping charges. */
59
- bill_shipping_to?: BillTo;
60
57
  }
@@ -10,7 +10,6 @@ import {
10
10
  PudoLocation,
11
11
  FulfillmentPlanDetails,
12
12
  TimeWindow,
13
- BillTo,
14
13
  } from '../models';
15
14
  import { ShipmentItem } from '../models/shipment-item';
16
15
 
@@ -34,6 +33,4 @@ export class GetRatesRequest extends BaseRequest {
34
33
  carrier_pickup_window?: TimeWindow;
35
34
  /** Items included in the shipment */
36
35
  items?: ShipmentItem[];
37
- /** @description Bill the shipping charges to this entity. If null, it should be assumed the "shipper" is responsible for the shipping charges. */
38
- bill_shipping_to?: BillTo;
39
36
  }