diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b5b032fc5..d0ba3c410d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,22 @@ +# Karrio 2024.9 + +## Changes + +### Feat + +- feat: Easyship integration (#569) +- feat: Add `pickup` support for `fedex` JSON API integration (#690) +- feat: introduce `shipping_date` field of `datetime` type and deprecate `shipment_date` of `date` type to capture time for carriers that expect full future `datetime` ship date values. +- feat: Add dhl_express content description for insurance (#694) + +### Fix + +- fix: `eshipper` carrier and services mapping (#675) +- fix: `canadapost` non-uniq shipment group_id across account (#679) +- fix: `fedex_ws` pickup request encoding (#690) +- fix: organization GraphQL queries running on OSS build (#687) +- fix: Nextjs cache build issue (#688) + # Patch 2024.6.7 ## Changes @@ -618,8 +637,8 @@ Special thanks to @jacobshilitz for the powerful performance fix for API log ind - Introduce the Karrio admin server module with an admin GraphQL API - Lay the foundation of the Karrio admin dashboard in the same codebase as the current dashboard# Karrio patch 2023.9.3 -- [x] (fix) **DEFAULT_SERVICE** imports for carriers with custom rate sheets -- [x] (fix) `dhl_express` paperless trade option processing# Karrio patch 2023.9.2 +- (fix) **DEFAULT_SERVICE** imports for carriers with custom rate sheets +- (fix) `dhl_express` paperless trade option processing# Karrio patch 2023.9.2 - (refactor) Enum types and various usages due to related breaking changes in `Python 11` - (update) docker base images to `python:3.12-slim` and development image to `python:3.12-slim-bullseye` to improve development on Mac M chips# Karrio patch 2023.9.1 - (merge) `dhl_express` dutiable fix by @DarkSwoop diff --git a/apps/api/karrio/server/VERSION b/apps/api/karrio/server/VERSION index a158852313..9bc54a862c 100644 --- a/apps/api/karrio/server/VERSION +++ b/apps/api/karrio/server/VERSION @@ -1 +1 @@ -2024.6.7 \ No newline at end of file +2024.9 \ No newline at end of file diff --git a/apps/api/karrio/server/static/karrio/js/karrio.js b/apps/api/karrio/server/static/karrio/js/karrio.js index 2881657e0c..b30276583b 100644 --- a/apps/api/karrio/server/static/karrio/js/karrio.js +++ b/apps/api/karrio/server/static/karrio/js/karrio.js @@ -87,6 +87,18 @@ var Karrio = (function () { }; /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ var BASE_PATH = "http://localhost".replace(/\/+$/, ""); var Configuration = /** @class */ (function () { function Configuration(configuration) { @@ -496,6 +508,21 @@ var Karrio = (function () { }()); /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the AddressValidation interface. + */ function AddressValidationFromJSON(json) { return AddressValidationFromJSONTyped(json); } @@ -519,6 +546,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function AddressFromJSON(json) { return AddressFromJSONTyped(json); } @@ -574,6 +613,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ function AddressDataFromJSON(json) { return AddressDataFromJSONTyped(json); } @@ -623,6 +677,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function AddressListFromJSON(json) { return AddressListFromJSONTyped(json); } @@ -639,6 +705,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ /** * Check if a given object implements the AlliedExpress interface. */ @@ -673,6 +754,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ /** * Check if a given object implements the AlliedExpressLocal interface. */ @@ -710,9 +806,9 @@ var Karrio = (function () { /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.7 + * The version of the OpenAPI document: 2024.9 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -760,9 +856,9 @@ var Karrio = (function () { /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.7 + * The version of the OpenAPI document: 2024.9 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -818,9 +914,9 @@ var Karrio = (function () { /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.7 + * The version of the OpenAPI document: 2024.9 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -866,9 +962,9 @@ var Karrio = (function () { /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.7 + * The version of the OpenAPI document: 2024.9 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -909,6 +1005,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ function BatchObjectFromJSON(json) { return BatchObjectFromJSONTyped(json); } @@ -924,6 +1035,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function BatchOperationFromJSON(json) { return BatchOperationFromJSONTyped(json); } @@ -943,6 +1066,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function BatchOperationsFromJSON(json) { return BatchOperationsFromJSONTyped(json); } @@ -959,6 +1094,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ function CommodityDataToJSON(value) { if (value == null) { return value; @@ -980,6 +1130,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function OrderDataToJSON(value) { if (value == null) { return value; @@ -998,6 +1160,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function BatchOrderDataToJSON(value) { if (value == null) { return value; @@ -1008,6 +1182,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ function PaymentFromJSON(json) { return PaymentFromJSONTyped(json); } @@ -1033,6 +1222,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ function DutyFromJSON(json) { return DutyFromJSONTyped(json); } @@ -1060,6 +1264,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function CustomsDataToJSON(value) { if (value == null) { return value; @@ -1081,6 +1297,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function ParcelDataToJSON(value) { if (value == null) { return value; @@ -1105,6 +1333,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function ShipmentDataReferenceToJSON(value) { if (value == null) { return value; @@ -1129,6 +1369,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function BatchShipmentDataToJSON(value) { if (value == null) { return value; @@ -1139,6 +1391,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the TrackingInfo interface. + */ function TrackingInfoFromJSON(json) { return TrackingInfoFromJSONTyped(json); } @@ -1196,6 +1463,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function TrackingDataToJSON(value) { if (value == null) { return value; @@ -1211,6 +1490,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function BatchTrackerDataToJSON(value) { if (value == null) { return value; @@ -1224,9 +1515,9 @@ var Karrio = (function () { /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.7 + * The version of the OpenAPI document: 2024.9 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -1266,9 +1557,9 @@ var Karrio = (function () { /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.7 + * The version of the OpenAPI document: 2024.9 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -1305,6 +1596,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ /** * Check if a given object implements the Canadapost interface. */ @@ -1341,12 +1647,27 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ /** - * Check if a given object implements the Canpar interface. - */ - function instanceOfCanpar(value) { - if (!('username' in value) || value['username'] === undefined) - return false; + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ + /** + * Check if a given object implements the Canpar interface. + */ + function instanceOfCanpar(value) { + if (!('username' in value) || value['username'] === undefined) + return false; if (!('password' in value) || value['password'] === undefined) return false; return true; @@ -1373,6 +1694,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ /** * Check if a given object implements the Chronopost interface. */ @@ -1410,9 +1746,9 @@ var Karrio = (function () { /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.7 + * The version of the OpenAPI document: 2024.9 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -1454,9 +1790,9 @@ var Karrio = (function () { /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.7 + * The version of the OpenAPI document: 2024.9 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -1500,9 +1836,9 @@ var Karrio = (function () { /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.7 + * The version of the OpenAPI document: 2024.9 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -1552,9 +1888,9 @@ var Karrio = (function () { /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.7 + * The version of the OpenAPI document: 2024.9 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -1593,6 +1929,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ /** * Check if a given object implements the DhlUniversal interface. */ @@ -1628,9 +1979,9 @@ var Karrio = (function () { /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.7 + * The version of the OpenAPI document: 2024.9 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -1672,9 +2023,9 @@ var Karrio = (function () { /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.7 + * The version of the OpenAPI document: 2024.9 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -1720,9 +2071,9 @@ var Karrio = (function () { /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.7 + * The version of the OpenAPI document: 2024.9 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -1772,9 +2123,9 @@ var Karrio = (function () { /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.7 + * The version of the OpenAPI document: 2024.9 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -1810,9 +2161,47 @@ var Karrio = (function () { /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the Easyship interface. + */ + function instanceOfEasyship(value) { + if (!('access_token' in value) || value['access_token'] === undefined) + return false; + return true; + } + function EasyshipFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } + return { + 'access_token': json['access_token'], + }; + } + function EasyshipToJSON(value) { + if (value == null) { + return value; + } + return { + 'access_token': value['access_token'], + }; + } + + /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.7 + * The version of the OpenAPI document: 2024.9 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -1849,6 +2238,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the Fedex interface. + */ function FedexFromJSONTyped(json, ignoreDiscriminator) { if (json == null) { return json; @@ -1877,6 +2281,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function ConnectionCredentialsFieldFromJSON(json) { return ConnectionCredentialsFieldFromJSONTyped(json); } @@ -1944,6 +2360,9 @@ var Karrio = (function () { if (instanceOfEasypost(json)) { return EasypostFromJSONTyped(json); } + if (instanceOfEasyship(json)) { + return EasyshipFromJSONTyped(json); + } if (instanceOfEshipper(json)) { return EshipperFromJSONTyped(json); } @@ -2015,6 +2434,9 @@ var Karrio = (function () { if (instanceOfEasypost(value)) { return EasypostToJSON(value); } + if (instanceOfEasyship(value)) { + return EasyshipToJSON(value); + } if (instanceOfEshipper(value)) { return EshipperToJSON(value); } @@ -2024,6 +2446,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function CarrierConnectionFromJSON(json) { return CarrierConnectionFromJSONTyped(json); } @@ -2048,6 +2482,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function CarrierConnectionDataToJSON(value) { if (value == null) { return value; @@ -2064,6 +2510,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function CarrierConnectionListFromJSON(json) { return CarrierConnectionListFromJSONTyped(json); } @@ -2080,6 +2538,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ function CarrierDetailsFromJSON(json) { return CarrierDetailsFromJSONTyped(json); } @@ -2097,6 +2570,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the Charge interface. + */ function ChargeFromJSON(json) { return ChargeFromJSONTyped(json); } @@ -2122,6 +2610,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ function CommodityFromJSON(json) { return CommodityFromJSONTyped(json); } @@ -2169,6 +2672,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function CustomsFromJSON(json) { return CustomsFromJSONTyped(json); } @@ -2195,6 +2710,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the DocumentData interface. + */ function DocumentDataToJSON(value) { if (value == null) { return value; @@ -2209,6 +2739,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the DocumentDetails interface. + */ function DocumentDetailsFromJSON(json) { return DocumentDetailsFromJSONTyped(json); } @@ -2223,6 +2768,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the DocumentFileData interface. + */ function DocumentFileDataToJSON(value) { if (value == null) { return value; @@ -2236,6 +2796,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ function DocumentTemplateFromJSON(json) { return DocumentTemplateFromJSONTyped(json); } @@ -2257,6 +2832,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ function DocumentTemplateDataToJSON(value) { if (value == null) { return value; @@ -2273,6 +2863,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function DocumentTemplateListFromJSON(json) { return DocumentTemplateListFromJSONTyped(json); } @@ -2289,6 +2891,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function DocumentUploadDataToJSON(value) { if (value == null) { return value; @@ -2301,13 +2915,28 @@ var Karrio = (function () { } /* tslint:disable */ - function MessageFromJSON(json) { - return MessageFromJSONTyped(json); - } - function MessageFromJSONTyped(json, ignoreDiscriminator) { - if (json == null) { - return json; - } + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the Message interface. + */ + function MessageFromJSON(json) { + return MessageFromJSONTyped(json); + } + function MessageFromJSONTyped(json, ignoreDiscriminator) { + if (json == null) { + return json; + } return { 'message': json['message'] == null ? undefined : json['message'], 'code': json['code'] == null ? undefined : json['code'], @@ -2318,6 +2947,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function DocumentUploadRecordFromJSON(json) { return DocumentUploadRecordFromJSONTyped(json); } @@ -2337,6 +2978,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function DocumentUploadRecordsFromJSON(json) { return DocumentUploadRecordsFromJSONTyped(json); } @@ -2353,6 +3006,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the Documents interface. + */ function DocumentsFromJSON(json) { return DocumentsFromJSONTyped(json); } @@ -2367,6 +3035,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the GeneratedDocument interface. + */ function GeneratedDocumentFromJSON(json) { return GeneratedDocumentFromJSONTyped(json); } @@ -2383,6 +3066,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the Images interface. + */ function ImagesFromJSON(json) { return ImagesFromJSONTyped(json); } @@ -2397,6 +3095,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ function LineItemFromJSON(json) { return LineItemFromJSONTyped(json); } @@ -2424,6 +3137,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function ManifestFromJSON(json) { return ManifestFromJSONTyped(json); } @@ -2449,6 +3174,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function ManifestDataToJSON(value) { if (value == null) { return value; @@ -2463,6 +3200,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the ManifestDocument interface. + */ function ManifestDocumentFromJSON(json) { return ManifestDocumentFromJSONTyped(json); } @@ -2476,6 +3228,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function ManifestDetailsFromJSON(json) { return ManifestDetailsFromJSONTyped(json); } @@ -2495,6 +3259,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function ManifestListFromJSON(json) { return ManifestListFromJSONTyped(json); } @@ -2511,6 +3287,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function ManifestRequestToJSON(value) { if (value == null) { return value; @@ -2525,6 +3313,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function ManifestResponseFromJSON(json) { return ManifestResponseFromJSONTyped(json); } @@ -2539,6 +3339,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the Operation interface. + */ function OperationFromJSON(json) { return OperationFromJSONTyped(json); } @@ -2553,6 +3368,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the OperationConfirmation interface. + */ function OperationConfirmationFromJSON(json) { return OperationConfirmationFromJSONTyped(json); } @@ -2569,6 +3399,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function OperationResponseFromJSON(json) { return OperationResponseFromJSONTyped(json); } @@ -2583,6 +3425,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function ParcelFromJSON(json) { return ParcelFromJSONTyped(json); } @@ -2636,6 +3490,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function RateFromJSON(json) { return RateFromJSONTyped(json); } @@ -2679,6 +3545,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function ShipmentFromJSON(json) { return ShipmentFromJSONTyped(json); } @@ -2723,6 +3601,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function OrderFromJSON(json) { return OrderFromJSONTyped(json); } @@ -2751,6 +3641,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function OrderListFromJSON(json) { return OrderListFromJSONTyped(json); } @@ -2767,6 +3669,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the OrderUpdateData interface. + */ function OrderUpdateDataToJSON(value) { if (value == null) { return value; @@ -2778,6 +3695,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function ParcelListFromJSON(json) { return ParcelListFromJSONTyped(json); } @@ -2794,6 +3723,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ function PatchedAddressDataToJSON(value) { if (value == null) { return value; @@ -2818,6 +3762,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function PatchedCarrierConnectionDataToJSON(value) { if (value == null) { return value; @@ -2834,6 +3790,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ function PatchedDocumentTemplateDataToJSON(value) { if (value == null) { return value; @@ -2850,6 +3821,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function PatchedParcelDataToJSON(value) { if (value == null) { return value; @@ -2874,6 +3857,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ function PatchedWebhookDataToJSON(value) { if (value == null) { return value; @@ -2887,6 +3885,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function PickupFromJSON(json) { return PickupFromJSONTyped(json); } @@ -2916,6 +3926,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the PickupCancelData interface. + */ function PickupCancelDataToJSON(value) { if (value == null) { return value; @@ -2926,6 +3951,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function PickupCancelRequestToJSON(value) { if (value == null) { return value; @@ -2939,6 +3976,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function PickupDataToJSON(value) { if (value == null) { return value; @@ -2957,6 +4006,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function PickupListFromJSON(json) { return PickupListFromJSONTyped(json); } @@ -2973,6 +4034,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function PickupRequestToJSON(value) { if (value == null) { return value; @@ -2990,6 +4063,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function PickupResponseFromJSON(json) { return PickupResponseFromJSONTyped(json); } @@ -3004,6 +4089,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function PickupUpdateDataToJSON(value) { if (value == null) { return value; @@ -3023,6 +4120,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function PickupUpdateRequestToJSON(value) { if (value == null) { return value; @@ -3041,6 +4150,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function RateRequestToJSON(value) { if (value == null) { return value; @@ -3057,6 +4178,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function RateResponseFromJSON(json) { return RateResponseFromJSONTyped(json); } @@ -3071,6 +4204,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the ShipmentCancelRequest interface. + */ function ShipmentCancelRequestToJSON(value) { if (value == null) { return value; @@ -3084,6 +4232,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function ShipmentDataToJSON(value) { if (value == null) { return value; @@ -3107,6 +4267,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function ShipmentPurchaseDataToJSON(value) { if (value == null) { return value; @@ -3121,6 +4293,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the ShipmentRateData interface. + */ function ShipmentRateDataToJSON(value) { if (value == null) { return value; @@ -3135,6 +4322,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function ShipmentUpdateDataToJSON(value) { if (value == null) { return value; @@ -3149,6 +4348,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function ShippingRequestToJSON(value) { if (value == null) { return value; @@ -3170,6 +4381,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function ShippingResponseFromJSON(json) { return ShippingResponseFromJSONTyped(json); } @@ -3213,6 +4436,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the TrackingEvent interface. + */ function TrackingEventFromJSON(json) { return TrackingEventFromJSONTyped(json); } @@ -3232,6 +4470,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function TrackerDetailsFromJSON(json) { return TrackerDetailsFromJSONTyped(json); } @@ -3259,6 +4509,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function TrackingStatusFromJSON(json) { return TrackingStatusFromJSONTyped(json); } @@ -3287,6 +4549,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function TrackerListFromJSON(json) { return TrackerListFromJSONTyped(json); } @@ -3303,6 +4577,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function TrackerUpdateDataToJSON(value) { if (value == null) { return value; @@ -3314,6 +4600,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function TrackingResponseFromJSON(json) { return TrackingResponseFromJSONTyped(json); } @@ -3328,6 +4626,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ function WebhookFromJSON(json) { return WebhookFromJSONTyped(json); } @@ -3349,6 +4662,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * @export + */ function WebhookDataToJSON(value) { if (value == null) { return value; @@ -3362,6 +4690,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ function WebhookListFromJSON(json) { return WebhookListFromJSONTyped(json); } @@ -3378,6 +4718,21 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + /** + * Check if a given object implements the WebhookTestRequest interface. + */ function WebhookTestRequestToJSON(value) { if (value == null) { return value; @@ -3388,6 +4743,18 @@ var Karrio = (function () { } /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ /** * */ @@ -3771,6 +5138,18 @@ var Karrio = (function () { }(BaseAPI)); /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ /** * */ @@ -3865,6 +5244,18 @@ var Karrio = (function () { }(BaseAPI)); /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ /** * */ @@ -3966,6 +5357,18 @@ var Karrio = (function () { }(BaseAPI)); /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ /** * */ @@ -4365,6 +5768,18 @@ var Karrio = (function () { }(BaseAPI)); /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ /** * */ @@ -4748,6 +6163,18 @@ var Karrio = (function () { }(BaseAPI)); /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ /** * */ @@ -5139,6 +6566,18 @@ var Karrio = (function () { }(BaseAPI)); /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ /** * */ @@ -5856,6 +7295,18 @@ var Karrio = (function () { }(BaseAPI)); /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ /** * */ @@ -6449,6 +7900,18 @@ var Karrio = (function () { }(BaseAPI)); /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ /** * */ @@ -6942,6 +8405,18 @@ var Karrio = (function () { }(BaseAPI)); /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ /** * */ @@ -7404,6 +8879,18 @@ var Karrio = (function () { }(BaseAPI)); /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ /** * */ @@ -7863,6 +9350,18 @@ var Karrio = (function () { }(BaseAPI)); /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ /** * */ @@ -8353,6 +9852,18 @@ var Karrio = (function () { }(BaseAPI)); /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ /** * */ @@ -9041,6 +10552,18 @@ var Karrio = (function () { }(BaseAPI)); /* tslint:disable */ + /* eslint-disable */ + /** + * Karrio API + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * + * The version of the OpenAPI document: 2024.9 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ /** * */ diff --git a/apps/api/karrio/server/static/karrio/js/karrio.js.map b/apps/api/karrio/server/static/karrio/js/karrio.js.map index 3c886a5832..61f38647df 100644 --- a/apps/api/karrio/server/static/karrio/js/karrio.js.map +++ b/apps/api/karrio/server/static/karrio/js/karrio.js.map @@ -1 +1 @@ -{"version":3,"file":"karrio.js","sources":["../../../../../../../node_modules/tslib/tslib.es6.js","../../../../../../../packages/karriojs/api/generated/runtime.ts","../../../../../../../packages/karriojs/api/generated/models/AddressValidation.ts","../../../../../../../packages/karriojs/api/generated/models/Address.ts","../../../../../../../packages/karriojs/api/generated/models/AddressData.ts","../../../../../../../packages/karriojs/api/generated/models/AddressList.ts","../../../../../../../packages/karriojs/api/generated/models/AlliedExpress.ts","../../../../../../../packages/karriojs/api/generated/models/AlliedExpressLocal.ts","../../../../../../../packages/karriojs/api/generated/models/AmazonShipping.ts","../../../../../../../packages/karriojs/api/generated/models/Aramex.ts","../../../../../../../packages/karriojs/api/generated/models/AsendiaUs.ts","../../../../../../../packages/karriojs/api/generated/models/Australiapost.ts","../../../../../../../packages/karriojs/api/generated/models/BatchObject.ts","../../../../../../../packages/karriojs/api/generated/models/BatchOperation.ts","../../../../../../../packages/karriojs/api/generated/models/BatchOperations.ts","../../../../../../../packages/karriojs/api/generated/models/CommodityData.ts","../../../../../../../packages/karriojs/api/generated/models/OrderData.ts","../../../../../../../packages/karriojs/api/generated/models/BatchOrderData.ts","../../../../../../../packages/karriojs/api/generated/models/Payment.ts","../../../../../../../packages/karriojs/api/generated/models/Duty.ts","../../../../../../../packages/karriojs/api/generated/models/CustomsData.ts","../../../../../../../packages/karriojs/api/generated/models/ParcelData.ts","../../../../../../../packages/karriojs/api/generated/models/ShipmentDataReference.ts","../../../../../../../packages/karriojs/api/generated/models/BatchShipmentData.ts","../../../../../../../packages/karriojs/api/generated/models/TrackingInfo.ts","../../../../../../../packages/karriojs/api/generated/models/TrackingData.ts","../../../../../../../packages/karriojs/api/generated/models/BatchTrackerData.ts","../../../../../../../packages/karriojs/api/generated/models/Boxknight.ts","../../../../../../../packages/karriojs/api/generated/models/Bpost.ts","../../../../../../../packages/karriojs/api/generated/models/Canadapost.ts","../../../../../../../packages/karriojs/api/generated/models/Canpar.ts","../../../../../../../packages/karriojs/api/generated/models/Chronopost.ts","../../../../../../../packages/karriojs/api/generated/models/Colissimo.ts","../../../../../../../packages/karriojs/api/generated/models/DhlExpress.ts","../../../../../../../packages/karriojs/api/generated/models/DhlParcelDe.ts","../../../../../../../packages/karriojs/api/generated/models/DhlPoland.ts","../../../../../../../packages/karriojs/api/generated/models/DhlUniversal.ts","../../../../../../../packages/karriojs/api/generated/models/Dicom.ts","../../../../../../../packages/karriojs/api/generated/models/Dpd.ts","../../../../../../../packages/karriojs/api/generated/models/Dpdhl.ts","../../../../../../../packages/karriojs/api/generated/models/Easypost.ts","../../../../../../../packages/karriojs/api/generated/models/Eshipper.ts","../../../../../../../packages/karriojs/api/generated/models/Fedex.ts","../../../../../../../packages/karriojs/api/generated/models/ConnectionCredentialsField.ts","../../../../../../../packages/karriojs/api/generated/models/CarrierConnection.ts","../../../../../../../packages/karriojs/api/generated/models/CarrierConnectionData.ts","../../../../../../../packages/karriojs/api/generated/models/CarrierConnectionList.ts","../../../../../../../packages/karriojs/api/generated/models/CarrierDetails.ts","../../../../../../../packages/karriojs/api/generated/models/Charge.ts","../../../../../../../packages/karriojs/api/generated/models/Commodity.ts","../../../../../../../packages/karriojs/api/generated/models/Customs.ts","../../../../../../../packages/karriojs/api/generated/models/DocumentData.ts","../../../../../../../packages/karriojs/api/generated/models/DocumentDetails.ts","../../../../../../../packages/karriojs/api/generated/models/DocumentFileData.ts","../../../../../../../packages/karriojs/api/generated/models/DocumentTemplate.ts","../../../../../../../packages/karriojs/api/generated/models/DocumentTemplateData.ts","../../../../../../../packages/karriojs/api/generated/models/DocumentTemplateList.ts","../../../../../../../packages/karriojs/api/generated/models/DocumentUploadData.ts","../../../../../../../packages/karriojs/api/generated/models/Message.ts","../../../../../../../packages/karriojs/api/generated/models/DocumentUploadRecord.ts","../../../../../../../packages/karriojs/api/generated/models/DocumentUploadRecords.ts","../../../../../../../packages/karriojs/api/generated/models/Documents.ts","../../../../../../../packages/karriojs/api/generated/models/GeneratedDocument.ts","../../../../../../../packages/karriojs/api/generated/models/Images.ts","../../../../../../../packages/karriojs/api/generated/models/LineItem.ts","../../../../../../../packages/karriojs/api/generated/models/Manifest.ts","../../../../../../../packages/karriojs/api/generated/models/ManifestData.ts","../../../../../../../packages/karriojs/api/generated/models/ManifestDocument.ts","../../../../../../../packages/karriojs/api/generated/models/ManifestDetails.ts","../../../../../../../packages/karriojs/api/generated/models/ManifestList.ts","../../../../../../../packages/karriojs/api/generated/models/ManifestRequest.ts","../../../../../../../packages/karriojs/api/generated/models/ManifestResponse.ts","../../../../../../../packages/karriojs/api/generated/models/Operation.ts","../../../../../../../packages/karriojs/api/generated/models/OperationConfirmation.ts","../../../../../../../packages/karriojs/api/generated/models/OperationResponse.ts","../../../../../../../packages/karriojs/api/generated/models/Parcel.ts","../../../../../../../packages/karriojs/api/generated/models/Rate.ts","../../../../../../../packages/karriojs/api/generated/models/Shipment.ts","../../../../../../../packages/karriojs/api/generated/models/Order.ts","../../../../../../../packages/karriojs/api/generated/models/OrderList.ts","../../../../../../../packages/karriojs/api/generated/models/OrderUpdateData.ts","../../../../../../../packages/karriojs/api/generated/models/ParcelList.ts","../../../../../../../packages/karriojs/api/generated/models/PatchedAddressData.ts","../../../../../../../packages/karriojs/api/generated/models/PatchedCarrierConnectionData.ts","../../../../../../../packages/karriojs/api/generated/models/PatchedDocumentTemplateData.ts","../../../../../../../packages/karriojs/api/generated/models/PatchedParcelData.ts","../../../../../../../packages/karriojs/api/generated/models/PatchedWebhookData.ts","../../../../../../../packages/karriojs/api/generated/models/Pickup.ts","../../../../../../../packages/karriojs/api/generated/models/PickupCancelData.ts","../../../../../../../packages/karriojs/api/generated/models/PickupCancelRequest.ts","../../../../../../../packages/karriojs/api/generated/models/PickupData.ts","../../../../../../../packages/karriojs/api/generated/models/PickupList.ts","../../../../../../../packages/karriojs/api/generated/models/PickupRequest.ts","../../../../../../../packages/karriojs/api/generated/models/PickupResponse.ts","../../../../../../../packages/karriojs/api/generated/models/PickupUpdateData.ts","../../../../../../../packages/karriojs/api/generated/models/PickupUpdateRequest.ts","../../../../../../../packages/karriojs/api/generated/models/RateRequest.ts","../../../../../../../packages/karriojs/api/generated/models/RateResponse.ts","../../../../../../../packages/karriojs/api/generated/models/ShipmentCancelRequest.ts","../../../../../../../packages/karriojs/api/generated/models/ShipmentData.ts","../../../../../../../packages/karriojs/api/generated/models/ShipmentPurchaseData.ts","../../../../../../../packages/karriojs/api/generated/models/ShipmentRateData.ts","../../../../../../../packages/karriojs/api/generated/models/ShipmentUpdateData.ts","../../../../../../../packages/karriojs/api/generated/models/ShippingRequest.ts","../../../../../../../packages/karriojs/api/generated/models/ShippingResponse.ts","../../../../../../../packages/karriojs/api/generated/models/TrackingEvent.ts","../../../../../../../packages/karriojs/api/generated/models/TrackerDetails.ts","../../../../../../../packages/karriojs/api/generated/models/TrackingStatus.ts","../../../../../../../packages/karriojs/api/generated/models/TrackerList.ts","../../../../../../../packages/karriojs/api/generated/models/TrackerUpdateData.ts","../../../../../../../packages/karriojs/api/generated/models/TrackingResponse.ts","../../../../../../../packages/karriojs/api/generated/models/Webhook.ts","../../../../../../../packages/karriojs/api/generated/models/WebhookData.ts","../../../../../../../packages/karriojs/api/generated/models/WebhookList.ts","../../../../../../../packages/karriojs/api/generated/models/WebhookTestRequest.ts","../../../../../../../packages/karriojs/api/generated/apis/AddressesApi.ts","../../../../../../../packages/karriojs/api/generated/apis/APIApi.ts","../../../../../../../packages/karriojs/api/generated/apis/CarriersApi.ts","../../../../../../../packages/karriojs/api/generated/apis/ConnectionsApi.ts","../../../../../../../packages/karriojs/api/generated/apis/ParcelsApi.ts","../../../../../../../packages/karriojs/api/generated/apis/PickupsApi.ts","../../../../../../../packages/karriojs/api/generated/apis/ProxyApi.ts","../../../../../../../packages/karriojs/api/generated/apis/ShipmentsApi.ts","../../../../../../../packages/karriojs/api/generated/apis/TrackersApi.ts","../../../../../../../packages/karriojs/api/generated/apis/WebhooksApi.ts","../../../../../../../packages/karriojs/api/generated/apis/OrdersApi.ts","../../../../../../../packages/karriojs/api/generated/apis/BatchesApi.ts","../../../../../../../packages/karriojs/api/generated/apis/DocumentsApi.ts","../../../../../../../packages/karriojs/api/generated/apis/ManifestsApi.ts","../../../../../../../packages/karriojs/api/index.ts","../../../../../../../packages/karriojs/api/karrio.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["runtime.RequiredError","runtime.JSONApiResponse","runtime.BaseAPI","canConsumeForm","runtime.canConsumeForm"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"karrio.js","sources":["../../../../../../../node_modules/tslib/tslib.es6.js","../../../../../../../packages/karriojs/api/generated/runtime.ts","../../../../../../../packages/karriojs/api/generated/models/AddressValidation.ts","../../../../../../../packages/karriojs/api/generated/models/Address.ts","../../../../../../../packages/karriojs/api/generated/models/AddressData.ts","../../../../../../../packages/karriojs/api/generated/models/AddressList.ts","../../../../../../../packages/karriojs/api/generated/models/AlliedExpress.ts","../../../../../../../packages/karriojs/api/generated/models/AlliedExpressLocal.ts","../../../../../../../packages/karriojs/api/generated/models/AmazonShipping.ts","../../../../../../../packages/karriojs/api/generated/models/Aramex.ts","../../../../../../../packages/karriojs/api/generated/models/AsendiaUs.ts","../../../../../../../packages/karriojs/api/generated/models/Australiapost.ts","../../../../../../../packages/karriojs/api/generated/models/BatchObject.ts","../../../../../../../packages/karriojs/api/generated/models/BatchOperation.ts","../../../../../../../packages/karriojs/api/generated/models/BatchOperations.ts","../../../../../../../packages/karriojs/api/generated/models/CommodityData.ts","../../../../../../../packages/karriojs/api/generated/models/OrderData.ts","../../../../../../../packages/karriojs/api/generated/models/BatchOrderData.ts","../../../../../../../packages/karriojs/api/generated/models/Payment.ts","../../../../../../../packages/karriojs/api/generated/models/Duty.ts","../../../../../../../packages/karriojs/api/generated/models/CustomsData.ts","../../../../../../../packages/karriojs/api/generated/models/ParcelData.ts","../../../../../../../packages/karriojs/api/generated/models/ShipmentDataReference.ts","../../../../../../../packages/karriojs/api/generated/models/BatchShipmentData.ts","../../../../../../../packages/karriojs/api/generated/models/TrackingInfo.ts","../../../../../../../packages/karriojs/api/generated/models/TrackingData.ts","../../../../../../../packages/karriojs/api/generated/models/BatchTrackerData.ts","../../../../../../../packages/karriojs/api/generated/models/Boxknight.ts","../../../../../../../packages/karriojs/api/generated/models/Bpost.ts","../../../../../../../packages/karriojs/api/generated/models/Canadapost.ts","../../../../../../../packages/karriojs/api/generated/models/Canpar.ts","../../../../../../../packages/karriojs/api/generated/models/Chronopost.ts","../../../../../../../packages/karriojs/api/generated/models/Colissimo.ts","../../../../../../../packages/karriojs/api/generated/models/DhlExpress.ts","../../../../../../../packages/karriojs/api/generated/models/DhlParcelDe.ts","../../../../../../../packages/karriojs/api/generated/models/DhlPoland.ts","../../../../../../../packages/karriojs/api/generated/models/DhlUniversal.ts","../../../../../../../packages/karriojs/api/generated/models/Dicom.ts","../../../../../../../packages/karriojs/api/generated/models/Dpd.ts","../../../../../../../packages/karriojs/api/generated/models/Dpdhl.ts","../../../../../../../packages/karriojs/api/generated/models/Easypost.ts","../../../../../../../packages/karriojs/api/generated/models/Easyship.ts","../../../../../../../packages/karriojs/api/generated/models/Eshipper.ts","../../../../../../../packages/karriojs/api/generated/models/Fedex.ts","../../../../../../../packages/karriojs/api/generated/models/ConnectionCredentialsField.ts","../../../../../../../packages/karriojs/api/generated/models/CarrierConnection.ts","../../../../../../../packages/karriojs/api/generated/models/CarrierConnectionData.ts","../../../../../../../packages/karriojs/api/generated/models/CarrierConnectionList.ts","../../../../../../../packages/karriojs/api/generated/models/CarrierDetails.ts","../../../../../../../packages/karriojs/api/generated/models/Charge.ts","../../../../../../../packages/karriojs/api/generated/models/Commodity.ts","../../../../../../../packages/karriojs/api/generated/models/Customs.ts","../../../../../../../packages/karriojs/api/generated/models/DocumentData.ts","../../../../../../../packages/karriojs/api/generated/models/DocumentDetails.ts","../../../../../../../packages/karriojs/api/generated/models/DocumentFileData.ts","../../../../../../../packages/karriojs/api/generated/models/DocumentTemplate.ts","../../../../../../../packages/karriojs/api/generated/models/DocumentTemplateData.ts","../../../../../../../packages/karriojs/api/generated/models/DocumentTemplateList.ts","../../../../../../../packages/karriojs/api/generated/models/DocumentUploadData.ts","../../../../../../../packages/karriojs/api/generated/models/Message.ts","../../../../../../../packages/karriojs/api/generated/models/DocumentUploadRecord.ts","../../../../../../../packages/karriojs/api/generated/models/DocumentUploadRecords.ts","../../../../../../../packages/karriojs/api/generated/models/Documents.ts","../../../../../../../packages/karriojs/api/generated/models/GeneratedDocument.ts","../../../../../../../packages/karriojs/api/generated/models/Images.ts","../../../../../../../packages/karriojs/api/generated/models/LineItem.ts","../../../../../../../packages/karriojs/api/generated/models/Manifest.ts","../../../../../../../packages/karriojs/api/generated/models/ManifestData.ts","../../../../../../../packages/karriojs/api/generated/models/ManifestDocument.ts","../../../../../../../packages/karriojs/api/generated/models/ManifestDetails.ts","../../../../../../../packages/karriojs/api/generated/models/ManifestList.ts","../../../../../../../packages/karriojs/api/generated/models/ManifestRequest.ts","../../../../../../../packages/karriojs/api/generated/models/ManifestResponse.ts","../../../../../../../packages/karriojs/api/generated/models/Operation.ts","../../../../../../../packages/karriojs/api/generated/models/OperationConfirmation.ts","../../../../../../../packages/karriojs/api/generated/models/OperationResponse.ts","../../../../../../../packages/karriojs/api/generated/models/Parcel.ts","../../../../../../../packages/karriojs/api/generated/models/Rate.ts","../../../../../../../packages/karriojs/api/generated/models/Shipment.ts","../../../../../../../packages/karriojs/api/generated/models/Order.ts","../../../../../../../packages/karriojs/api/generated/models/OrderList.ts","../../../../../../../packages/karriojs/api/generated/models/OrderUpdateData.ts","../../../../../../../packages/karriojs/api/generated/models/ParcelList.ts","../../../../../../../packages/karriojs/api/generated/models/PatchedAddressData.ts","../../../../../../../packages/karriojs/api/generated/models/PatchedCarrierConnectionData.ts","../../../../../../../packages/karriojs/api/generated/models/PatchedDocumentTemplateData.ts","../../../../../../../packages/karriojs/api/generated/models/PatchedParcelData.ts","../../../../../../../packages/karriojs/api/generated/models/PatchedWebhookData.ts","../../../../../../../packages/karriojs/api/generated/models/Pickup.ts","../../../../../../../packages/karriojs/api/generated/models/PickupCancelData.ts","../../../../../../../packages/karriojs/api/generated/models/PickupCancelRequest.ts","../../../../../../../packages/karriojs/api/generated/models/PickupData.ts","../../../../../../../packages/karriojs/api/generated/models/PickupList.ts","../../../../../../../packages/karriojs/api/generated/models/PickupRequest.ts","../../../../../../../packages/karriojs/api/generated/models/PickupResponse.ts","../../../../../../../packages/karriojs/api/generated/models/PickupUpdateData.ts","../../../../../../../packages/karriojs/api/generated/models/PickupUpdateRequest.ts","../../../../../../../packages/karriojs/api/generated/models/RateRequest.ts","../../../../../../../packages/karriojs/api/generated/models/RateResponse.ts","../../../../../../../packages/karriojs/api/generated/models/ShipmentCancelRequest.ts","../../../../../../../packages/karriojs/api/generated/models/ShipmentData.ts","../../../../../../../packages/karriojs/api/generated/models/ShipmentPurchaseData.ts","../../../../../../../packages/karriojs/api/generated/models/ShipmentRateData.ts","../../../../../../../packages/karriojs/api/generated/models/ShipmentUpdateData.ts","../../../../../../../packages/karriojs/api/generated/models/ShippingRequest.ts","../../../../../../../packages/karriojs/api/generated/models/ShippingResponse.ts","../../../../../../../packages/karriojs/api/generated/models/TrackingEvent.ts","../../../../../../../packages/karriojs/api/generated/models/TrackerDetails.ts","../../../../../../../packages/karriojs/api/generated/models/TrackingStatus.ts","../../../../../../../packages/karriojs/api/generated/models/TrackerList.ts","../../../../../../../packages/karriojs/api/generated/models/TrackerUpdateData.ts","../../../../../../../packages/karriojs/api/generated/models/TrackingResponse.ts","../../../../../../../packages/karriojs/api/generated/models/Webhook.ts","../../../../../../../packages/karriojs/api/generated/models/WebhookData.ts","../../../../../../../packages/karriojs/api/generated/models/WebhookList.ts","../../../../../../../packages/karriojs/api/generated/models/WebhookTestRequest.ts","../../../../../../../packages/karriojs/api/generated/apis/AddressesApi.ts","../../../../../../../packages/karriojs/api/generated/apis/APIApi.ts","../../../../../../../packages/karriojs/api/generated/apis/CarriersApi.ts","../../../../../../../packages/karriojs/api/generated/apis/ConnectionsApi.ts","../../../../../../../packages/karriojs/api/generated/apis/ParcelsApi.ts","../../../../../../../packages/karriojs/api/generated/apis/PickupsApi.ts","../../../../../../../packages/karriojs/api/generated/apis/ProxyApi.ts","../../../../../../../packages/karriojs/api/generated/apis/ShipmentsApi.ts","../../../../../../../packages/karriojs/api/generated/apis/TrackersApi.ts","../../../../../../../packages/karriojs/api/generated/apis/WebhooksApi.ts","../../../../../../../packages/karriojs/api/generated/apis/OrdersApi.ts","../../../../../../../packages/karriojs/api/generated/apis/BatchesApi.ts","../../../../../../../packages/karriojs/api/generated/apis/DocumentsApi.ts","../../../../../../../packages/karriojs/api/generated/apis/ManifestsApi.ts","../../../../../../../packages/karriojs/api/index.ts","../../../../../../../packages/karriojs/api/karrio.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["runtime.RequiredError","runtime.JSONApiResponse","runtime.BaseAPI","canConsumeForm","runtime.canConsumeForm"],"mappings":"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","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/apps/dashboard/next-env.d.ts b/apps/dashboard/next-env.d.ts index 40c3d68096..4f11a03dc6 100644 --- a/apps/dashboard/next-env.d.ts +++ b/apps/dashboard/next-env.d.ts @@ -2,4 +2,4 @@ /// // NOTE: This file should not be edited -// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information. +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/apps/www/docs/reference/api/add-carrier-connection.api.mdx b/apps/www/docs/reference/api/add-carrier-connection.api.mdx index 0e1bc22890..e390e63461 100644 --- a/apps/www/docs/reference/api/add-carrier-connection.api.mdx +++ b/apps/www/docs/reference/api/add-carrier-connection.api.mdx @@ -5,7 +5,7 @@ description: "Add a new carrier connection." sidebar_label: "Add a carrier connection" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -88,8 +88,8 @@ Add a new carrier connection. name={"carrier_name"} required={true} schemaName={"string"} - qualifierMessage={"**Possible values:** [`allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`]"} - schema={{"enum":["allied_express","allied_express_local","amazon_shipping","aramex","asendia_us","australiapost","boxknight","bpost","canadapost","canpar","chronopost","colissimo","dhl_express","dhl_parcel_de","dhl_poland","dhl_universal","dicom","dpd","dpdhl","easypost","eshipper","fedex","fedex_ws","freightcom","generic","geodis","hay_post","laposte","locate2u","nationex","purolator","roadie","royalmail","sapient","seko","sendle","tge","tnt","ups","usps","usps_international","usps_wt","usps_wt_international","zoom2u"],"type":"string","x-spec-enum-id":"4d1bcfc36bdc8769","description":"A carrier connection type."}} + qualifierMessage={"**Possible values:** [`allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`]"} + schema={{"enum":["allied_express","allied_express_local","amazon_shipping","aramex","asendia_us","australiapost","boxknight","bpost","canadapost","canpar","chronopost","colissimo","dhl_express","dhl_parcel_de","dhl_poland","dhl_universal","dicom","dpd","dpdhl","easypost","easyship","eshipper","fedex","fedex_ws","freightcom","generic","geodis","hay_post","laposte","locate2u","nationex","purolator","roadie","royalmail","sapient","seko","sendle","tge","tnt","ups","usps","usps_international","usps_wt","usps_wt_international","zoom2u"],"type":"string","x-spec-enum-id":"3812983dc743ed62","description":"A carrier connection type."}} > + + + + + + + + \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n \n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n "}} collapsible={false} discriminator={false} > @@ -3700,7 +3701,8 @@ submit the shipment by specifying your preferred rate. "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, @@ -3729,7 +3731,7 @@ submit the shipment by specifying your preferred rate. required={false} schemaName={"any"} qualifierMessage={undefined} - schema={{"type":"object","additionalProperties":{},"default":{},"description":"
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n "}} collapsible={false} discriminator={false} > diff --git a/apps/www/docs/reference/api/cancel-order.api.mdx b/apps/www/docs/reference/api/cancel-order.api.mdx index f340919070..09a5c29106 100644 --- a/apps/www/docs/reference/api/cancel-order.api.mdx +++ b/apps/www/docs/reference/api/cancel-order.api.mdx @@ -5,7 +5,7 @@ description: "Cancel an order." sidebar_label: "Cancel an order" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -2753,7 +2753,8 @@ Cancel an order. "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, @@ -2782,7 +2783,7 @@ Cancel an order. required={false} schemaName={"any"} qualifierMessage={undefined} - schema={{"type":"object","additionalProperties":{},"default":{},"description":"
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n "}} collapsible={false} discriminator={false} > diff --git a/apps/www/docs/reference/api/cancel-pickup.api.mdx b/apps/www/docs/reference/api/cancel-pickup.api.mdx index f22afcf5cd..f8c67842a0 100644 --- a/apps/www/docs/reference/api/cancel-pickup.api.mdx +++ b/apps/www/docs/reference/api/cancel-pickup.api.mdx @@ -5,7 +5,7 @@ description: "Cancel a pickup of one or more shipments." sidebar_label: "Cancel a pickup" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/cancel-shipment.api.mdx b/apps/www/docs/reference/api/cancel-shipment.api.mdx index b5ec665693..6ebd370904 100644 --- a/apps/www/docs/reference/api/cancel-shipment.api.mdx +++ b/apps/www/docs/reference/api/cancel-shipment.api.mdx @@ -5,7 +5,7 @@ description: "Void a shipment with the associated label." sidebar_label: "Cancel a shipment" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -1548,7 +1548,8 @@ Void a shipment with the associated label. "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, @@ -1577,7 +1578,7 @@ Void a shipment with the associated label. required={false} schemaName={"any"} qualifierMessage={undefined} - schema={{"type":"object","additionalProperties":{},"default":{},"description":"
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n "}} collapsible={false} discriminator={false} > diff --git a/apps/www/docs/reference/api/create-address.api.mdx b/apps/www/docs/reference/api/create-address.api.mdx index 3ccf69d42c..b7f325c57f 100644 --- a/apps/www/docs/reference/api/create-address.api.mdx +++ b/apps/www/docs/reference/api/create-address.api.mdx @@ -5,7 +5,7 @@ description: "Create a new address." sidebar_label: "Create an address" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/create-document-template.api.mdx b/apps/www/docs/reference/api/create-document-template.api.mdx index e11ee2e2ef..2ef1c87a73 100644 --- a/apps/www/docs/reference/api/create-document-template.api.mdx +++ b/apps/www/docs/reference/api/create-document-template.api.mdx @@ -5,7 +5,7 @@ description: "Create a new template." sidebar_label: "Create a template" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/create-manifest.api.mdx b/apps/www/docs/reference/api/create-manifest.api.mdx index 91ad793614..0421b7c22d 100644 --- a/apps/www/docs/reference/api/create-manifest.api.mdx +++ b/apps/www/docs/reference/api/create-manifest.api.mdx @@ -5,7 +5,7 @@ description: "Create a manifest for one or many shipments with labels already pu sidebar_label: "Create a manifest" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/create-order.api.mdx b/apps/www/docs/reference/api/create-order.api.mdx index 1705a793cb..3e72328e39 100644 --- a/apps/www/docs/reference/api/create-order.api.mdx +++ b/apps/www/docs/reference/api/create-order.api.mdx @@ -5,7 +5,7 @@ description: "Create a new order object." sidebar_label: "Create an order" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -3656,7 +3656,8 @@ Create a new order object. "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, @@ -3685,7 +3686,7 @@ Create a new order object. required={false} schemaName={"any"} qualifierMessage={undefined} - schema={{"type":"object","additionalProperties":{},"default":{},"description":"
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n "}} collapsible={false} discriminator={false} > diff --git a/apps/www/docs/reference/api/create-orders.api.mdx b/apps/www/docs/reference/api/create-orders.api.mdx index 83602f180b..aae413b96e 100644 --- a/apps/www/docs/reference/api/create-orders.api.mdx +++ b/apps/www/docs/reference/api/create-orders.api.mdx @@ -5,7 +5,7 @@ description: "Create order batch. `Beta`" sidebar_label: "Create order batch" hide_title: true hide_table_of_contents: true -api: eJztXItuGzmy/RXensVMZiDLj8TJxJjdC8vyQ7Flay05iRMFMtVNWVy3yB6SbVsTCNiPuF94v+TiFNlSS1YmzmOAu4ACpCGzyVPVxVedYnV/jHQmDHdSq0YS7UQ//vjjj3+LjeBO9LRJhLFRJUqEjY3MUCnaifboLqO7rM9dPKyyq5pw/CqqRI5f22jnfVRDubDRh0pkxO+5sK6mk3G08zGKtXJCOfzkWZbKmISv/8sC/GNk46EYcfxy40xEO5Hu/0vELqpEmYGqTgqLu0G5WT1uDB9HlUg6MbKPbN+TSammdUaq6wfP2xkKZnVuYvFTeGiZVKNJJUAk3IllICpPU95PRbTjTC6WgXowtK+ygTYj7nbY1eXl5eVas7lWr19Bhhe8XMkBz1MX7US7rcZSpQn/JxuUr/7WN+v/6CoW/onqdZXtthoV1jprV9j+eavC2kOdycG4wt5oHevRSJhYVJhwcXXWjrQayiyT6rrnNPVjmp4Nop33n7N5pq3jaS/WyVdajCeJEdYyD8QANFPsl1+eYKhJIxKYk0HJkVCOZbmJh9yKn3/5pfQYlWjE70+EunbDaGdzY1KJYunG36YXEKrfR6On0GggEmF42nP8/hND9fO6Zdy4MRsYD8Ucv2cymZe1BVnWYc5/uyTCWS4iE8Zq1VN89BX9v+uwbEitmNPfx8Tb1Ol6lHE1/kql8NgBgQGByQFzU1NIy3hxe6noXDkzns4HofIR1s7dvagS7dZx2cflAJdDXDDPd09waeJyissZLue4tHHp4HKByxtc3kWVqLaLSw0XgNYAWgNoDaC1I1yAXHuFC5BrQK4BuQbkGpBrQK4BtHaJC5D3gLwH0D3g7QFvD3h7wNs7xgXq7gF0D6B7AN0D6B6U3HuNC/D2gFeHanWoUUfbOprV0aKOu/uwyz6q7EPQPlD2odo+VDuAyAO0PUDbA7Q9QNsD1DuEpoewwSHUPQTKIXQ+BNQhdD4EwCHUPUTbQ6h72MLln7gQCgQdQvFDGOIQih9B2hEqH6HKEaocoUoD6jYgrQFpDSA3UK8BvAYqN6B9Ay1eocoryH0FnV9B7jHKjqHfMfQ7hn7HqHIMlGOqApRjGPEYCh1DoWPY6gTPe4LnPYEaJ2h7Ak1P0OIEck8g9wSangDgBG2baNZEiyYUb0KDJjRoQoMmAJp4jibUaEKNJtRtQpcmHqsJ+Cbgm4BvAr4J+Cb0a77FhQRByVNIO4W0Uwg6haBTaHoKGadAPgXyKUBPAXWKZmcQ3kLbFpq10I0ttG1ByRaUbAGghWYtqNGC8Bbk/hPNztHsHPDn0PQcyOeo0sbdNqzWhlZt2KCNym3AtwHfhn5tyGhDRhu6tGGINvDaENkGaBty23jyNuS2oXgHoB2AdoDXAV4HI7YDqA5QOkDpAKUDgA4AOlCtA4AL6HeBtheQcQHkC9x4jRuvAf8a6r5GldfQ9DVAX+MB36DFWzzbW9R7i3pvof1bVHlLd4F3iRuXEP4OoO9Q5R002Ie6DVoeaAjA7O238PAW18z7NZuJeA3r2Ro2k2hjm7/ov9xMxIsXT5P+U7HUXZluon5ZpN0dzoYYcZl+y47kAbD/DLUSPZWP+sJ8CyDhMI9T/eRW+u1ujt9KCeehECOsTLAj8rJx+lqngqulYoK/OOCpfSC2oRJ44tMNrFBBWlYSxLRhwS/EX0+EcsJkRlrxM7mFzgjhvsnAs0cHVLDxkqcP9XqpVGLz20QBgt1JN5wXyhb85W/2NMoqb303lXPpxFIzkcxbnkoQjF6qPc/6C4eKHeo8TVhfsEJqEk0mnv/BanBt5lwerBzSQWy06zHq3PFo8mGpl5Vbp0fCYAgaEctMwvaFbHSIKyhPdY6iDIwerUjKiqSsSMqKpKxIyoqkrEjKiqSsSMqKpKxIyoqkfBtJecwJj7yWCgPyjhsx1LmdaaIHM8bC6NCKeEtfpiloS6i2Yi4r5rJiLivmsmIuK+ayYi4r5rJiLivmsmIuK+byVzOX4rgFKW+sOEthgZwUOhFhgbF6i0l3X5iMdyfk9dCV6k0t7vPiop0o0TkU/oSHONKJdOOfLAtIk0rA7OVKurL3Rxs+7dxnWNkPH7XAbnH+Yns7HjzdfBk/TwYvH6kGI+GTaT98sU/OSn8XhHEqZoHQbE8Wmv+V0jY3MPx/z7ly86xOKieuqeemo3zzc8YqYNiTsDRoT4j9oneTfzVvmEqwN/nSSUxGG9pv2EvKUgLQpyXd8jQXPT7CLH3cYP+8AiOthONmzAj8YbdNxca5MULF4/Jk2L8gZrNfJ5enTs4LESNyT3fJY9w92yUKRPTngsrfUPk7YjFElWqe+dTh1rw989yH7h5ReYNKCLN2StczokvnJ8R+qITcs9qbFhEg+v2OiA8Rtb06EN4SVds7OiBPlcpPWsR8iOGc0e/zPSI/dCVnbe8dcZ1XB0R76DfVrBPCPlGQ/fNT4jk14jjEYGpETfaJrxy1ibVQ+Smxmg5xlss6ERS6kk99dE5shdzPo4sDIihERIgRNMjRbpx7anJMjKROlISu5EAfE+M6PqQrMZ5j8gSPycc+Jjf6+E2dyAhd3xHN2CXuQXTl5LxOFOSESAfRDLJhs05uJTG1Junc9ITjlJgE2aRJXnuTRkXzNV3fUB1yYpuXVEL9fkqYb4kcnFJfnzaIUJwdE604JyJBDGH/lAgE8YajFlEIKj+h8stDog3nxBbqRBdqxBfI/6XyNo2uNtHadp2owj4xBOKabcJsnxBdOCNuQBZot6mc+ED7kn6/Ix5wVCNe0CZOQGyBnr1zfkm0gErIwp13xAJ2j4gLXBAZaBMHOCDXv06+/2ty/jvk2p+TW38eVTBvH7OxDDa2Xm5wwQfx9rNn4mXyuDUnzOQHkz2sAWGBoQx1xB97wS1YBUFWQZBVEGQVBPnPC4I8ej1dEgn5klOaEVf5gMcuN6KIk1Bggxuh3FcH7mVSrNRGpOBt4dCHaCYcXeJRI+F4AoK2hC3xJJEA5GmrzJsmn5P+WyIcl6kt8ezfbD4acTP+x95018itQE7dQGBXEZYVmlR/Wy8qd9UM4ePsJ/51YZ4iKtGNdlg32t7a/PXZry+2ft3sRpXF2lNBm77yDxDN/rTmVrnm1p/VfFqu+fRBzWq1dHw0KRll/aGhHpDrQC3nmWWJZE8N6mn2p9/4mva7J9CaaixlyX9Fv5MeXiTjt1wSzHwC5TT4Yh87BAqXxJv/ol1f0kkZl0mvH6q4oTRJj+J9S6uOIb7HY5qFc4Nrc+vps+3nL359uaRdkrtx7wvkUP0vFSLVrZax+OL6CNn42lsbWxtrG5trG8tGvZXqOvURlV4mDHSPRYqG1NMPLM+NkfQmo0Wd9yhRPOE4w11zwrpu9OGhfWnCGJH0rDC3Mg564Tz0vifuMwqkWX6Lx6t8wYz52lVsGiv4+GDaXGBxKlAf5PkuTNFSLKoye8Nz/n3F0ow9Q41Pz9ZUWoeV279qypxmmdGxj3stCA5vo5aw6QXYkoD5FuhKBDdEnBsKoLz/GHX0jVA1bmUc7bz/MKmEkuKPs93cDbeKv1696dBPer/WZlpZH0nb2tj4ji/ZPub12F1EuX7Psc0hij2QwkQhSJ/bMuX4PRe5QG+YXCmPNOAypSKc4qbCzf/uIQTbE8boYNrP7f4vtsXT+MXW1ssX4vnzrY2XkY/j0+uvPd96ps707ebpYofXlw2Pb3xxiHU+SvDm5tNnT8UWHzx/9mz7141BWfA3hEX/082/bFLRC+Ns+tI5K8zEgsY4kfIiv+N+eF4ICRMYMewgZXEmBzUezGSvAmr7t+OTHnfLemcWw+NOrDk5okO2PEu+uA0W795oPjJZHCo8CPzPdFoc8uWROB0XZfQ57R48d9FRfgWbNyu0fLbx7DsuOA+6/gtnzEhYy68/8b784lAkYSE5CzOCFa0peWR5RHhJANY3mp6nhn3xSzfAMizSXWZ1WYE4mZROdFqNfaj/5zvXbqtRHudFY2p5HraNT3Xs9nfdSVYd+/+kY72PNtRYsOEjwtIcJxTR+u3met9/tmN9tjkGD6WNfvZdQa7Hx0gCbyh4QkcXRa9m8ligW2lc0IoluKEa/sdBsdQBpRL5tLAIro028g+/0jzY4sp3d1iNgNj9/X01/IetCvdo1jmcCioLin5C4iDVdz7ZsnxjLwyWucILk8JahL9e3BHrMAL8tbnbVLJO9tCZN58RPKEtiScYmnQDpNJIfEckemOkK5frTCjaXc8yoRp1Fmul/E70oHM/aSf6ByMFh/Ljg+56lI3+VBpBsxsx7j0QGHzaqdShc9ncEKH7jxS7ls8J2aERjdXofPaZmf17Dh+m/JmY9+UvvsxmffkTLrPS4qMr4csqC187mUuznTXy6a2lTX0hubQEP5cKOiufy98sAc+lUJbLy/mNPqIfknlKmHM5OYs6LD7DXNJLyE5YyDqZVV7IEVl+Y6t8Y0m6BAlZ9rrmysp/gZWXJJev7PwX2LmcE/N+lt6ysZCV4g9eis37E67ItHiWbbEZ0iJm96Y5DHPqlZINNh6mAYTT/8UzQm/6Ush7BlkK7kwQeZhFLieLNyfYUwa0Xs4/TlcdI2Klffb2KE+dXAsxrFmeEdwbN+SOWTnKUpBaS2Efyi4JxFEPWKqvpXUytmyK4MNZtopoJRymIAyA0jJtrrmSf4iEcaNzlbDz/Xanys5yQzWG3LLMiETGjoKiBXFa0wZvm4uEXZyf2ArjcSwyZ9mr9tnpmlCwfNJV4TtnrK8TKWyFGeFyo+ZrsWmwpsK4ShB6pzxElXCTsKNOpzWtQX4nquVuiEHsx5hvditMf+kzJnIwQKwKcTJxK8yYhegm40hKwgGE4FYwJe4AYtF9VUKxgiU6toybIvmL7OQ0G+vcFJWLg4zdVoPEd9UPP7DX/p5U1yh4MxSK9Xl8c8dNYtekohnvJAwaD7m6Fl7IiCcC8AGuwji0qtD30JKpPEqQJJ0Tr2c4/XblGldbG1vPqs+rL65IKbhWTIc+9SJTfQ1ZqeBGsZE2gvG+zt1MT1ZoKVP/kklX7WKAZkbEPPeWx9s7gLydPi8w46GIb7zy5busLwba+MN56VyozBXLs2vDEzEz3766lUYrCkEt6VKNHvVvPWhrg4Ik2H+HD+PBCGekuBUsFsZxnGURM7FMKnY1ZfqwTkOxRNyKVFPIq8KkgwHdUBivrpeRUs/wJJlOrOB2YrxU2LVwLJW3ghnuhK10VT8fs5T3RWorhVpFJI30g6uX5KlgmYxv8myJXsEWLX4tFQ106oE0ZU5nayk0JmNMQxlsyG8Fs3mWaeNouPfz9IYNBPEXdis560ZgS92IGnrOY6vsAMllClMOn7Yb65zFXHleFVZ6eiIqmEYG/ayjsuK5qsxPGiosSWB2iNHNfVaGQtJrTgeKFeb4DSVPOoxDQAGgq9ydRuIzHwknjN1hqRxJ5yXqwcAKR+YJIyJ3MpV/CBturfUxM1g2NRs9OUXI6X7QeyRdSUS1q2raDUslUA06h/w7bkMmyRMrBOuLVN/9XIyz3MyNLoNVBovV0GilsSDHlMeM8LwfykGRqbDpuligwIJYkQe4yRWTKhH3ofGC6oWevhjvKg2LdDsK1AdEp5Em6+UgndjoEdtE6ebGRhhrV1dXIA1dFY6yut4BwTnI5sZGpShU4t75sxGw4+l4+G9S4O9b2z/6p/v79sb0oIROV26lzu1jGm5tlxoaYfPUhXOc2WEbji3ZJNT60FUTUj/MmGbYdvHnBcXxaOsKwyVY5H///T9SxWlOjLNdZFajR+mEwk8mPjtmmRq82lWXYYpg9XNDacu9oRl3jsdDULI1P2SovV/W7aIaZPtCYaw7uRWDPPX53k6bkFocwiOV2dxJGJwJRA5oD1IYJh6z6tdpxYTnfGFKU6o0IIXfvnDE/ZNlgzxN/YtkePZYG7/ZklkehNG7igYOtbdj68SIJBfP5C031aKr6pop7YJURHqsUFY6rJNl7XnpgD304e7cFk8rX6sBm/qdMrd+Iy55Ahjd5G3YKis66FaKO3quEVeIW42LLZCApJ8sdW6Hfc1NQrIv56pgrR+j9ZhlRt7KVFzDAbE0myxyIpxmN0JkQBoxCg2J/2LFc9O6560lYiNc6SmkYlneT2WckkMiwh7DjeCW2TwewiqH0h3l/QqLUzhba/DdyQfyS6HVGCZu6LfmOYOVvAgMqkwYWBtOhOTep6IIBJm5ylpG3wJ6ah6K0TBuu8rR+QSqwtQ0aGiw0Mj2hk78wyrhuyQLYJgy1t7pYNerqys7FGnaVX+Dv5IyhDzszvp6sfNUeSarsR7NLQ6s2/VzfC7GsdNVPzCfapxqBYfklioTLo1QbmlfwSya0yMsEo0BzYlC5blRBAv5wJx/5Cf4KmwlQMVGW7sWsmPCePu50lVYCa7Wjlj3czGgbnRFey35YwN2NfdcftfHFu83dj+c2SiHCx3cQ30rDHuPLmx/eAIb7qyvC1W9kzcyE4nkVW2u1/HXOur02jQif676kTeFxDkWnL15T5rdyTRlPMXA4jKtdlWJi838LzAp79HhPYDgZ1JSkLZuxCmaFrjsww8jL5K5Ujj9M59R9pEyJ+7depZyqegQydCrSD5c+z663URUNXxnuVI6gh4irLvzPvr4Ed7BhUknExT/ngvwu/cfQAWN9KdlOE0uAn+gqjdiTKkspOVaxx8g0fincOHCAQBOon2LXaJEf1r3Qyny3Dqj3LV++Ca0P+WKDL8Dbed3iFTPJcZQ2cco5eo6p2OAyGMi+IduLR+RhWhiP5ykz4Kd9JZwoR8ZR8YYwRdhnk8mUSU8TjH16Qk/174VplypfTELo8mHyWTyf5Xmcbs= +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/create-parcel.api.mdx b/apps/www/docs/reference/api/create-parcel.api.mdx index a620c4ed82..244ce8ffde 100644 --- a/apps/www/docs/reference/api/create-parcel.api.mdx +++ b/apps/www/docs/reference/api/create-parcel.api.mdx @@ -5,7 +5,7 @@ description: "Create a new parcel." sidebar_label: "Create a parcel" hide_title: true hide_table_of_contents: true -api: eJztXItuG7mS/RVuz+LuzECWH4knE2PuXfihyI6fY8lOnCiwqG7K4nWL3UOy/RjDwH7EfuF+yeIcdutlO+NMcu9dLBQgBYldrCoWi4dkVct3UZYrK73OzE4SrUWxVdKrI2ljlUa1KFEutjrH42gt2uRDIYVR1yInTz2qRV5euGjtYxR6uehTLbLqt0I5v5Elt9HaXRRnxivj8VHmeapjKlz8u4PYu8jFAzWU+ORvcxWtRVnv7yr2US3KLczzWjk8vVb6YuAn+Ewx7Ckb1aJ+ZofSR2tRkhW9VD2wvD1QpcH/4UQp5r4WXevED54nzxRpKvFxzdtCfV4+pd7XosEX2PsF8gcj+1NlLv4BAyjF3teiXMaX8kKbi/OgYKTIeavNxZeJHQkTEFL/pWcX/9Yxovz3448HmVfCD6QXnt0qbu1ERoEyFdcDZUTh0CxLFiVyq5zy9R9/nBF5JdNCuTUx09xV5kqlWa66opvLy67o+qIXvqSp8l3RdUOZpue97KYrukOV6GJYfrnNCns+sqw7I/hNZkUsrdXKCperWPd1PDNqVxN5qqRTIs6MK9IwVqv6yioTq/pYWFSLhvJmr5zh1aXRbKjzMN5vMhsj5z1/KFWXrxrKlGFfNY7JR1N6VqhoAnq+Qkkp5Wlly0tQpt15ksXFcFphL8tSJc2jGvuySH201pepe2DBjkmAlMoJ3S+XBMzBeoizYZ45lYisLyqNTmQmvSWsESDOC6NphjLFEPi824xq0d5GVIsOP0S1qAmgnvXJzQJmewFdFjQ2hBUpX62uxv0Xy6/jn5L+6+dAq6BmzLIeKuN0Zh7Ysrkf1aKdg6gGlzzHjpfLr1+/iHs/Ly+/ildevY6/MEgqQ0amaa+GbmKSpLXyNnrY/g/ZiuJsOMwS7W+nd6N/9rQ9NGPkHq99+ifwfn1yhSA4/aSa6SXzYvVrceBLtIUF+lshjcezsS5tvLrgzI1W4/IfOasSI74P0y4yKxA4P8B17rL4c2gzqcFdFmIUUrNOG7jzOEv+5HY8qaUU9LQm7qDncpgV5pudY4aZUV7a27A9P5y2kdq4sNhJbicXQ+PkOKpF642tqBadtEDfb4Ku75MeYK2sH66DHrdAT9j+ju0fDqJatLEO6NnYQPvGVhsSDt/gc5NPt9m+wxbK3DggPcQC3DjeA6XejTb53x2BnvHzB7RvrpNuQcL7ddDNbdCD8HQP/JsHZ6CH/Hy8CXpCetoA/bAb1aKtt+i1tcvP5NyihEYTnxvH0Nhow6o3b9He3EB7swELm9sYe5P2Nw8gp9n+FfQMLdu7pAfg3D6G/O02/LN9As6dLXh4Z69FgObnY9IWON9S5ttD0iOMYrcBzt0m6TY4d/chZ/foHegx6Tvw71L77gf4fG8d0vZ2wb93jPa9FuzZI88+fbi/hZb9JmZznzbv76PX/gEk7NMn+8eHoIyK/VPSd+R5D//sn7GF835Ame+POBec64Md9D04BP/BETgP90GPGnh61ET70Ta0HNHOoz22n8FXv66j5ZiRcHyCWTh+B8kttrcYXa1Nft4Cf6sBaa0m2ymztYfRtQ7htxY90Gqxvc3PZ/z8ATztbchvvwVnm9HY5tjbx/B/m/xterj9ATwn69ugZyegbDltwLZT9j09OY1q0bsWfHjWgIUfYPNz9+H+0srrJalkP159+VK9Tp6HOeVKfrDYSwwoAea+FmVWX2hzHuO7nVr561ggnMN1LBKurHUu6x2QPYIAMYAQQAQAIQq0CQVEAgIBcYAwQBQAgdCNAATEAcIAyFtCAZGAQEAcIAwQBQgCxABCABGAAADC5d8kBoBA3uYuYQBkn1BAJCAQEAcIAyCECMjbahAOiAYg+0QEAgIwAH5pNIgMBAaQFsEB2LBDgABB3zfo+wZ934CPS6sJHzAwm5DSJFw0iSIgENAkqOwTTUCINAQUSoGiJgxvviPIEGMIMUQYAgzxBTCySYwBaRBnynNgtPMroYZIA4IebxuEHCIOAYd4Q7gh2oDsEHFADog6BB2QUwIPcYewQ9SpjlJ7MGNvhxhECCICgRCdYOneKfGIcASySUgCaRCWQLYJTSCEqn2iE8EJhAD1K1EKBOL3CV0nRCuCFbGKUEWkIlCBQNtBg1hFqALZI1wRrUAg9OCEWwuxC+C0TvwCeUMMI4QRwQhgIIQymEGAJob/im7H6EY45c55fEJQI6YR0ohoBDTiGeGMaAYC+7hBEMVbsKV1QHwjvBHdCG4gpwQ44htAC0IDiDWJdgQ7EILfAfGOcEe0Azkl4hHwiHcgTZ4ICHzEPUAdHpxuEgBBwHK6QyQkEBIHsSls8BwBAr73sJ77x3s+PSNSgrSJliBg+QALGjB3h/DAEOAm8P75eLq0Kl/1Xi8n6tWrF0nvxfOOUAElceocSlP0ZewLC1QNoMlMgVXGn0PDnzkj6qRCaqtS6XHPtImyItVG8aBbh5Kh8jKR/tHEnUwSHVI2R5P3pvs/0v5LorzUqZtIRfziiuFQ2tu/bY52jcIpO840OFFZUv9lsWLumLGEu/FH/OvAPf48HGI70ZroRKsryz+//PnVys/Lnag2yz1StByYv4Nq8VnOlUnOlc9xvpjkfPGAs16fyKPcTzhl8aGjovv7kHnVViXYMsur5fTN8tPocheNHLqFWZy9jU3coDnnjpM+Mrz039ckVsZTWN5AZrNQ38fSiJ7CfCdCOuGtjC+RSiuvXX1kqQrns2GVrHI/PJV2ChfAvg2uiFPp3FcmhUpZgrJoS0ggCmmS0UM30DmzM/Vpc37CYYdiH802PL1+RrfUuwcT9rnFE5Lz41xeqfu5K0YbV1hpYhXCdXlpqb609Ehck08l573bwFhOyxTntw7jMLQQw9N9MYW4kau4sLz1f7yL2tmlMhvS6Tha+/jpvla2VF8O1ws/WKm+vX3X5keWNFyeGRfSPytLy9+wrvE4TM/mOgqjfyuAzcp43dfKjnNG85LIvCQyL4nMSyLzksi8JPIvK4n8y3axeTVlXk2ZV1Pm1ZR5NWVeTZlXU+bVlHk1ZV5NmVdT5tWUeTVlXk35mmpKrZyAJxN9oytONHlNmp6CVsgUKccACAKZ9vrz1Zp5pWZeqfk/Uqn5giWSP/6bkm+3PsofrbAENK0Ddr5cWvqGFRtlbWa/Ilc2VM7Jiyc8NhvGVIbt6VpagzVV9WYu9/HMxSOJgtBJsAddxOn80pCeFCvNrRjzikri/TjjFa0f7TRg/uOYlWrnsTeuH+2I0qWTndnzuKy7PTWxq/OJ/f84sfc43X32t2nqxocEtmNd91LdRmszfcrc12xflHOHyg8ySM0zx2mUwPpo8Wp5MS9/xzYuHLcQPWGCWRG+izSsHCiZMHFXxUqudxWChdHGOoeSlhzhw5sqwQcptchIMqHinFn9uyxrKDNp2cmna2KDgsTNzU29/I8ZqKrW4ymXbKjNGPqExn6aXXN0cvLBZhmCU40nNoWbKH+xeqIW4QSU0aces2WR/sjy4D6rJJx+rGSCgOcDQLrVHoa9s9pPtme5MjzYH+bK7Gyh6GQQyo+EzJN+4j84qazz3z2Yrmf56LPaKFpcqtvzBwrLVw1GWgfe51MhwufPVLtQTClZ4zoBxh2Pf3DZuJHDPJQbqrrK0qiuvzQuwS+Ni+VLD8vaY8SZLbE+hUWj5hEUj5umqoBlZW+qQBNyELPFsZDUKaH34/R4Hvau0OWP7BuXLZbL+sL42agYMG6aztovPcynl2n02WRbyLFN3B3HIifuevfh3ZLZo/qYd+YcPH4wPpMiCLTpZ5jy6TF3zC6OdRkKpFIMi9TrhVENe6DzHIsNIM13DJwe5un4MMZaTsBSYHmaXWjndezGVXBlr3SsXB0HUsB+qQwC8YaCvZBG/44Lgc0Kk4jjRqtdF4eFJcdAOpTNEx17HOOFVS4rbKwWMquVwTX55HjP1YSMY5V7J962Dg8WlMH0JB1T/sJY9LJE4xUCq3xhzTSXGL2zU+NJv3DKCeelSaRNxHa7fTTi4O4JtsIPUJkMx4fQ7UrZ3qNjTHS/r2y4UKgrZW9hK6YfN6BrXvf5MgB+Ln2lLPeqOqU4hRq1ExKJBl6L6CefCbxOUTFXaYP1ox2q75jvvhOn4Zk2F2h4h5c/ejK+vJY2cQvaoAwuvYZD44E0FyooGcpEQXwprhZ+xF0TCfMRlT7tKpuTYGeZa/aTHN2VpZWX9Z/qr7o0ClAusnJOg8o0u4CuVElrxDCzSsheVvixnaKyUqfa31LMOgI0tyqWRfB84WhppZlvi2QiHqj4svwF+sRT0VP9zIZUuPa+ZJZGFPmFlYkau69hrrTNDC96j0xphhkNbxZkzpUGUnH523eDqPJWqyslYmW9ROaI5ysntBFdr5w/H2aJgnd2jEgUX6yBvprQHg70A2WDuUFHypmRSTJaWOU2h3ipiQvlRaqvlLB48aHWMb3iVqSyp1JXq8zidRuhCPuwtSRFqkSu48sif8Su0hdHAHwGOmcgTYXP8oUUFtMZ1Yp0YiCvlHBFnmfWM9x7RXop+srHA+XElZaiE+HM14nYMRyuXJ3vzGiDJRerGmJbIE/A06FMEquc44jYMLp/h1XHtmpcdREWDRsnNAg3QHTLUAMxwnlbMH1XE14y/yA94tDxTRynOsZfZ8gLyKHyyro1keqh9kFj1u/jtR/4ooyIwutU/65c+Wihh5Uh8pHbOHLeW/m8tHuo/YSKesdsZH4w0QLT+FcUQmpEurJu871TSvRUml3/UMVZYaeiywJlAFYDm5kMgBzLNGQTy/VaGjJSNsLFSgo8CETu46E0QptE3ZSdZ0yv7AzNmeFIqxJ9fyTRZ0j8BD0K6ZRsKJbRitRDiLVut4tDSseU2YpORJhE4mF5aalWNRp140MyAsfwUTz8Jw3468rqX8Lo/ro6zmd0otyqK50V7jkdV1YnOlqFN7TY7+NEPgVJQnFfcn3qmHuaX66Y/XLjxteTHODJrasMl9Ij//Nf/61NnBY84bZKYzijh8z7cjHJUZp17PB6x5yVSwTo5wfaTc5GJqT3Mh7gCLgQQob9A6y7WTPo+8pg4E7hVL9IuXydzyxXx+iSVxuvnUTgMIGbCvcggzAJMusBp41Q4YxZLumsSBOKVGH7QkIZWbciTQWOtRx7nNmw2dItD14D6hgGDvu7W+fVkJqrMQXPjazomK1MmMyXWnFfdTg5euDkpPVyIp1dzuH61BZP5DvagU/DTskMJnw9ZkN087Th6qKaoCutrjmuoTS4fd9WWyAF6bBYtqQb9DJpE+o+m2IB1t+i963Irb7SqbrAAcRxNSE1ByMulcohaSh4FVX/JqpxE/eCt1RslZ8YhTYiL3qpjlMeSFS5x0irpBOuiAfwSlP77aJXE3GKw9aC00k4AwUodBnCxA/C1jzlsIlTBIIqVxbexiFCy3Cm4o2Hbq6LI5tdQfTIPbwTCuk6BkJ4+aGrGTQMFkZ2cHQSBmtUmJK8FIYl49x1Vvq12+26gUrTjvl3nFdSgSuWW1tcrHaeusx1Pc6GU+AgOp2wxqfuVGsd850IL/akmcGB5IrMlMsIlY77ClbRlB0lSOz0uSYqk6eiCB4KiYAw5O9V/aJeK0XFNnNuoaxFlfH2Q61jgATdhW3R+aM7Zyfqcq/leawvulPjCrs+tviwsYdwFsMCR+jyeJhdKSs+Ygpbn76HD9cWF5WpX+tLnatEy3pmLxbxbRE85y1G5A/1EHkjkdfaD3DYmz5Ji2udpkKmCCyp03rHTFzYxucvXLfCiQ5v3ZXnTJbgMueHkrf38qI8+mNEjyeWJzKCT/7donDR9erGL+ap1AaKCiQw7sp00Mfoajnc4ao/bDRAtmjtY3R3h7PAiU3v79H8W6Fw5fv4CbdDq0NZAj8hqNIK4wzVZjBroX3LDEeVoHqQtMTPD0KPdV6APss7mdA6OmRduFf+7aVhuM5aeR3VSNeiqctjaLuLUmkuCqYuoyATt0pM4uRru2Wuolf+fGKcSjG3E/bROTpGvJ6Uq/r+PqqVw6kWOkf4R/2PygU20b9ac9H9p/v7+/8Fc7+A8Q== +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/create-shipment.api.mdx b/apps/www/docs/reference/api/create-shipment.api.mdx index fbcc99c164..c38e9b6085 100644 --- a/apps/www/docs/reference/api/create-shipment.api.mdx +++ b/apps/www/docs/reference/api/create-shipment.api.mdx @@ -5,7 +5,7 @@ description: "Create a new shipment instance." sidebar_label: "Create a shipment" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -1269,7 +1269,8 @@ Create a new shipment instance. "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, @@ -1298,7 +1299,7 @@ Create a new shipment instance. required={false} schemaName={"any"} qualifierMessage={undefined} - schema={{"type":"object","additionalProperties":{},"default":{},"description":"
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n "}} collapsible={false} discriminator={false} > @@ -3484,7 +3485,8 @@ Create a new shipment instance. "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, @@ -3513,7 +3515,7 @@ Create a new shipment instance. required={false} schemaName={"any"} qualifierMessage={undefined} - schema={{"type":"object","additionalProperties":{},"default":{},"description":"
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n "}} collapsible={false} discriminator={false} > diff --git a/apps/www/docs/reference/api/create-shipments.api.mdx b/apps/www/docs/reference/api/create-shipments.api.mdx index ad77ca23e2..3a0eee31a8 100644 --- a/apps/www/docs/reference/api/create-shipments.api.mdx +++ b/apps/www/docs/reference/api/create-shipments.api.mdx @@ -5,7 +5,7 @@ description: "Create shipment batch. `Beta`" sidebar_label: "Create shipment batch" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -1318,7 +1318,8 @@ Create shipment batch. `Beta` "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, @@ -1347,7 +1348,7 @@ Create shipment batch. `Beta` required={false} schemaName={"any"} qualifierMessage={undefined} - schema={{"type":"object","additionalProperties":{},"default":{},"description":"
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n "}} collapsible={false} discriminator={false} > diff --git a/apps/www/docs/reference/api/create-tracker.api.mdx b/apps/www/docs/reference/api/create-tracker.api.mdx index 8a87c29304..6f7f738c74 100644 --- a/apps/www/docs/reference/api/create-tracker.api.mdx +++ b/apps/www/docs/reference/api/create-tracker.api.mdx @@ -5,7 +5,7 @@ description: "This API creates or retrieves (if existent) a tracking status obje sidebar_label: "Create a package tracker" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/create-trackers.api.mdx b/apps/www/docs/reference/api/create-trackers.api.mdx index 10aa4fc6b8..71b89bad75 100644 --- a/apps/www/docs/reference/api/create-trackers.api.mdx +++ b/apps/www/docs/reference/api/create-trackers.api.mdx @@ -5,7 +5,7 @@ description: "Create tracker batch. `Beta`" sidebar_label: "Create tracker batch" hide_title: true hide_table_of_contents: true -api: eJztWntvG8cR/yrbS+AmwJF62LITAkVhx06jpK0EW24QiAK1vB3yNtrbPe+DFC0Q6IfoJ+wnKWZ273gnUn5I/qMFaiARuY+Z2dl5/pY3manBci+NPhbZKHv06NGjrwsL3MPEW15cgXVZnglwhZU1LstG2Q80z9I8m3JflEN2+QI8v8zyzPO5y0bn2QscB5dd5JmFdwGcf2HEKhvdZIXRHrTHj7yulSxIgL3fHZK/yVxRQsXxk1/VkI0yM/0dCp/lWW1RXC/B0Wwj4GYlt5avsjyTHir3iRSknk90qKZgOxuct1LPt45+VgKreXHF5+n8Us9Z2rzOs4JbK8FONK8AiYEOFaqCKyVBTOC6tuBQof2BiTIFVzhc8fdGT1wp6zqy55ZXcI0fHGgh+STQ9uC85Ury2jg81dRcX2k5L+lzGiu45oJvvtTc4ofSGm2aUaOkc7IyeM5SdeTDbzW3BaiJgOa7UVyL9CVouQDrSGohC1Ph31rE/5c4OgNBgtPfyRKpzkGDlQV9MkLiUMlXkySNImGRG6rDw2HI8kyTaRChOlijuDd4DGu4kEAfVlxVXCJHB1eG/mihcM7P6f8aiYcauQXX/plI7cFG8nQKGlz6zaetFe+NqQ4D2vNtI7keuBqKAV73QKIf7R8ePRbF7FB8d3Aw++7ps52G1BpQMhu0IF4UJmj/AYPUQSk+VZCNvA2wiy6ZD1iWaHXs08IMLOgC7k+4Au3Zhs46z6SeGXJlpU5m2ej8Y07XOEnrfErqq/sJlEhtNEmk0BGD86bqeOI9aCcSjEis8wyuayg8iIkAhca/uh/dhgxryDDBPTHQxt9D1uedQGQiIWMF2AmRvZeITYQjOq14kSqa98NpSsGM7Rhmmp0sgaLYgzgkGltUMWZ9EdKMCK3zrPGHScOI/O1hLCKJHnFZXIX6AdfZum2k1F5oy6GxxC/BY8uqWy4O7EI+OPQ0VLqUjZVzqaP27+uWLYNIjDXEdvDBNMXVpDDioYdJvCJBRgT79+K8jAnoCx2uQ3HnCbscv9wxu1x3nBVLnQeaHpLYWJycaxCT6T2VVYN1RrNlaVikxGbGMr/xUeJhgr2vLTeFc6KxXueZlx53ZGcplB9jTl1ffE7g4FpsNN6mBAGeS+VQ5Ao8F9zvLKy5EDLWOafdXL1GhjMelG++3JWBgwPLGg5DOhMW/dKCwAK4VxjnW3X3xbYGXqKkO1kq6Twzs80ZsQBh3rDamgKc2+beNgodPtSdnMWJyKu/C9WN9wxFsNKvqK45M1egX3Ani2x0frHO00jz5eR58OVh8+3nX8/oI7U/rjbaxfLncH//C/ZAu9Px7QohaPkuAJMCtJezVGo6z31w3TblXYAAWMPboHWkNONS0VBhqlqB73+eLKUvJ2CtScr9WF387AgeF88OD79/Bk+fHu5/H4vS6AiTuHsjDpUKWK83Zu0a04nDU6kU8vkUxgcHj588hkM+e/rkydF3+7Mu4wc0kP/r6t/lX9TPsxYXYI2aWJIYS+HI8rMCyYcj2euGSXJi9OvE5bY3JzFu+/JJFAFXRwBDTPjOWmxmbIUzGeaLgZexug+1+Ow9HpyfVP38ODVGAdfbEXAj022T71piaxdd6j3pts7dXFSMYH21opRP9p98wYCzdfWf6TEVOIc59JOgFmKGncKSW/QI1uzGS76jLtmmkja1NUeTEz8zD3bJcr1im7WbLNtJ5c9Pj1+h+B9OYs9Pj7t23mymna9T2rjrYo++aCb5/8X+l1xsLNVKgwE7QWM192U2yvYWB3vTiKrudfJgU6O8wZuOl0HFx00mkWIJXACCZs291vIXwIsly6CYBdzSivjhxybYIRWE4GgRFjfGyvcx1mwlue7siL0gQuz6+nqY/kNtNQXS5no4DeS3BL2D40yZJZ2Odyd+SObSG3xrFeqL6O81M7CHSsCKrTdNI3ukD1NH9VnggpISF2icNJHl2dJKbFKyX6303XFTg6b8elKDPn7JCqN1zEVb13unnugfKimVlDdb1/VJOvogNyLNrmA12WKYqtqWa+l93TMRmv9EtoPQYzIim8Z49HrzDvDqmmMV08fxz3dA8psA0EfXd4Dqt7DTzc4O7rkZbHDLO/DIDt8+mLiZ2IEIdvpAQvM237ug3O1RMp527DYYdtdMArQ203fhUbtWdEGlHfO3IKEdK1o4Z8fcbUDm7iU9kGGnHDsgkI+s+wDNDtTQmdjgBZ3B1OA3I/0Ger2+6CDffesf61/QogyTjnFWBeXloGmTW6wC04MvuWdOVrXCpsARxIBvDvNUeJsZU2YunZeFaxvtpHY3HOuxxoSTmCFB6Zixc67lexCMWxO0YK9fvTkbspNgaUXJHastCFl4rMXb2n5grASNqPTb1391OT4dQO0d+/nNyd8HoFGVYqzTMx6bGiHB5cyCD1b3V7G22c0JkggOHHYOWnAr2E9nZ6ftCsrbuCz4EjujWLjEbQuw051nFHI2A+sIkwECGptnDu7YEk+kgDtgGpZIxEmjkc5ZCQ6YMIVj3DbgPunJG7YywTaLCVkoAXkR+7H+6iv2jzgn9RwHfi1BsykvrpbcCjeQGhsy7iUqtCi5nkNkUnEBSD6RyxlHqXLCqUTLT7pGZhHlZEWwFkGczorLw/3DJ8Onw2eXJBQmJmbSnUaWysyRlwJuNauMBcanJviNnKyRUirpV0TmORpobaHgIWo+OJK04YyG6g0rSiiuovDdWTaFGfIpTFVJ79Nirlmo55YL2KjvlV5IazS18Duu1OCNRoDNOJcEJMbxoRntwYK3EhbACrCeS81iZeeY1Oyy7ZRQO8eaCViAMhQYciY9KtCXYKO4kYeim+FCtI6VkjbaS87m4BkGQGa5B5eP9TSsmOJTUC5vxGrSVkTeihJEUJAw9h1yJV2c8nmKU3QDSjFv6oFCiUkZbSvISr4A5kJdG+vJ3KdBXbEZUP3HFpKzcYbV5jijjbFmdEP2o7FManS5AnK0bVZwHetSLgTmSjoRDbTISvQ6GmvONWTRaWiww4G5Eq2b08UbzZy3ofDBQs48J0COe7RDJIUExtovDavpJduDdSOmZCV95GhmMwee1JMsInip5HtwaWowRc9gdas2OjkaS5xPclfSd1gMx/qF8WVnBEVDmWNtgLFiwVUA9o0DYFNQZvltY2fB9qzLYpTBYEUv5xiQC67iM1by1yRIy6yNiw0V1CBG5BlOcs2kFnCdNt8SvZEzDhtNJ01Cm1lL0Rs2hcQHAWprKnaAowf7+8nWLi8vseQa65uxZoyxcUZhcpyNcFHeDGq4prExdRetPfyZBPjT4dGjeLo/He2Ps3ZTbWEhTXCfsvHwqLPRggvK077zOIb/bthwOGTrtOpirNckfvKYv6W0i1/fEg5CqSuZS9LIv//5L6kLFahef9PA4HijJ/TgSM7EW4R6o/DhWP+WXASjny+l696GYdx7XpRY0A6iydD+GNbdbTFI943AGHeCg1lQ5L7OG0ve0baX+cZ3BKHY2HdRDtJoJpHmMMZpzSBWzMmlTVCCSEJMXwjA/9GxWVCKXqzp7IWxMdmSWrZgyLEmw6H9buU8VMS5OVPUXCvFWL80+MScuGKn7EA76TFOdqXnbvMSkO7weS/FU+Q7PUadxkwZXEzEnUoArZuqDTdkzQUtJCzpXBXX2PevmhRIhGR0lpfclVPDrSDev/WWYKxf4e4Vq61cSAVzLEAceZMLlpLCFUCNlCpGjTX8gTXnprgXtQWFBd85Bb7ihamShaKCBFKO4Ra4Yy4UJWrlL9L/FKY5KxQWWwMnRayBYih0Bs3ElzE19xTWqSLQqGqwqG0sIiSPNRX1b6TmITu1ZoGkW/VQh8u4G2tP+C4uRVWT0ZCxkGVHRYt4WA3xSupEDF3GuaVJer28vHQlKDXWX2O9ohg2jG60t9dkniGv5bAwVS84sPE4+nivQxyN9VeMCh+j8IUQIy4uJrpkodxRXkEv6smRgsTxjHyiEblnRaihCGvEI38Dw/kwT6QKa5wbpFfYZG/f5mONkeBy8BMbf6yDHmeXlGupHpuxy965YtbHFB8TezRnVgUsoVN5aBZg2Tle4ZuLb1CHo7090MOlvJI1CMmHxs738Nserpm8IYv8dhgtryWJ7wBY7PUrabaUSjGu0LC4VMMxduoNELWpv7I8SxVdNsqaOpN+PmGcrzhhEanz3fXLv9vdfweQ/OgvBSPW4OHa79WKS01APGIzNwnyOs8WB4hLpZ8S5r2nvBLBsdF5dnODNcJbq9ZrHH4XqBM/v8izBbcyvjngm1wDniDMcAXY7f0QJR2cRRievIAgl1swKr7nxR3PqTH64NqLDn53evLmjH6fF3/4GN8KMsuXCErwJeJ9CB9R1UnAE47dZIrreSAwNYs0EUDBy+0+NCREZpreIzeAkV515CPlyALt+G3y9vU6y9NxmgBAJ/zY/tPkeJ39jS9m64v1ev0fwvb3Wg== +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/create-webhook.api.mdx b/apps/www/docs/reference/api/create-webhook.api.mdx index 78800569ac..9ede13a815 100644 --- a/apps/www/docs/reference/api/create-webhook.api.mdx +++ b/apps/www/docs/reference/api/create-webhook.api.mdx @@ -5,7 +5,7 @@ description: "Create a new webhook." sidebar_label: "Create a webhook" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/data.api.mdx b/apps/www/docs/reference/api/data.api.mdx index 11f04aeeb3..21b3517032 100644 --- a/apps/www/docs/reference/api/data.api.mdx +++ b/apps/www/docs/reference/api/data.api.mdx @@ -5,7 +5,7 @@ description: "Data References" sidebar_label: "Data References" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/discard-address.api.mdx b/apps/www/docs/reference/api/discard-address.api.mdx index 274413f5d0..4e214c1efa 100644 --- a/apps/www/docs/reference/api/discard-address.api.mdx +++ b/apps/www/docs/reference/api/discard-address.api.mdx @@ -5,7 +5,7 @@ description: "Discard an address." sidebar_label: "Discard an address" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "delete api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/discard-document-template.api.mdx b/apps/www/docs/reference/api/discard-document-template.api.mdx index 082cbecdff..bb21ba029e 100644 --- a/apps/www/docs/reference/api/discard-document-template.api.mdx +++ b/apps/www/docs/reference/api/discard-document-template.api.mdx @@ -5,7 +5,7 @@ description: "Delete a template." sidebar_label: "Delete a template" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "delete api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/discard-parcel.api.mdx b/apps/www/docs/reference/api/discard-parcel.api.mdx index 439ccf4374..6e2ca3f9c8 100644 --- a/apps/www/docs/reference/api/discard-parcel.api.mdx +++ b/apps/www/docs/reference/api/discard-parcel.api.mdx @@ -5,7 +5,7 @@ description: "Remove a parcel." sidebar_label: "Remove a parcel" hide_title: true hide_table_of_contents: true -api: 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 +api: eJztW4tuG7mS/RVuz2I3GcjyI/HNxJh7F7KtyI6fsWQ7ThTYVDdl8brF7iHZtjWGgP2I/cL9ksU57NbDj4wzyS4uFjfA1LTYxapiseqQrKbvoixXVnqdme0kWosS7WJpk0NpY5VGtShRLrY6x/toLTpSw+xaCSlyvq9HtSiXVg6VV9ZFa5/vIg22XPpBVIuMHKpoLdJJVItcPFBDGa3dRX6Uo9V5q81lNK5FVv1WaKuSaM3bQo2/1CIvLyEtCla46EstciourPYjKulkV8qsS6fjaO3zl3GtbKl+HDQKP1ipfr0/7fDxCzS5PDNOOdixsrSE/8WZ8cp4PMo8T3VMXyz+3WHAdw/tznp/V7HHwC0853WQppOHY7vvvYYojP6tUEInynjd18pi/DdKXw78THdTDHvKRrWon9mh9JiVrOil6oHAzkCVM/HvTpRiIFAnfvA8eaZIU4lH+v7r8il1XIsG32DvN8gfTOxPlbn8XxhAKXaMmI2v5KU2l+dBwcOJ+waxE2ECQuq/9uzi37pGlP9+/nk/80r4gfTCs1vFrZ3IKFCm4magjCgcmmXJokRulVO+/vPP90Rey7RQbk3ca75Q5lqlWa4uxEUury7EhS964UeaKn8hLtxQpul5L7u9EBdDlehiWP4YZYU9n1h2cU/wu8yKWFqrlRUuV7Hu6/jeqF1N5KmSTok4M65Iw1it6iurTKzqU2FRLRrK291yhleXJrOhzsN4f8hsTJz3/KFUXb5rKHOGfdc4Zl/N6VmhohnU+g4lpZSnlS0vQZl250kWF8N5hb0sS5U0j2rsyyL10Vpfpu6BBdsmAcgqJ3S/TAmYg3yIs2GeOZWIrC8qjU5kJh1NcfK8MJpmKFMMsUjstKJatLse1aKDT1EtamG1uO+T2wXM9gK6LACpoxUp36yuxv1Xy2/jvyT9t8+BVkHNmGU9VMbpzDywZWMvqkXb+1ENLnmOHa+X3759Ffd+WV5+E6+8eRt/Y5BUhkxM014N3cwkSWvlKHrY/o+2isXZcJgl2o/mF7L/6xl/aMbEs1779E8sFY3Z5EJc+1k189n2avV7IeRbtIXc/q2QxnNfNdGljVeXnLlJIi//kbMqMeJFmHaRWYGYewnXuavizwHVrAZ3VYhJSN132sCdx1nyJ1fyWS2loKc1cfE9l8OsMD9sCzTMjPLSjsLK/nDaJmrjwmIRGs0mQ/P4KKpFjeZmVIuO26AfN0Abe6T7yJXGQQP0qA16zPZTtn/aj2rRegOotb6O9vXNDiQcvMNzi2+32L7NFspc3yc9QAKuH+2CUu96h/ynh6BnfP6E9o0G6SYkfGyAbmyB7oe3u+Df2D8DPeDz0QboMelJE/TTTlSLNt+j1+YOn8m5SQnNFp6bR9DY7MCqd+/R3lpHe6sJC1tbGHuL9rf2IafV+QB6hpatHdJ9cG4dQf5WB/7ZOgbn9iY8vL3bJrbz+Yi0Dc73lPn+gPQQo9hpgnOnRboFzp09yNk5PAU9Ij0F/w6173yCz3cbkLa7A/7dI7TvtmHPLnn26MO9TbTstTCbe7R5bw+99vYhYY8+2Ts6AGVU7J2QnpLnI/yzd8YWzvs+ZX485Fxwrve30Xf/APz7h+A82AM9bOLtYQvth1vQckg7D3fZfgZffWig5YiRcHSMWTg6heQ229uMrvYGnzfB325CWrvFdsps72J07QP4rU0PtNts7/D5jM+fwNPZgvzOe3B2GI0djr1zBP93yN+hhzufwHPc2AI9OwZly0kTtp2w78nxSVSLTtvw4VkTFn6Czc9dwvtLK2+XpJL9ePX1a/U2eR7mlJn8INlLDCgBZlyLMqsvtTmP8dvOZX4DCcI5bCBJmFkNpvU2yC5BgBhACCACgBAFOoQCIgGBgDhAGCAKgEDoegAC4gBhAOQ9oYBIQCAgDhAGiAIEAWIAIYAIQAAAYfq3iAEgkLexQxgA2SMUEAkIBMQBwgAIIQLyNpuEA6IByB4RgYAADIBfmk0iA4EBpE1wADZsEyBA0Pcd+r5D33fgY2q14AMGZgtSWoSLFlEEBAJaBJU9ogkIkYaAQilQ1ILhrVOCDDGGEEOEIcAQXwAjG8QYkCZxptxCRtsfCDVEGhD0eN8k5BBxCDjEG8IN0QZkm4gDsk/UIeiAnBB4iDuEHaJOtZXahRm728QgQhARCIToBEt3T4hHhCOQDUISSJOwBLJFaAIhVO0RnQhOIASoD0QpEIjfI3QdE60IVsQqQhWRikAFAm37TWIVoQpkl3BFtAKB0P1jLi3ELoBTg/gF8o4YRggjghHAQAhlMIMATQz/gG5H6EY45cp5dExQI6YR0ohoBDTiGeGMaAYC+7hAEMXbsKW9T3wjvBHdCG4gJwQ44htAC0IDiLWIdgQ7EILfPvGOcEe0Azkh4hHwiHcgLe4ICHzEPUAdXpxsEABBwHKyTSQkEBIHsSiscx8BAr6PsJ7rx0e+PSNSgnSIliBg+QQLmjB3m/DAEOAi8PH5eLq0Kt/03i4n6s2bV0nv1fO2UAElsescSlP0ZewLC1QNoMkig1XGnz9+wPlj+TqpkNqqVHocUW2irEi1Udzo1qFkqLxMpH+0XCiTRIdqz+HskWv8R9p/TZSXOnUzVYxfXTEcSjv628Zk1SicstMihROVJfVfFyvmrplKuJs+4l8X7vHnYRPbjdZEN1pdWf7l9S9vVn5Z7ka1+9wTRcuB+SeoFl/lXJnlXPka56tZzlcPOOv1mRLMeMYpiw8dxfWTE/BkoW9yxIlmj0nzU9AOlSLlGABBIMte0XiufP25OgTPn1y/TA6P0cbsnv6pgz3jydVDabx0Sjk331PvmYZHebq5Xxx7EUsjegqxlAjphLcyvkKFrzzS9VE8K5zPhlUNzb18qhoWDpd9G9wQp9K576xVlbIEZdGWUNcU0iSTl26gcxaN6vPm/AWBQLGPFkGezs1JeNw9mLCvJWb4cDEtMZa6n5uN2rjCShOrkArLS0v1paVHcoZ8KjnvjQJjOS1znD8yRfLHvwr9uPwoPzuNxw+8DTtfL73+gV9slLWZ/Y5a2VA5Jy+f8Nj9MKYyLE830hrkVNWbtdzHKxePFApCJ8EedBGn81tDelasNCMx5RWVxPG04hU1DrebMP9xzEq181gbG4fbonTpbGf2PCq/uz09sW//ObH/Hyd29Yd+Y/3nxP6DTOwY2/av3xtQtz58mgjXAq7UKFq716msaj7ojC/1Q+UHGeWqVHnFewZYyKPF6+XFsAy5xTudjKPp1YA2wijMNL/5l5cRBkomLM1WQZPrHTWqriTwS5aSlhzh4V1VwoWUyS0G3CnIrP5dll/J7hXeZ9+uiXUKEre3t/XyP0xFdS9hOveSDbV7hj6hsZ9mNxydnH2xUcbiXOOxTeEryl+s3qhFOAEXJeZes2WR/sjy4D6rZMLbHjJB5PMFFm2rPQw7tdrPtme5Mjy6HeTKbG/is6JBTD8SO0/6if/gpPImx92D6XqWj76qjaLFlRqdP1BYXiaZaB14n8+FCN8/U+1CMadkjQmjTT+DgnnWrtnBni3D108phkXq9cLkA/VA5zn8jETlBQKnh3k63WnxQ01IJ+Rzml1q53Xspp+4lb3WsXJ17DaR+qUyCMT1A3spjf4du32bFSYRR812py4OCkuOgXT4Jp7o2GOPLqxyWWFjtZBZrQzOwMdHu64mZByr3Dvxvn2wv6AMoC7pGmz7lPOilyUa9wOs8oU181xiciGnxm184ZQTzkuTSJuIrU7ncMJBBAVb4Qf47BiWkNDtWtneo2NMdL+vbDgtqGtlR7AVNQEcb254lueXfqNuIIRwVacUp/AB2gmJKgLPPPSTzwTuSlTMVU2gcbhN9V3z00/iJLzT5hINp7jZ0ZPx1Y20iVvQBt+4pddwaDyQ5lIFJUOZKIgvxdWEhFU1kbDYUOnTrrI5CXaWhWQ/y3GxsrTyuv72giYhh0VWzmhQmGaX0JQqaY0YZlYJ2csKP7VSVDbqVPsRxTQQnrlVsSyC3wtHOyu9vAiSiXig4qtg+uxb0VP9zIYqt/a+ZJZGFPmllYmaOq9prrXNDM9wj0xohvkMlwYy50oDqdgq6RWjwSpvtbpWIlbWSxSFuMI6oY248Mr582GWKHhn24hE8c4M9NWE9nCfHygbzA06Us6LTJJJWpX4hmipiUvlRaqvlbC401Drml4xEqnsqdTVKrN4kkYgwj5gSlKkSuQ6viryR+wqfXGI+zUMc85Amgqf5QspLKYzqnx0YiCvlXBFnmfWM9h7RXol+srHA+XEtZaiG2HV70bsGBZXV+d1GG2QcLGqIbIFSgDcH8gksco5jogNk6N1yDm2VeOqi5AybJzRINwAsS3D5w0jnLcFK3M14SVLC9IjDh0v2TjVNf4mE9MbhWsi1UPtg8as38eNHviijIjC61T/rlz5aqGHvBD5xG0cOY+kfF/aPdR+RkW9a9YzP5hpgWmwuax6SFd+knnhlBI9lWY3L6s4K+xcdFlgDKBqYDOTAY5jmYZCYZmtpSETZRNUrKTAg8DjPl5KI7RJ1G3Z+Z7plZ2hOTMcafX1vT+R6DPUdIIehUpJNhTLaEVVIcTaxcUFtuJdUxYiuhFBEjWF5aWlWtVo1K0PdQZswibx8B804K8rq/8WRvfX1WmpohvlVl3rrHDP6biyOtPRKly+Yr/PM6US1P/EuOT60jVjml9mzF5Z9cTP4xzQyYWrDJfSI//9n/+lTZwW3Nq0S2M4owcs6TKZ5KSCOnV4vWvOyhQB+vmBdrOzkQnpvYwHWPsXQsiwfwB1d98M+r4yGLhTONUvUqav85lldky2+bVp7iQCWwlsUbkCGYRJkFkPOG2EupXDPK1SOivShCJVWLxQK0ZBrUhTgf0Mxx5nNiy1dMuDGz5dw8BhfzdyXg2puRpT8NzEiq7ZzITJfKkVJxaH04AHTs5aL2cq1eUcNuYWeCLf4TZ8GtZJFifh6ykbopt7DVcX1QRda3XDcQ2lwflrVC2BFKRDsmxKN+hl0ibUfTbHAqwfofdI5FZf61RdYvvhmE2ousGIK6VySBoKnkHUv4hq3MS94C0VW+VnRqGNyItequOU2xFVrjHSKumEK+IBvNLSfqvo1UScYqu14HQSdkABCl2GMPGDsDTPOWxmD4GgypWFt7GF0DLsqLjVpZvr4tBm1xA9cQ8PA0K6roEQ7nrpagYNg4WRHRydhMEaFaYkL4UhZZy7yUq/XlxcuIFK0675V+xWUoG9tVtbXKxWnrrMdT3OhnPgILrdkONzm+m1rvlJhDs7aWawIbkmM+UyQqXjuoIsmrOjBIntPnOiMnkuiuChcAIMQ36h6pf1WikqtplzC+VnpjLeXta6BkhwsbAlun902OhGF1xruR/ri4u5cYVVH0t8WNhDOIthgQ10uTnMrpUVnzGF7S8v4MO1xUVl6jf6Sucq0bKe2ctF/FoEz3mbEfmyHiJvIvJG+wE2e/P7aHGj01TIFIEldVrv4lBTFQSm+y8c2cOODhfquMvkt7XM+aHkoa08H937O4H7J6SZitBjf1JQnsG8uvWLeSq1gZICZ9a7sgzwObpeDn97wL8PqEVrOkEdeZA5j7d3d9gLHNt0PEbzb4XC1YnPX1BysDp8cfh8h7oDnpPHb6rOWvniqKxivxRPGVidV81oprIR1crSh06i8RdenucBdloTafD0NNPlQYVsrh6y2dxtdvDpFRM4exu3PKD2yr+KuHvcHjpGx4jV4zKjx+OJkVWSR/i7iT/qf1gm10z/Kt8w1PH4fwBhZVKf sidebar_class_name: "delete api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/dismiss-order.api.mdx b/apps/www/docs/reference/api/dismiss-order.api.mdx index 516524041e..d95f078e15 100644 --- a/apps/www/docs/reference/api/dismiss-order.api.mdx +++ b/apps/www/docs/reference/api/dismiss-order.api.mdx @@ -5,7 +5,7 @@ description: "Dismiss an order from fulfillment." sidebar_label: "Dismiss an order" hide_title: true hide_table_of_contents: true -api: eJztXQtTG7uS/itan63No4x5hSRQ595dwLwCBi6GJCScMvKMjHUznvGRNBBOiqr9EfsL95dsfS3NeMYPYgPJ2T2rU3XnkrHU3Wq9+mu1er5Vkr5Q3Mgk3gsra5VQ6p7U+kiFQlWqlVDoQMk+fq6sVer2R8ZjlqAA66ikxzpp1JFR1BOxqVWqlT5XvCeMULqy9vlbRaJin5tupVqJeU9U1ioyrFQrOuiKHq+sfauY2z7eaqNkfFW5q1aU+D2VSoSVNaNScfdbtWL4FahVSCxd+a1a0SJIlTS3xOM0+SLiDa5lUFn7/Ntd1b3J/nG0npruUvavdx9O6c/f0Lq+EgE3GSuw1v0k1kJDsKWFBfxfkMRGxAZ/8n4/kgFpa/6fGjr5NtqQpP1PERhoQkG3RlpqMhxt7LCC11kay99TwWQoYiM7UigoxFJs2brjaHR4GhmwHtttzb4IQEsz0xXMEmNEBLRRpTWNcKddwXSSqkA8c90vw9qARMjNWOniNIp4OxKZikeJWmKoX2OdRPW4WWOX5+fn53ONxly9fgkelvF0QhK9Z9oJSyJqw01K3SDitIehlMZu3AqMxoDHgXB/F9+HIpLXQtHffa6M5BFG37AMX+d0XwRzoD0HVVZera4ut5d5KJY6y8ur7eVSL5VZT9KHFdlK35X9voyvWiahURhFRx0a+D9sxPUTbXjUCpLwgX3Kw1AJrZklxEDoImbuv5cvn2dzHB3O0D4sH6yfqqDLtXjx8uWgdKVa6fGvByK+Mt3K2uLCXbUS0Mx/jFygUHsaiZYhUUeEQvGoZfjXCZPp+7JhgN2yjrKkmOFfGS2VBV5LC24wiyfgRHTGs+gLpZO4ZRfsWTmsG6yXMomZSZ5GxSvU6Umvz+PbBwqFZjsKDBSY7NByaFUhNePZz2NZp7FRt/l8yBaR9c1KtbJex2MLj208dvDYw+MAjwYeh3gc4XGCRxOPUzzO8PiAx6dKtbKxjscGHiC6AaIbILoBohu7eIDyxjs8QHkDlDdAeQOUN0B5A5Q3QHTjHA9Q3gTlTRDdBL1N0NsEvU3Q29zHA+JugugmiG6C6CaIbkLIzfd4gN4m6NUhWh1i1FG3jmp11Kjj1y3oZQtFtsBoC1S2INoWRNsGy23U3UbdbdTdRt1tlNuBpDvQwQ7E3QGVHci8A1I7kHkHBHYg7g7q7kDcnWM8/oEHUQGjHQi+A0XsQPBdcNtF4V0U2UWRXRTZg7h74LYHbnugvIdye6C3h8J7kH4PNd6hyDvwfQeZ34HvPt7tQ759yLcP+fZRZB9U9qkIqOxDifsQaB8C7UNXB2jvAdp7ADEOUPcAkh6gxgH4HoDvASQ9AIED1G2gWgM1GhC8AQkakKABCRog0EA7GhCjATEaELcBWRpoVgPkGyDfAPkGyDdAvgH5Gh/xIEYQ8hDcDsHtEIwOwegQkh6CxyEoH4LyIYgegtQhqh2B+THqHqPaMbrxGHWPIeQxhDwGgWNUO4YYx2B+DL7/QLUTVDsB+RNIegLKJyjSxK9NaK0JqZrQQROFmyDfBPkm5GuCRxM8mpClCUU0Qa8Jlk0QbYJvEy1vgm8Tgp+C6CmInoLeKeidYsSegtQpqJyCyimonILAKQicQrRTEDiDfGeoewYeZ6B8hh/e44f3IP8e4r5HkfeQ9D2IvkcDP6DGR7TtI8p9RLmPkP4jinykX0HvHD+cg/knEP2EIp8gwRbE3aPlgYYA1N78OJXhsrDC37RXF0Px5s1y2F4WYw2UfBO1yyLt7rAaRI/L6DE7kiWA/aebxKIVp722UI8hSHSYpVObuJU+3syxWynRGWWihLbWFS8qp50kkeDxWDbOUuzwSI+w3YtDQJB8A8tEkJoVGLFEYT/rCRXgX89FbITqK6nFC2sPKyHMoxQ8aDpIOR2Pab0r14pkLBYfxwok2I003TJT9mtbzf/9CS2NoshLTyZyKo0Yqybiec0jCQjUihILMH/gUNHdJI1C1hYs4xrOBDMdndmApmPlWjYthtFpEIDVOGUMaV2l4+YEsQX/njBjUToPQwkSPDoucr77Xi8P2sO0UNcyECwUhstIV+5KTozPeSOwAEsDgpV1K+H7gVLgkLifo1Xvbd66ggRKaHTNMOOS3TrKvWKdICNmcqpN0hMqZ4RJZDJgWkak8AB5TOoxqcekHpN6TOoxqcekHpN6TOoxqcekHpN6TOox6cMw6TRnxvJKIgyB3XAlukmqBxpOOgO0yqQRPXuK2pZRBMiajZQZetxDTw89PfT00NNDTw89PfT00NNDTw89PfT8S0PP2VBLnRs+JXLJTtcQRMuyczTmwEkmEwEWKKtF+KXQeK4Uh002/P7pz9tuhLzqmkL1vLNskC6ixZMUbZ1gXPaSUJrbZ5o5SjnNVhpLUzQcyVagTf8Im8LOVGvzEudvVlaCzvLiavA67KxOKQYj5nd5F85szrPCvzOsmbMZwkIrd0PVfyS3xQXMnN9THpsyIJSxEVcuMNxNkMXvKSsjw567VSWxWNqul1/SB0OOnIP+ko6d/6S0rn7ENlTk4ghN5nTNo1S0eA8TfLrB/n0BekksDFe3jIiPdlvONkiVEnFwW5wMW2cEirbqZC3Vye4hTEWW7ToZm+tH64SeCDmd0fsP9P4TASBCWRsWNNVhEX08srCJft2l93v0hmhuHNLziJDWyQEBJ3pDlt3Gh2PCTvT3J8JMhPE266DwkVDe5u42Gbn0/uCYQBOBoyP6+2STcBM9yc7b/EQw6d02ISb6m0rWicIWoZetk0OCSBsEjwj8bBCq2SKos9skwEPvDwkQnRLcOa8TtqEnmeO7JwR0yHLdPdsmbEMYhsDEHtnoeycW1ewTmKkTmqEn2d77BNb2d+hJYGmfjMh9Ms/3yQLf/1AnHEPPT4RQ1gm2ENI5OKkTejkgvEIIhXTYqJNFSiCvQTI3LFY5JBBCOmmQwd+gUdF4T88PVIbs38Y5vaF+PySaHwlXHFJfH+4RFjnaJ0RyQhiEwMXWIWEPghy7x4Q+6P0BvT/fIcRxQkCjTkhjg6AGmc70vkmjq0mIuFknlLFF4IJgapNoNg8IaRwRrCANNJv0nqBE85z+/kQQYneDIEWT4AQBDWr76ck5IQp6Qxo+/UQAYn2XYMQZ4YgmwYdtQg11gg3vCTecEio4IURwUqli3k6zsXQWllYXuOCdYOXVK7EaTrfmuJk8MtndGuAWGLouA9dly1kU3n/i/Sfef+L9J//3/CdTr6djnCizHPD0eJx2eGBSJTIXC/lEuBKxebDPX4bZSq1EBMjnzosIocLQrWUHdCF/2kO6X92RXAGi/6rTXo+r279v5rtGqoViSnQEdhWhWSZJ7df5rPBFPKDwbfAn/rug24rOoXFRWWMXlZWlxbev3r5Zert4UakOl84ZLdrCv4A1u7fkUrHk0n0ll4sll0dK1mqFk6e7glLmRxU105FwESbNcChcuJ7Zmg5MLQx7CxzgLePdgtfgQMZiz4heZRgeFu5/5gPROgMSKjEW8f+IgUhyWJaMX3NJZMqBwLkjSU87JjMbyY6Hs2Z9zKjpcxm22q6I6UoVtsh3ObboLdi3eEDLQmm0Ly4tv1p5/ebt6ph6YWpuWzPwofKzMpHxdSIDMXN5uJ9s6aWFpYW5hcW5hXHTUMv4KrLeoVZfKMgeiAgVqadHNM+VknTPW6PMZ7yJechxHj1nhDYXld9G9UszWImw5YIJrFw42/3aEl/75BTU/BrNq840hZ867kHfaiN6+Uqer5UPX8Lzuf1tZIqeYWXOqE6Ijadp8ad47aZeHTMxZ1scjeLBF0RRpGrs0UbuLUmVnGofzr3RGWUGytkVA+uN95cLfISHj/DwER7eQ+E9FN5D4T0UPsLDR3j4CA8f4eEvF/jLBU9x4X3o4gCtpLWhOXZk/dFZ0eeYY5T/8EXuAnj50mHWly+HKteFNjK2kpcpmKRYX4lA9qWITWm+UhvdDx4Oezjs4bCHwx4Oezjs4bCHwx4Oezjs4bCHwx4Oezj8/wkOm1TF/ia/B7Ye2Hpg64GtB7Ye2Hpg64GtB7Ye2Hpg+7Nu8lsUMpQlW+q8W2qsbluhmUlITgeISrf8fVoyD2Y8mPFgxoMZD2Y8mPFgxoMZD2Y8mPFg5ieDmT6/TcrAxF4p/b+Ye8xKXk48JkN04tOkdxrQJ6pIVzWDvDPQ7+byR24UPjEDR5Z6O/jCr+gjwxPOf2cgmxOj09/hs8OXLw8TI5jpcuOM+6y01O7SOY/YTVfELNWUFM8VEQx3joWpjZwoUo4dvTa8xlyK+FpESV9csss+/3LJLk3atv+IImEu2aXu8ShqtZOvl+yyJ0KZ9tw/bpMUt6qdZJdDhLexcNs71UzbU+9gqNW6yvqR4BobTozTWZdswiVFqN27trn2tmx7n6Q3cuVN35SsyqOa8qj0d6V2FH8q72AO/uXfaX8EE0dlMjObZU/qVpgEaa/M8LFbgC7g3UBEmA+Au4kWlK0k46hZEke3f0o+xaGlNU+mGMqeiLVM4hFZCKsCp02bLubV4urqctB+u7j4Jlh6sxrMOEgyQXLRfAZNn0HTZ9D0GTR9Bk2fQdNn0PQZNL2r37v6vavfu/r/fFe/z6DpM2j+9TJozpgLc7No008C9oVEmLlSHnvwBLI5sez0acg59jzgMTzwKTwwXA+S1DlIh4ML+0GPzIemX0yOiaEQFGXVEES8dK3lIb4qR4sRLZLF+jUZj8P8x0GWzrI4rx+aVPSe1Ij3Tcxjq/Hcxeh4TzsbZaxTxeMsCeXiwkJtYWFsHk2dImVlltrTdcusGSqnniK2M37g/LB6Gz85sr4lJ689rYFvwV5Hmsbn5Ro0dsV1Lfw89o5QNtqzu0841vw9Fdq40zxTkG54Uh3f40u2R4HZGBnhcv9RgtQ2RCiS2rC2CDi+Coo7RqyRRkbOZW5uhdM2Jy+7TVJsilHo2N4ynl/oQqyeq1QbvoP0M+fO/dl4B3p+ujS8pelmJ9uYpLK620riVigieS0U0VseWzLk8ZVQSapbV0kSTsxSG4og4pi8BPiI88pYerqnW3ECR6s9hZ1IkUIVHlq0ZRKrIhe2+R8oUQuS3hh9dZMobHGTnwtPZNPnfaEinFsbxUMxudzDku86/bgRMXU24ax8nGTlT/PZlB/M2x/HpCK+ijlsy1aQxB0JX999CtAoG/Lb0rAZW1Lqlg2xnTxgkqDVkZFwSY1Lv7LRoV+uiFnr9og8BKPl0jCPNHOUp63a5lq8fsVEDBdpyOwP99ZFWOMktrV+2Pkea3KmWgKTSt+VX41mdgahgWX8EOXJ8HsprcvlZ1b2PW2YYvt2qcFnCqa2CcGL3iQt4pA82IP0S9VirvCpDllehYudUHReL/DVleW3wUI5CXPGYVJARnZ72ru5vZvbu7l/kpu78oM93W51ch7t3PGNeV7+zMBD8SGFcllK2bHd3V0RUtjV0V7/zyzSwQo4WJYGyw7YjoqHtxNgu21inhIBtICTZ7rg8oiz98x1IafCQf7s35/9+7N/f/bvjSJvFHmjyJ/9+7N/f/bvz/792b8/+/dn//7s/08++8+uZFjQjpKpBWg/0rU7ixNojIv3+1MIjYCbxLkrPJTxUMZDmb+Gfzc7x3bgpejfLR9xP919Tntdr8z4qfzJ2UplfdaT3cp1LMtT3zYuuoenCesoXRbnrJ4aSVEQbpOwZ/Qhg7dO2dyyPIpuR8I26GO+j8i55D+q4tM1+XRNPl2T9+N4P47343g/jk/X5NM1+XRNPl2T/6iK/6jK4KMq04PqoaRbzteZj5fMKM5Tv1SqlSvZgY417/XJP4D1qMvjUGpRyb+NUn6ZmC5NkOkdH2/bweKbxTdiebWz/KbzenVknhSEnSlGBxlZ4iAxQvVKaWLITt0kZ+TmHjkLyXapk/1fr5NTsH5GVvI/6Emm70dszdtk+2+TOb4N5+W0jVx59YoHr1+Hr5eCdijC9pRn1RTHxp6hCXQMgkD+Z4xHOmFf4uQmxk2xZ1kjn1EOGhvp/MDDFlt55LLamAXPFaW4/8cxA4Vht0wdy942+afW2OX5+fn5XKMxV69fll0soxHeUy6796ZEyjccmxTJcSB+WF86t49gYj1NuMiACz9EToqQufsMuPoXESdbYhrFDnfMz7wttOkGaOZ9slvfrBfuuL0Y8J2jLyGiVr8TTFEykoGItZj+VM31A/pn+kqx7E9fWCRKTl/6mpuWEldSG2WvB01R80kP5Gy3tmTcSWY8k8vP21wI7nRbVLbQPdRJW5q1SYfxuOydHfbhjvhqcU/vz4nenbpTIOJsJpu7TzjR4zbmOwPcCGSmsxWLNKZpISgYrq4ETuldxWfauuuejzT+xfBh5HTiDcVs6kFAVwZjnTn3QB9jLjYxe/57mhjxIjMRKRw5Idd6Fw2dNuja9eHCPTrPm+VC9V3QA3FjltvwtMguzqHclUq0HqpLLeAdYz8DQdkirXHtNgFHVpenglE81hIX+m6LI38Qm/x9JeKjez2K1chu3jFHlRFV+Bq+GsWdFh8x8R7hTCbWpeSLgI5PGl7seJRH7PeG/dRkR+50FJdfOzyLO/vo7Wq6vFwYK8/0mMFBnZX1Z36T8oHHe9loKAwQrGo/AN71VXItw2Ki0TxECGoS2rR6ZbfRJGCaLbEh8sQC3DBp2A3XLFCCmkDuAZ5nNpUxA3lG5EcQ3WA5HVqfi0IVoN6J0893LslTV5acJbSjsY4wQVeEyK56LZNU21yeuXn/sG4c8MjpIG8wb4toBE0eU8TGJ+smJr/z9JgpXFzgK+GKWHi7vPqqvbg8m3AkD12TtamBy7vZD01ZkE0ssuqvkCRikF8ASQBupO7iQz1XIu8nlfS+l7w4SyNwI6MIzh+NVpoEiGFAXsa4PN11KY51NnaH7R3KLjJxW5/CP2YMp4HlCDHrpHFTosXH5sa9p7OoIqAD1gMje1MDQra7u9ZorDWbtR7998cQQnxYYOA9cOgM8X4Z1RHj07LUmj9qV3MUptOhUCqhWz83XMXo96w24ePxnvExN2FspdyIynxhM6qtSBZHtYX9pHg/b2bDdNisfArT9B7DtLCTNgbanHLWI3nBmP6wCVMMN6kuudsUJx9b5ty2G0MciCiiv120CQZP3HJWFDWPtlL6IRYi1C2eHdvDCZcaXN8fbNd5hdtWh0tQnmYBFq8W34pV0X7zdokvLPDVEh7JBJ90xcKwZja7Xaun6PkZ1vepR8LsNIsLdxmtZVmZHnX0krMbyvFEAyTLj1Hg+zRt0rfaiN5Qe7SIRIAVWzk33k8ITvKI1yNej3g94vWI1yPeiYh3Krdxvsdl2xh16s9X7qPW31z2wopb2pYfb9aU1FP7ucMhcwykamxoUb7IpEo+BN+fnRwUTj2fnkt2SEl8hof2AO0OvmFVvufj8rlNGuvNAmycLIRmXOskkANlk+mDa3AP7MzbvCtzSthWiz0HBBMnpva/Edbf1w+I2GnZvRRXuMNs6aGeoI9OJZN64wilK3d3I50BHbxaeIXGFz79w/v9yJ14zv9T24AEHXRFb+zKU97FCbR7D8EED0FhW18/3tuC+ONnSLafrx/vMafSYmWqeSJ0P4m1mNyxq75j/4odu7Kw4Dv2r9exd3BUQUbqxz06KJC6J7W26zchLfthLk2OjC8CicbKdVxen+G6MDt7wnQToioiQQ6IPkdwTWX+enGeNhQ9/02Gd9hTRJAqaW6bGEO2m999OCX3CGTtCm4FykZMX+4LDBkac7RLC66ohP1jOzNTQKXqoF5lPTXdRMk/uHPuDTlZir+usQ0ixL5+/Vpz/0M/HKFUMRQ24fSiOiToBI6dKLmxV9eKP2y6gVh6eQYDrDJP9OezX8Q8lJB8EeWf6c086SPpW/UpwaH6E8EJvdMPuNStJNxTlQ9KmuL7pC9i8lQe9UW8V4ffLsaAHjNwJuqJ/oOSTiFOcYJn3TWVju7lRqTZF3HbGmG4wbUMCly7xvRLQ4R+n5LtXFpiskazhaJ41r4NFb2I92GvJ/buVK+UtTqzlWiWuoC1Xj8auN3INaJcsFeHRQlilWSgB87GLIs2Ar8w7x0zEMSnN9UVj+UfCHdTSRqH7GSreVpjR6miEl2ucWIZysBQ0I4SOklVIOYSBbtahDDHdRU3REXfaPaueXQ45xLjXsTZOVk7CSW+jWnDVMulQJLWGFCJQ2RxoFsAcchVyHZPT4/zErR8olhquvDk2f3DVrsWqj22jaHsdHAch/MhQQ6A7DYrR3475LKgzOSxuAERWqxqREULfHxRM66ysCjSk0lwcqiywpkTY/14j9hfxL/8wt7b32R8hRcf8FXTNg++3HAV6jkEifb63EgoFPG6V8Iy6fEQTreMXJVxSFUlkz3M+VHEFckcWjlzL3+hxOXSwtKr2uvam0sSCrOYJa5PLcsouQKvSHAVs16iBOPtJDUDOVkmpYzsFc+LeB0DtK+QZN1qHrnWQfI6by9oBl0RfLHCF39lbdFJlM3zJI1xhXnM0v4VomkH6tuKr6VKYkJcY7o0QY/aO4eJ1k5AYkzwg8aDEkZJcS0ospMjLQptsISsLnPMAe3sxSwU9MVY8KsCUlu/prLiWh4R9QwPw+LJBFY4jJcqnR/Dv2QPkasXcTu9tbhYVzOx3AGtJvmwqoQpwuBk8CXtj5HL6eIYX5e12bXRA1HETNKfiyAxKSObkZp1+bVgOu33E2UjENpp9MXFHWh2LTkFZGpzUaGKdnfVNfoYrIwx5QJRtanxeWzNAxelTi2iFzkQtrOO3mXtqjE7aehlgQPTXYxubhN8xbhyklJumioznA5duME41HS4rsVFbG4ShAfynjBC6TUWyZ40lmPS6eB7ttCFGxGpkZH8Q2j30xyyc4esn6uNWk7gmn53cvekKbCoXcQbiekW3kA0yOwuxnDt7vU/10KwtoiSmxfZOEtVaXQprDJYrLoqiRMsyAHdIoKPwA5lJ0jOLF8XMyrQIFZk6z5HBGUovrrKQ6JnctrXuCnczULFsTJlFE2COAXLB5GaKumxRbxFmn871i4vL2GJX8QuKvjCXnpw3wKoZi9j8dVlIocVlo+HfycB/ra08m+2dX9bGXyogxLbU9DLNBWXVgoV7XWM4Wzl35ABh925Ur9dxHckvpsxDecPxD/P+lg8aetyw8Vp5L//879kHEQpGTf58Sh6lOxPO5n4ILwgV3jtIj53UwSrHwXBFnojcQEZ2P3n7JCh+nZZ18NikO4zgbHupFp00sgGEJlE0ezIrfzqYO4g6YH1pdEeFGOYWJo1u07HTHylyyLV4tcuDFY02r6QLQmfk0mjyJ6Soe1BouxmS2oZOTa7iGngUH13iElf2nBtsprLpbiI6wkcV44rAIsGGjBYJ4vS80KuJteH66Utnla+4z3o1O6U9Gke6HpQLI/K0TWWddC1FDfUrh6PAb9usy2QCEk7Wepcd9sJVyHxPi8VwVp/i9q3rK/ktYzEFQwQTbMJ35yBEF+E6INSjxEKEf/CsnbTume1JQIlTKEVMmb9tB3JICKDRLg9hivBNdNp0IVWdqTZTdtVFkQwtuZwJ5FsILsU6gTDxHTt1lxSWMGKwKDqCwVtw4iQ3NpUZOySmmvs2LrUB+ohOMC4vohBhOxeUjUNGhosNLKtokPbWIQ+gK3zz9P327W+SZxeLy8vdVdE0UX8r7BXIgbrWq/Nz2c7T433Jb6zUVoc2MWFneMlc3rtIv6F2TQEURJTRB0VJro0QrmmfcVmDSnI4RaJvQ7NiUzk0iiChiwGtE1+LmpXtaojFeCkc84lWnPj7UX1IsZKcDm3yy6+BzcuKpe015I91mGXpXbZXR9bvN3Y7XBmvZS+bGPNw+RaKPYZXdj87Tl0uDY/L+Lajfwi+yKUvJaoq3n8ax5lWk0akS9qduTlJOG6hrFXtqRtPBtdaUJoSu0CsCbzBwzsL0B2a9EhpbSzM7NcJz0eD85GK3UL6WlxUmM+elDwCY2UtT3ZSaOOjCL61M0Avxvx1cz3Iy7p4NQdNVjnwOfK9WLmb4bjeU1ShE030TiHrHz7BvvgTEV3d3j9e0oHijifvOZK2qOIz9/gi8Df4fj7oEWxn584//cLNkm+DMVSRozM21GpOncI4vV+Q/5mC2sHfpJ1wlSFKiNOs5KTpL51sHWKi+zo1OL5g4Ot9v8L8SRleUgxMsD4PXOz/O4uFzKb+JW76vfrH7sJV6ifzUE09e7ufwDO3c2g +api: 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 sidebar_class_name: "delete api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -2757,7 +2757,8 @@ Dismiss an order from fulfillment. "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, @@ -2786,7 +2787,7 @@ Dismiss an order from fulfillment. required={false} schemaName={"any"} qualifierMessage={undefined} - schema={{"type":"object","additionalProperties":{},"default":{},"description":"
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n "}} collapsible={false} discriminator={false} > diff --git a/apps/www/docs/reference/api/fetch-rates.api.mdx b/apps/www/docs/reference/api/fetch-rates.api.mdx index 27034d4b39..7c5d3ea332 100644 --- a/apps/www/docs/reference/api/fetch-rates.api.mdx +++ b/apps/www/docs/reference/api/fetch-rates.api.mdx @@ -5,7 +5,7 @@ description: "The Shipping process begins by fetching rates for your shipment." sidebar_label: "Fetch shipment rates" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -935,7 +935,8 @@ Use this service to fetch a shipping rates available. "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, @@ -964,7 +965,7 @@ Use this service to fetch a shipping rates available. required={false} schemaName={"any"} qualifierMessage={undefined} - schema={{"type":"object","additionalProperties":{},"default":{},"description":"
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
\n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
\n "}} collapsible={false} discriminator={false} > diff --git a/apps/www/docs/reference/api/generate-document.api.mdx b/apps/www/docs/reference/api/generate-document.api.mdx index 0eb76ebd96..fb6987ac52 100644 --- a/apps/www/docs/reference/api/generate-document.api.mdx +++ b/apps/www/docs/reference/api/generate-document.api.mdx @@ -5,7 +5,7 @@ description: "Generate any document." sidebar_label: "Generate a document" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/generate-manifest.api.mdx b/apps/www/docs/reference/api/generate-manifest.api.mdx index 922033f309..aeeea1eb3d 100644 --- a/apps/www/docs/reference/api/generate-manifest.api.mdx +++ b/apps/www/docs/reference/api/generate-manifest.api.mdx @@ -5,7 +5,7 @@ description: "Some carriers require shipment manifests to be created for pickups sidebar_label: "Create a manifest" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/get-services.api.mdx b/apps/www/docs/reference/api/get-services.api.mdx index 358c89612c..fda2e6fde1 100644 --- a/apps/www/docs/reference/api/get-services.api.mdx +++ b/apps/www/docs/reference/api/get-services.api.mdx @@ -5,7 +5,7 @@ description: "Retrieve a carrier's services" sidebar_label: "Get carrier services" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -68,7 +68,7 @@ Retrieve a carrier's services
    Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`","required":true}} + param={{"in":"path","name":"carrier_name","schema":{"type":"string"},"description":"The unique carrier slug.
    Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`","required":true}} >
    diff --git a/apps/www/docs/reference/api/get-tracking.api.mdx b/apps/www/docs/reference/api/get-tracking.api.mdx index 8312f1ecdc..cdcb1cc4a9 100644 --- a/apps/www/docs/reference/api/get-tracking.api.mdx +++ b/apps/www/docs/reference/api/get-tracking.api.mdx @@ -5,7 +5,7 @@ description: "You can track a shipment by specifying the carrier and the shipmen sidebar_label: "Get tracking details" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/get-verified-token.api.mdx b/apps/www/docs/reference/api/get-verified-token.api.mdx index e9c08eab68..4fc18d208b 100644 --- a/apps/www/docs/reference/api/get-verified-token.api.mdx +++ b/apps/www/docs/reference/api/get-verified-token.api.mdx @@ -5,7 +5,7 @@ description: "Get a verified JWT token pair by submitting a Two-Factor authentic sidebar_label: "Get verified JWT token" hide_title: true hide_table_of_contents: true -api: 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 +api: eJytWOluG8kRfpVKO3BsYDS0hfhHCCwCeW3vyptEgkWvsdAIVnGmyOlVT/e4D1K0ICAPkSfMkwRVPUORsuz4xxIQRPZRx1d33yjXk8eonT1u1FQ9fryk+HFFXi80NR+juyKrCtVQqL3u+Ziaqp8oAsJ4CN5+mIEchB61h/kGQpp3OkZtl4AwW7uDN1hH5wFTbMlGXQtDqF1DpSpUxGVQ03N1lGKrLgrl6VOiEF+6ZqOmN6p2NpKN/BX73gy3J78HFuZGhbqlDvlb3PSkpsrNf6c6qkL1npWLmgLvelp4Cu3OwRC9tkt1Wyisawrhyy2WBZsTazZqGn2i20K52A+wPHB6H6dZS3AyO4UnJ5ZgpjuCUwxh7XzzdADMU016RQ2DFluCFMjDwruOf1UWhk/t7EIvk6eG0YQBzaN9NDuKrWvKu1vq9jZjqT01jO+g5a4OxRaWi0JFHQ2r8+tg2RkfOZlH1PYUtVe3+wQHQDyF3tmQQT589vwPNNnXzHJbfMOaX1P6AUVFwTvV9q0nlDKoaqp6F0Q+jK2aqgn2eiIITsYwUIUKVCev4+aM1csavP0w43+aCbaEDXn29yww9voX2vA9Oa+mak7o5UT+8sb5DqOaCpVCWZRDbHbn9WeB9Auf29udwkshBNfX1+Xwx+Cd8KnDXfxRFop7gn6F48K4dbbP7saPrqEvFt97w3AJ/cm4QxMGgdHb2854Ch6uH2MWGfx3hA0nE9lQhVp7HVmwD17H3XXXk9V84aQne/yK48ayXz1g3a/iJB8GaXYvyLfm+i6MvslNSMMVbT5+wfAlBl3vcG1j7PdcRPa/k+1B2mMyFZfmIHx3l2FfX2PXG9rLkHcJbSfb7QSftgvHF/a5VfYX9F470AEQumSiPqh5hTyEVvc9m+ro9BhiixGC7nrDkRMk82kbaZkLEbgFGLfUIeo6wJYC+ZWuKZSVrSxn1oEZE9QBnF+i1Z+pAfQu2QbevT6blXCSvJxoMUDvqdF1xLkh8BRc8jUdOK/JRmrg/bt/hAI4W/QxwNuzk38dkOUK1VR2KEgwd42mUICnmLzdPwXbPFgA2oZTeYAQ0TboG/h5NjvdnpDCx8f2Eni+tiI/f1DHRi8W5AMsnAdakd+wrC7ZCBhgzRoZwkBgac1EgnaW6cxaCgSNqwOgJ6hTiK4TnKKDjUt+PMyosyGOTo+FfWUfPYJf8562S1740JKFOdZXa/RNONC2dl2PUTOgdYt2SZlJhw0x+YFcAchSFdAgAz3y02GUuclyQp28Jxt3T1wePjv8a/m3SxGJ0wC4waKZoXFL5mQIvYXOeQKcuxTvpIRRRm103AiZI3bP3lONKeOegsg58mU3jQ7qluqrLPruLsxpwXxq1409TnSAFlK/9NjQHXiv7Up7ZzuyMTxgUMf2FIx6F8IgoDD2hJHEGzxFr2lFUJPnMgy5UAbQFi4jhfixcw0xOscWGlqRcT3zK0BHhi+25LO4mYcRu2DTbMNqSJHsLQUsKYLRKwKPkUJR2XnagME5mVCMYkWP9RU7IsvHaalJhqDX9VXqH5BrwOIUl9qKm4sFjIHo+gPDEgsYYzwGaHFFEFLfOx/F2efJXMGCYt1SgJVGqJTRIVZKLuYCHUp44zxoywFXU8GeDTVa4JOsr6cQRCNZ4GwkZskxJ2ujXiXkkJHFHQ4QWvZtFMM7CyH6VMfkqYCIV9LqRvZDJsUEKhvXDnr02FEkH6ZgdKdj5ugWi0BR4Bk8IkVt9GcKw9bBnOMC+i1sojk7S94f5O503GFRVvali+3OCovGMtvUzclzplihSQRPAhHMybj109HPkt/zLs85hlNV6511nI5rNOB8Q36I1kGQLbNtVhypMIKcjxe8iRa0beh6uHxP9FHOvOysaDoI7RZbitHBnAY+1ORG+TmvPn/2bPC1y8tLLnCVvcmNcKUkSVZqyoeKcdHStaxVarJ6Ptn6w99FgB8OXzzO2v3w4lmltpd6TyvtUviei4cvdi56CslEuXd+15/fQFmWcDucuqjsrYg/RMw/KWKDEfnn+55TpxSuwV0GRP777/9oW5sk3dHZIIxY9IQtlYMJ2YWF1h3gZWV/G0KEs19sddi1hgOMEeuW24eD7DJyPyf1cF8MwX4UmPNOCrRIRsI3ROclOppGsyOjKe5ipwFuJbjLlQpk2U0yzTLnaQuU+5MhpF0yjZCkXLx4YPpLgEUyBrglEt1r53OpFViS1Z8SgW641C40+cqK48j9sAmROuE86pSR20pR2VcOrIsDV7QbCGSDjpwnd6XHsMW5HGy4P6FJ5js9ZkxznUwhl+GdPoC9W3qNUMJooJWmtejVocXloPiWkM7B8gpDO3foG+H9294RzvUbvr2B3uuVNrTk9iNINIXkpShcEfVMqQMZY+hPMOoteS+jRbWnuKOFttCnudG1kXaEhhqDnjBASHXLqPyk489pXkBtuNU6CLrJHVBOhcGxm8Q2l+b9kfauh2Cn6skz2txCaMwdlXTLAnMJp96tmPQWnjxiY6gsE5HGWaAWpxFnEc/OQDdZWUvZJP1AjEMmj+zlkF1CS8ZU9s/crRjg9jxMJ5Ox8pTY67J23V5ygKrKMb7Xj08r+wik7XHGWW5IVnJY6IqHYpC6wlG0J8eQJI4XEhOjyHtexAjlITKr/ITKZVkMpGrvQuDOdymJXvztaVFZzgSXBz9D9f/mlUpdSq2VfmwBl3t65arPJT4X9uzO0CVuoIfm0K3Iwzmb8OziCWM4nUzIlmt9pXtqNJbOLyf8a8JnPp6JRz4ts+dtSa51bLnZu/estNbGABp2LNSmrHguGif+u/5LFWro6NRU5S6TRxue8zuUuW8Ysfi168u3rvuz1s6bxx//PpZHwUjXcdIb1JYFTTw63wwPEuc8nY5DddYsP0pcFKrll4vpubq54Z7ivTe3t7z8KZHfqOn5RaFW6DUXF/51W4yj7fT8Rl3RRk3Vj1mzg9lGpmyJGhmI773s3BbjjSMZo7559mLnceX05IwfOObDg18nLwnK45qfbXDNjzE83EuXKoMqr90og3aZcMlnM03+/A9SIV9f sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/import-file.api.mdx b/apps/www/docs/reference/api/import-file.api.mdx index bbe1b49cf3..e1f36b36dd 100644 --- a/apps/www/docs/reference/api/import-file.api.mdx +++ b/apps/www/docs/reference/api/import-file.api.mdx @@ -5,7 +5,7 @@ description: "Import csv, xls and xlsx data files for: `Beta`
    " sidebar_label: "Import data files" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/karrio-api.info.mdx b/apps/www/docs/reference/api/karrio-api.info.mdx index 79dec8161d..5a43ea8bf0 100644 --- a/apps/www/docs/reference/api/karrio-api.info.mdx +++ b/apps/www/docs/reference/api/karrio-api.info.mdx @@ -16,7 +16,7 @@ import Export from "@theme/ApiExplorer/Export"; @@ -49,7 +49,7 @@ These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. -The current version is `2024.6.7`. +The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. diff --git a/apps/www/docs/reference/api/list-addresses.api.mdx b/apps/www/docs/reference/api/list-addresses.api.mdx index 0b02d12ef9..0a5e8fa61c 100644 --- a/apps/www/docs/reference/api/list-addresses.api.mdx +++ b/apps/www/docs/reference/api/list-addresses.api.mdx @@ -5,7 +5,7 @@ description: "Retrieve all addresses." sidebar_label: "List all addresses" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/list-batch-operations.api.mdx b/apps/www/docs/reference/api/list-batch-operations.api.mdx index 5060b94bcc..d3a7aa69c8 100644 --- a/apps/www/docs/reference/api/list-batch-operations.api.mdx +++ b/apps/www/docs/reference/api/list-batch-operations.api.mdx @@ -5,7 +5,7 @@ description: "Retrieve all batch operations. `Beta`" sidebar_label: "List all batch operations" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/list-carrier-connections.api.mdx b/apps/www/docs/reference/api/list-carrier-connections.api.mdx index 50bf2a77b1..2de0eb7b91 100644 --- a/apps/www/docs/reference/api/list-carrier-connections.api.mdx +++ b/apps/www/docs/reference/api/list-carrier-connections.api.mdx @@ -5,7 +5,7 @@ description: "Retrieve all carrier connections" sidebar_label: "List carrier connections" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -73,7 +73,7 @@ Retrieve all carrier connections Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`"}} + param={{"in":"query","name":"carrier_name","schema":{"type":"string"},"description":"The unique carrier slug.
    Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`"}} >
    + + + + Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`"}} + param={{"in":"query","name":"carrier_name","schema":{"type":"string"},"description":"The unique carrier slug.
    Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`"}} >
    \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n \n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
    \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
    \n "}} collapsible={false} discriminator={false} > diff --git a/apps/www/docs/reference/api/list-parcels.api.mdx b/apps/www/docs/reference/api/list-parcels.api.mdx index 793682d431..9115ac3267 100644 --- a/apps/www/docs/reference/api/list-parcels.api.mdx +++ b/apps/www/docs/reference/api/list-parcels.api.mdx @@ -5,7 +5,7 @@ description: "Retrieve all stored parcels." sidebar_label: "List all parcels" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/list-pickups.api.mdx b/apps/www/docs/reference/api/list-pickups.api.mdx index c74df9cfc3..3b4dbb3cca 100644 --- a/apps/www/docs/reference/api/list-pickups.api.mdx +++ b/apps/www/docs/reference/api/list-pickups.api.mdx @@ -5,7 +5,7 @@ description: "Retrieve all scheduled pickups." sidebar_label: "List shipment pickups" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/list-shipments.api.mdx b/apps/www/docs/reference/api/list-shipments.api.mdx index cdc65b3919..4d3f875284 100644 --- a/apps/www/docs/reference/api/list-shipments.api.mdx +++ b/apps/www/docs/reference/api/list-shipments.api.mdx @@ -5,7 +5,7 @@ description: "Retrieve all shipments." sidebar_label: "List all shipments" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -73,7 +73,7 @@ Retrieve all shipments.
    Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`"}} + param={{"in":"query","name":"carrier_name","schema":{"type":"string"},"description":"The unique carrier slug.
    Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`"}} >
    \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n \n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
    \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
    \n "}} collapsible={false} discriminator={false} > diff --git a/apps/www/docs/reference/api/list-trackers.api.mdx b/apps/www/docs/reference/api/list-trackers.api.mdx index f4dc45c7b8..d2f63f25fa 100644 --- a/apps/www/docs/reference/api/list-trackers.api.mdx +++ b/apps/www/docs/reference/api/list-trackers.api.mdx @@ -5,7 +5,7 @@ description: "Retrieve all shipment trackers." sidebar_label: "List all package trackers" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -68,7 +68,7 @@ Retrieve all shipment trackers.
      Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`"}} + param={{"in":"query","name":"carrier_name","schema":{"type":"string"},"description":"The unique carrier slug.
      Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`"}} >
      diff --git a/apps/www/docs/reference/api/pickup-schedule.api.mdx b/apps/www/docs/reference/api/pickup-schedule.api.mdx index 37812554cc..3b7d2ec182 100644 --- a/apps/www/docs/reference/api/pickup-schedule.api.mdx +++ b/apps/www/docs/reference/api/pickup-schedule.api.mdx @@ -5,7 +5,7 @@ description: "Schedule one or many parcels pickup" sidebar_label: "Schedule a pickup" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -68,7 +68,7 @@ Schedule one or many parcels pickup
        diff --git a/apps/www/docs/reference/api/pickup-update.api.mdx b/apps/www/docs/reference/api/pickup-update.api.mdx index e63899f713..1dc0a90ffe 100644 --- a/apps/www/docs/reference/api/pickup-update.api.mdx +++ b/apps/www/docs/reference/api/pickup-update.api.mdx @@ -5,7 +5,7 @@ description: "Modify a scheduled pickup" sidebar_label: "Update a pickup" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -68,7 +68,7 @@ Modify a scheduled pickup
          diff --git a/apps/www/docs/reference/api/ping.api.mdx b/apps/www/docs/reference/api/ping.api.mdx index b066ee152d..d2039fec00 100644 --- a/apps/www/docs/reference/api/ping.api.mdx +++ b/apps/www/docs/reference/api/ping.api.mdx @@ -5,7 +5,7 @@ description: "Instance Metadata" sidebar_label: "Instance Metadata" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/purchase.api.mdx b/apps/www/docs/reference/api/purchase.api.mdx index 1e7908a29d..2f642f5576 100644 --- a/apps/www/docs/reference/api/purchase.api.mdx +++ b/apps/www/docs/reference/api/purchase.api.mdx @@ -5,7 +5,7 @@ description: "Select your preferred rates to buy a shipment label." sidebar_label: "Buy a shipment label" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -1717,7 +1717,8 @@ Select your preferred rates to buy a shipment label. "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, @@ -1746,7 +1747,7 @@ Select your preferred rates to buy a shipment label. required={false} schemaName={"any"} qualifierMessage={undefined} - schema={{"type":"object","additionalProperties":{},"default":{},"description":"
          \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
          \n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
          \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
          \n "}} collapsible={false} discriminator={false} > diff --git a/apps/www/docs/reference/api/rates.api.mdx b/apps/www/docs/reference/api/rates.api.mdx index 96956ebada..0db713e443 100644 --- a/apps/www/docs/reference/api/rates.api.mdx +++ b/apps/www/docs/reference/api/rates.api.mdx @@ -5,7 +5,7 @@ description: "Refresh the list of the shipment rates" sidebar_label: "Fetch new shipment rates" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -168,7 +168,8 @@ Refresh the list of the shipment rates "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, @@ -197,7 +198,7 @@ Refresh the list of the shipment rates required={false} schemaName={"any"} qualifierMessage={undefined} - schema={{"type":"object","additionalProperties":{},"default":{},"description":"
          \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
          \n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
          \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
          \n "}} collapsible={false} discriminator={false} > @@ -1740,7 +1741,8 @@ Refresh the list of the shipment rates "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, @@ -1769,7 +1771,7 @@ Refresh the list of the shipment rates required={false} schemaName={"any"} qualifierMessage={undefined} - schema={{"type":"object","additionalProperties":{},"default":{},"description":"
          \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
          \n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
          \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
          \n "}} collapsible={false} discriminator={false} > diff --git a/apps/www/docs/reference/api/refresh-token.api.mdx b/apps/www/docs/reference/api/refresh-token.api.mdx index 1541fdf6d7..518d59cda5 100644 --- a/apps/www/docs/reference/api/refresh-token.api.mdx +++ b/apps/www/docs/reference/api/refresh-token.api.mdx @@ -5,7 +5,7 @@ description: "Authenticate the user and return a token pair" sidebar_label: "Refresh auth token" hide_title: true hide_table_of_contents: true -api: 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 +api: eJytWP1uG7kRf5UpU6QJsF4lRvNHBRwK55Lr+e5aG7HT4OA1Imp3pOWZS244pGTFENCH6BP2SYoZ7spS4qQ5oAIMS+RwPn6cT94p32PQ0Xh32qipevw44CIgte+jv0GnCtUg1cH0TKGm6iTFFl00tY4IsUVIhAG0ayBgTMGBBjkIvTZBFSrqJanplZxT14UK+CEhxZe+2ajpnaq9i+gif9V9b5mt8W7yG7GwO0V1i53mb3HTo5oqP/8N66gK1QfWOxok3h103iOkGIxbqm2hdF0j0edbrItuzpzdqGkMCbfbrJ0J2LDGw7lix/y6UNFEyywu2cQ3w/r28KTw4gXqvaOs3/Gz5/9Ha79k0bb4ChC/17pzvj8x7dABhFOHsfXsLr0n0U/HVk3VRPdmItc/GdkWirBOwcTNBVuXDfjp3SX/M8yvRd2geErWV/fmZ9zwOaFXUzVHHYQif/nBh05HNRUuhXJaiNi/fDAfBdEHvXa3O4WXwghub2/L4Y+xO2Oq4334tSwUnyj6BYkL69f5evY3vvcNfrb4NlhGS/hPxh2cMAgM3sF2hlPw8P3o7Zqxf4O6MW4JsqEKtQ4msmLvgon7675HZ/jAWY/u9BXU3jl2qwcu94s4yYdBEt/Yw2h3Xd+E0VelCWu4wc37zwS+1GTqPaltjP2Bi8j+N4o9SgdCpuLRHINv7nPT61vd9RYPcstemBm38Lx3yLhyP+sQjAdDoKFLNpqjmlcwALWm7/lWTs5PIbY6Apmut2ZhkCSPGhdxmRMx+AVYvzQUTU2w44BhZWqksnKVu2wRBmHM0BD4sNTOfMQGdPDJNfDm9cVlCWcpCEWrCfqAjamjnluEgORTqPHIB4MuYgNv3/xCBXBe6CPBTxdn/zhCV/sGm8oNWRvmvjFIxZDrD6lgl/EKqQeJkICido0ODfx4eXm+owA+wGT3xcR4l4+tMMwftLExiwUGgoUPgCsMG9bVJxdBE6zZIouaEByumQkZ75jPZYuE0PiaQAeEOlH0neAUPWx8CiMxo84XcXJ+KuIr9+gR/DPvGbfkhXctOpjr+matQ0NHxtW+63U0DGjdarfELKTTDTL7gV0BmrUqoNEM9CjP0Khzk/WEOoWALu5TzI6fHf+5/MtMVOKIBz/caBZo/ZIlWdTBQecDgp77FO+1hFFHY03cCJsTds8+YK1Txj2R6DnKZTeNHuoW65us+v4uzHHBcmrfdSbGgVg7SP0y6AbvwXvtViZ416GL9MCFer5Pwaj3RIOCIjggdxdDUxEMrhBqDFEbB7kkEhgHs4gU33e+QUbn1EGDK7S+Z3kFmMjwxRZDVjfLsHIvuml2YTVkQ/aWApYYwZoVQtARqajcPG3A6jlaKka1YtD1DTsi68cZqEkWoTf1Teof0GvA4lwvjRM3lxuwFqLvjyxrLGCM8UjQ6hUCpb73IYqzz5O9gQXGukWCldFQKWsoVkoO5lJMJfzgAxjHAVdjwZ4NtXbAlGxvQCKxSBY4G8m15JiTtdGuEnLIyOKeBKCWfVvLxXsHFEOqYwpYQNQ37AY6sh8yK2ZQubj20OugO4wYaArWdCZmiX6xIIwCz+ARKRprPiINW0dzjgvod7CJ5ewseX/QuzNxT0RZuZc+tnsrrBrr7FI35z6VYKVtQnhCiDBH69dP95vXPe8KnGM4VbXBO8/puNYWfGgwDNE6KLITtsuKIxdGkPPxIkqLDMY1eDsc/kT1Uc+87J1YOijtFzuO0cMcBznYwCL4Dp7z6vNnzwZfm81mXMsqd1c5AIBKSZKs1JSJinHR4a2sVWqyej7Z+cNfRYHvjl88ztZ99+JZpXaH+oAr4xN9y8HjF3sHA1KyUc5d5TX+3EFZlrAdqK4rtxX1h4j5O0bd6Kj559ueU6cUrsFdBkT+869/G1fbJI3QxaCM3OgZ31QOJs0uLLzuAS8r9+sQIpz9Ymto/zY86Bh13XKncJRdRs7npE6fqiHYjwpz3kmEi2QlfCn6INHRNIYdWdviPnYa4FaCG1qpQI7dJPMsc552gLkVGULaJ9sIS8zFi8evPxEskrXA3Y/YXvuQS63Akpz5kBBMw6V2YTBUThxHztOGInYiebQpI7fTonKvPDgfB6nabYDQkYmcJ/e117TDuRzu8OSgwEvmOz9lTHOdTJTLsN4fKodeg0oYL2hlcC12ddrp5WD4jpHJwfJKUzv3OjQi+9cDEs71Gz69gT6YlbG45PaDJJooBSkKN4g9c+pAJhb8A4x2S97LaGEdMO5ZYRz0aW5NbaUdwaHG6ICagFLdMip/M/HHNC+gttxqHZFpcgeUUyF5dpPY5tJ8ANheD8FO1WNgtLmFMDp3VNIYC8wlnAe/YtY7ePIgrqlyzER6ZIFanEacRTw7A91kYx3mK+kHZhwyRGs/4DqbzahFayv3R+5WLHAnTtPJZKw8pe5NWfvuIDlAVeUYP2i9p5V7BNL2eOsdNyQrIRa+4qGapK5wFB3oMSSJ04XExKjygRcxQnlezCY/wXJZFgOrOngi7nyXkujF354WleNMMDv6Ear/NZpUaia1VvqxBcwO7MpVn0t8LuzZnaFL3EAPzaFfYYArvsKL6yeM4XQyQVeuzY3psTG69GE54V8Tpnl/IR75tMyet2O5NrHlZu+wj4a1sRa0ZcfSxpYVj0DjbH/ff6lCDR2dmqrcZfJowxN9p2XEG6ap4Z0j4/jgq9Dey8bvfyDKE13E2zjprTaOlUg8Ad8NzwpXPGSOs/Hhi0XLzw/TK3V3x+3C22C3W17+kDBs1PTqulArHQzXDf61LcYBdXp1p25wo6bq+6z40eVGZmUJCBlrP3me2RbjiROZkL5Ke733QnJ+dsHPFPPhwauT9wAV9Jot0Wt+UeERXRpQGTd57U5Z7ZZJL5k28+TPfwGdXfsG sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/remove-carrier-connection.api.mdx b/apps/www/docs/reference/api/remove-carrier-connection.api.mdx index ac586eaead..b12dcc8a58 100644 --- a/apps/www/docs/reference/api/remove-carrier-connection.api.mdx +++ b/apps/www/docs/reference/api/remove-carrier-connection.api.mdx @@ -5,7 +5,7 @@ description: "Remove a carrier connection." sidebar_label: "Remove a carrier connection" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "delete api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -149,8 +149,8 @@ Remove a carrier connection. name={"carrier_name"} required={true} schemaName={"string"} - qualifierMessage={"**Possible values:** [`allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`]"} - schema={{"enum":["allied_express","allied_express_local","amazon_shipping","aramex","asendia_us","australiapost","boxknight","bpost","canadapost","canpar","chronopost","colissimo","dhl_express","dhl_parcel_de","dhl_poland","dhl_universal","dicom","dpd","dpdhl","easypost","eshipper","fedex","fedex_ws","freightcom","generic","geodis","hay_post","laposte","locate2u","nationex","purolator","roadie","royalmail","sapient","seko","sendle","tge","tnt","ups","usps","usps_international","usps_wt","usps_wt_international","zoom2u"],"type":"string","x-spec-enum-id":"4d1bcfc36bdc8769","description":"A carrier connection type."}} + qualifierMessage={"**Possible values:** [`allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`]"} + schema={{"enum":["allied_express","allied_express_local","amazon_shipping","aramex","asendia_us","australiapost","boxknight","bpost","canadapost","canpar","chronopost","colissimo","dhl_express","dhl_parcel_de","dhl_poland","dhl_universal","dicom","dpd","dpdhl","easypost","easyship","eshipper","fedex","fedex_ws","freightcom","generic","geodis","hay_post","laposte","locate2u","nationex","purolator","roadie","royalmail","sapient","seko","sendle","tge","tnt","ups","usps","usps_international","usps_wt","usps_wt_international","zoom2u"],"type":"string","x-spec-enum-id":"3812983dc743ed62","description":"A carrier connection type."}} > + + + + + + + + \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n \n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
          \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
          \n "}} collapsible={false} discriminator={false} > diff --git a/apps/www/docs/reference/api/retrieve-parcel.api.mdx b/apps/www/docs/reference/api/retrieve-parcel.api.mdx index 3890ea322e..2052e21311 100644 --- a/apps/www/docs/reference/api/retrieve-parcel.api.mdx +++ b/apps/www/docs/reference/api/retrieve-parcel.api.mdx @@ -5,7 +5,7 @@ description: "Retrieve a parcel." sidebar_label: "Retrieve a parcel" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/retrieve-pickup.api.mdx b/apps/www/docs/reference/api/retrieve-pickup.api.mdx index d7512d4652..523c1fcb44 100644 --- a/apps/www/docs/reference/api/retrieve-pickup.api.mdx +++ b/apps/www/docs/reference/api/retrieve-pickup.api.mdx @@ -5,7 +5,7 @@ description: "Retrieve a scheduled pickup." sidebar_label: "Retrieve a pickup" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/retrieve-shipment.api.mdx b/apps/www/docs/reference/api/retrieve-shipment.api.mdx index 53b2ace20e..c8e4a966fd 100644 --- a/apps/www/docs/reference/api/retrieve-shipment.api.mdx +++ b/apps/www/docs/reference/api/retrieve-shipment.api.mdx @@ -5,7 +5,7 @@ description: "Retrieve a shipment." sidebar_label: "Retrieve a shipment" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -1548,7 +1548,8 @@ Retrieve a shipment. "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, @@ -1577,7 +1578,7 @@ Retrieve a shipment. required={false} schemaName={"any"} qualifierMessage={undefined} - schema={{"type":"object","additionalProperties":{},"default":{},"description":"
          \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
          \n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
          \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
          \n "}} collapsible={false} discriminator={false} > diff --git a/apps/www/docs/reference/api/retrieve-tracker.api.mdx b/apps/www/docs/reference/api/retrieve-tracker.api.mdx index 4a90319c9c..f367242e7d 100644 --- a/apps/www/docs/reference/api/retrieve-tracker.api.mdx +++ b/apps/www/docs/reference/api/retrieve-tracker.api.mdx @@ -5,7 +5,7 @@ description: "Retrieve a package tracker" sidebar_label: "Retrieves a package tracker" hide_title: true hide_table_of_contents: true -api: eJztWv1uGzcSf5W57eGaACvJMZIrKqA4uJe0cVs3RpxcEViGTO2OtKy55JbkSlYNAfcQ94T3JIcZclerDzuOnbs/Dg1Q1OLHb4bD+ebeJKZCK7w0+jhPholFbyXO8Z0V2RXaJE1ydJmVFa1IhsnbOA8CKpFdiRmCb5dWwooSPVqXDM9vEkkbKuGLJE20KDEZJjIfGzvmHVLPxrouJ7zTZQWWIhneJH5Z0ULnrdSzZJUmFn+rpcU8GXpb4+oiTbyYEYEk8uiSizRxmNVW+iUTfmeuUH8rnMyS4fnFKo0jzY83R7UvDptfP/zyLv5J2BZdZbRDR7wcHhzQ/zKjPWpPf4qqUjJjcQ1+dSSRm13ezeRXzDzJw5JwvQxoMt8937Z4j6DW8rcaQeaovZxKtCSDTFgr0Y6DFD8G8q6IlyL1DOLWLsp9GNmHAZnRUzmrLeZb/G1f6L3gXSGrErVf04m7V2ki9dSwvJV6M+U7vVu2zdFaRpTUV/vY0LVSYqIwaNM+tprDtlwxFImvdt6Ud9zCPbAjBDDEKk3wusLMYz7OUck52uXDcBsYaGAgF54JaOMfwOtR505MADI2Rztm2Aex2HgLxmnZC6j7FfJTMWUOxnZ0KM6OFyhnhX8chYixgzqutfws0MBAqzRprGLcEMpMrR9JIkBsgMvsqq4ecZ2t8Qak9kJbCo0mfg4aO1rdUnFo5zJ7LH6D0kU2Vs6kDtJ/qFm2BAIYNGB76FTGeaHGmckfe5hIKwACA27ei/NScwT7TIfrIO49YZfi5ztml+qes1YUBB6negSx1jg505iPJw8UVoXWGQ2LwkBAgqmx4Nc2yjRMbR+qyzEJg4ixoqAsPe0IaZLUs2OKqZTj7KJNRa38HXGUduwEwDC4J4KFiRB5wt/d4NEdIccffm87632j0dmGqdv85PZs19FtzW25qK3Z1rVsjW87hv3TG4q+Q3ePCd6x5hasjorHwbWOxoGoUPRrdVeAEDrfk47l6IVUjvOUOWrvOqoprBXLJE2kx9J9PPe9zRLvSDqZ5JeOLbAP3xlbCj+Eyw8fPnzonZz0Xr68TLbP9DD8zpJVmigT0vsHorXbKWF8sJfbgW1cm5cPTT13IAmqI9fXr4cnJ3B0Mjg9YcEq4aWvNw7QVmtT3pQMk9zURPRB9BsC/SB1Pfsvk2so9Pc6x1e0jBPm+0NH+4BoHKyN7FGwm89OjFEo9I76nFWYUQGVw6JAX2AIBxaVoES+tcaFcLCGJc7R+XG5qVqfRiPYKCNnFpncQvoCRFv7SA1EBsomonrhazZk1HVJtXeFOg+qV+srbRZE2+hxYVSedOVApRxFE+2kX08syfeKJc+b2o+nxq7jBxXhIl/yYHDf3Y1TIRXmVPJv28B1z1WY9YjDHgWW5OuvvhYHX+GLaX4oXhw8P0w6oa5zgH1lmrUbnjCenxyh87IUH6vYdiHbFLYFaFOLEv3e7oHIc0kIQp12felHdbSyZi6pIHLh9jMgCrnwgisuhh8HYvs4bwTkb+kANTrlurrEMPEsTOmTzrNOQHai1HuHtuW/TZoa3piic2KGj4hNEeF+94jWGkt15kJYTarR7L7D3++ixE2tW28i7SdKrQsr9BLWa7ux+wHNI2FnSCr6mObRFga3PODJTnvr6YY7PllLs1WK84t9+Eo6D2bK/Yk999F1x8uxLClDrK3ax3sbXmorP60GkXpuZIbw/u1PTY0gfG3xf0JvozV63r2frSvvhozdVt3Fbiw8i95utaNkdMrnB88/Y1P0D/P9vzXf2yw23MHaTjv7X9HUyXpmrwK++KxdeebmD/W7Rf06d3N0eszXc/flHp0eQxTpzsW+jW8r+y92RRncxx6j8NqjdtLo8MJ0hctkuLUtTeZC1bhnO/U+SvSFIewZ8l3S69QwGcyfDWJO4QY3ex+pVsn6kemMdCtcP78exaeuAkXOXDaaVMkfcdm8bnGejsLyivDHd00kIJT2jYxep4yVv4c6cqc1350dwrcMBNfX1/34H91P88K1VgjBA+kWo7dQnCqz4NOJ7sTfo4JuDL6nGJcMGH/QzOCAhEBPbhvTPDJgeZgqiI8yfX5VFDnn2TSRpMnCSuoXJL9Y6bvjpkLNqf2bCvXxS3qQ0qToexTqVjnxPxJSfBO82bmue8noTmoMDVe4HO8QjM+SLdXC+2pDRXj+nmR79QaRIVtR83a2uXSkfyRPbkA6EFDWyste49vbbidZry+EByfLSq2zfKk9zoKFkZErM5POy8y10SE2y1x/pEea/EEkRoDSgbEzoeXvmIOwptY5vH119q4Pb2rLKwrhoLKYy8xTJgQWQ+eqZ6xETVHo/dufXAoiy7DyDn44e/NzDzX5v3ykKQuiYnVicokuBYu+tnpzFbTvuik3u2qHjqo6nQubw+t3707bFexWaVntC4pyIa6EbXO0k71nzOV0itZxgYJc54mMW3sgHCy4rEfhEDQuCIQ9WJ9RHEJuMgfCNs+DLCdvYGlq2ywmqdNFHJ0eM/mR/uIL+EeYk3pGA78UqGEisquFsLnrSZ2ZshJekkCzQugZBiKlyJHgI1wKgrhKuRzNW3rSNTzngc+2KO6suDw8OHze/2v/q0tmiqwYTLzTQFKZGdFSKKyG0lgEMTG1X/MJDZdSSb9kmCNS0MpiJuog+doxpw1lUlRvICswuwrMd2dhglOik5mylN7HxUJDXc2syHEtvld6Lq3RlFm7PVdq6EZDi944FxlkwtwzYX1oIgxkaL2QOpbDjhool23WTdI51pDjHJXhTD4F6UmA1JIJ7AYaim9G5Hn3yZ08HOlLCjP0QBUNWOHRpSM9qZegxASVSxu2mjAWerpZgXmtML7S7eEryuJUzGK3mW9AKfCm6inimIXRWKSDQswRXF1VxnpW90mtrmCKPivQwVwKGCWUDIwS3hjireNGI0hNJpdhSroNmdAhbRB5btE5PhEPNAVPNFYea87Vh2A0PNihAK4g7RZ88UaD87bOqBhLwQtu4ghPekhQBDDSfmFg/cXKEJQspQ8UzXTq0LN4okbUXir5O7o41ZuQZUDVio1Pzg0Rno98l9J3SPRH+lvji84IsUY8hxSDfAXnLvDEIcIElVk8bfSsthvaZcnLkLMqrNGGHHImVHgIj/YaGWmJtX6xQSEJkkee0qTQIHWO13HzFusNn2HYaD5pZNpMW0RvYIKRDj1xWVPCMxp9dnAQde3y8pIy9JG+GWkAgFHCbnKUDGlR2gxqvOaxEadmrT78jRn45vDFX8LpvnlxMEraTZXFuTS1u8/GwxedjRZdrTzvOw9j9O8G+v0+rOKqi5FeMfvRYk5iT4p+vq/IeXLoiuoSJfLvf/5L6kzVnNycNWU83egb/mSBjUms+1utwPsj/SGaCHk/X0jXvQ0DwnuRFRT9e0FleH9w626bDZZ9wzD5ndrhtFZsvs4by9bRZv/p2nZyoGSCklSOQZrUJGD2g5/WgNeirFRj0qZWOUNiCF+1Q/ulg2mtVKgg6eyZsSHYslh2SsqRZsXh/W7pPJZMuTlTkFzLxUi/NNQEilSpkHFUInjyk13uhWvl3I93eLQR4tnznR6TTEOkrF0IxJ1MgLSbsw3Xh+aC5hIXfK5SaCrLlk0IZCAZjOWlcMXECJsz7Q8bS8jXL2n3Eior51LhjBIQx9bkastB4QqxIqQSuArBP0FzbvZ7QVqYWfSdU9B3APVEyUxxQoIxxgiLwoGrs4Kk8r30r+tJCpmiZKvnZB5yoOAKnSE18UUIzRsC62QRpFQVWpI2JRFShJyKk10Wcx9OQ1t6LR4uB0C4kSYQzntZ1Kw0rCys2UHQeTisxnAlscfNXyE6tzBRrpeXl65ApUb6z5SvKKDs2g0Hgyby9EUl+5kpN5wDjEbBxjfS6eFIfwGc+BhF3xjY8MwTcFlDheO4Qla0wUd0EsdTtomG5Q0tIgmFGjAc+Qn2Z/00QmXWONeL33FEfXuajjR5gsveaxh9rNwYJZccazkfm8LlxrlC1KcQHwJ7UGcoa0qhY3po5mjhnK7w7OIJyXA4GKDuL+SVrDCXom/sbEC/BrRmfMYa+bQfNK+FpEclSvY2M2lYSKVAKFIsIVV/RGVN0ydY519Ux4eMLhkmTZ7JH2AZ50vBhVuskZpvUt3ej1K3XojbttHdn7LG6szjtR9USkh+0I0N3dA0OE/mz5p+Kn2EmibD/V+3XqRJYRw1spObG8ob3lu1WtHwbzW/H1GDey6sDF3g85skl47+zpPhVCi33RPunuHJ29gCfgq3Md1Ut3rZaY0kaeyd7Gd5dbFKmwp43Wc54vKrg7LTd9vosHz/ipoadPndl8pY3k7i17k3+/ljQcmM9Px99AarVct04yAS+n73Y/tPo2F29je2Sudcrf4DSq0Ayw== +api: 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 sidebar_class_name: "get api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/retrieve-upload.api.mdx b/apps/www/docs/reference/api/retrieve-upload.api.mdx index 58fca2f05e..9e83a0a65b 100644 --- a/apps/www/docs/reference/api/retrieve-upload.api.mdx +++ b/apps/www/docs/reference/api/retrieve-upload.api.mdx @@ -5,7 +5,7 @@ description: "Retrieve a shipping document upload record." sidebar_label: "Retrieve upload record" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/retrieve-webhook.api.mdx b/apps/www/docs/reference/api/retrieve-webhook.api.mdx index e9db4ea16b..68480e6e0b 100644 --- a/apps/www/docs/reference/api/retrieve-webhook.api.mdx +++ b/apps/www/docs/reference/api/retrieve-webhook.api.mdx @@ -5,7 +5,7 @@ description: "Retrieve a webhook." sidebar_label: "Retrieve a webhook" hide_title: true hide_table_of_contents: true -api: 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 +api: eJztWXtvG8cR/yrTTdHawJGUhDhoCASF3Dix8qgFy24Q6ARpeTfkbbS3e94HKUYg0A/RT9hPUszsHnWkKNt/9K+iAgyT+5iZnedvhvfCduhkUNac1WIqHAancIm/4Kyx9lYUokZfOdXRCTEVb/M+SFilI2NRiE462WJA58X08l4oOtnJ0IhCGNmimApVi0L4qsFWium9COuOVn1wyizEphAOP0TlsBbT4CJurgoR5IKoiSyJF1eF8FhFp8Kaubyzt2heSq8qMb282hR5pf/y5jSG5qT/9sMv7/jjFbHynTUePQlycnRM/1XWBDSBPsqu06pijUx+8/To+8eC29lvWAV6uSP9BZWoqfrx4/Y1eArRqA8RQdVogpordKSA6PShu3PrWhnEVESnHpF61yC8f/sT2DmEBnuDAJq6s8qEMdHdufGYvolay5nGpPdHshqw/FlqGOwQw1Ujww5X5SF6rGFuHTNGQ3Tra1yiCX7AWzon16IQKmDL62hiS5aWWpOTNKpr0YTrLrqqkR7r4WIlTYVa7y7Oo56r/UUbw/XcuusatVqiWw/3DGLtr2Ugm9NLB1v98eu5VIlicLK6RXddOZRhZyV2dV6xrt45kb7v7w/lzDcGz0krmT+vzGSomusPEePg61au9NVFY5Ip0/fKtp1G4koxtGftu5HvsBqRwkfkq+LF8Vfy5Lg+/st8Pjv++uSrRx7DPqaVD2TzZEoIFpJxydYQGuX3XE55Nv3A5jNrNUrzSYc7MzXFHnoIB/xrS3hT5Ai8TvQPxdxcRk2Bs3oik110WFH0eeaSyAGT2RRCSx+S517L8NG4JAuPgmrxk28jTdJpOtyHLPFJagWPWX0eK4cHme7Se42yRgdeLYwM0SHki5tCBPThurU1HjTBYT3UsGowNOhABVhJD9mbYaVCAxIq6ZyiXQNEHpj8Zid1X+4H/fYxQ5FSriPvVIF01Wd4sdk88j56zJdHX/4XUzQ6Z91H09HH77fovVw84XP75mZmYB2spKMohf72phDVrnk+QiVfAr7BKgpS6YOyyrpWKV+fD6V+pFdp1vBwFnqKZIDeKqfnZ69I/I+nhNPzM8gqHV7mm29zoX3KsC+Ojv5v2P89w26oznwKVeJdQOOVNQkx3uJaTPeuFWIpdcQD1wnFtRgaS7QXnF4YbU7FZHk8yQnfT+5VvREPoPGCHCnZmtFgxqkNp1GxLZayUz/iukernDlROj6RPnzXp36isgW4hDatU7/LDCj2gNRwdwovmRDc3d2N8z8yRo9YH6wveaHYE/QJjnNtV/w6Odz4W/bGncX3BDbFhOlP+h2ckBIIQu9s88qE9WG7pD6HsuZeQNbk+7whCrFyKnA+dyoM122HhtHGmw7N2bdQWWPIqw94z5N64j9SUsb494/M9Vk6+ig3Jg23uL5+xDC3GVuuTQjdjovw/meyHcUdJlMOGWXmlhjsHi3Nj1R2LaEfCW3UQY36QkyQtSM9U6gyXPKq7fQDplEm4CKFE0W0tgvlg6r8tpR7dEtVoR+XpjQU/JkZEVQerFtIo37HGqSz0dTw9tXFuzG8iY5PNNJD57BWVWAw6NDb6CocWafQEHJ4//YnX4CsKuyChx8u3vx9hIaSXV0aQg0EI2a2VugLcBiiM7unYNuqFSBNTf2FBx+kqaWr4fW7d+fbE5xD6VgMDYH6VETStSW62cE31mo+R+cZxiKBfpLVRhNAeljRizRKj2BwRUQ4XY2ZikeobeVBOoQq+mBb1lOwsLbR9Yd7lHd6fsbsS/PFF/CPtKfMghZ+adDATFa3K+lqP1KG8LsMihRaNdIsMDFpZY1EPpMrQJJUBQPKestP+V7mOskJVXSO0OXgxM3J0cmX469vWCSKYbDZoomhtgvipFE6A611CHJmY3iQEnoZlVZhzWROyT07h5WMSe/Rs5w9X3LTYKFqsLpNog93YYZz4lPZtlUh5MPSQOwWTtb4oLxXZqmcNdSp+QMGtWRP1lFnvc8CMmPGsuwNfTGBCl2QymTo7wnY3mxRKmnnzECNS9SWO8OCcLHiyHJJ3MRDs11kXW/DKuc38pYCFhiAOjpw1NYUpZnFNWg5Q+2LXqzcT3qWj3JKHTVCp6rb2B2QK+viXC6UYTdnC2gNwXYjTRKzMvp49NDIJYKPXWddYGefRX0LcwxVgx6WSkIpqO6Xgi+m0urH8J0luE8BV2FBng2VNAkhyLp26D2/iBf6BjqHKq/17xpDChleHHAA35BvSza8NeCDixW1MgUEeUtuIAP5oedO0GNpwsrCw7BpClq1KiSOdj73GFg92SNiUFr9jj5vjWYUF9Bt1cYv5+aP97PcrQoDFuPSvLShGayQaCSzie0MHWUKhinwzCPCDLVdPe/9LLod73KUYyhVNc4aS+m4khq47c/RmgXZMttmxZ4KaZDy8Zw2pQFlarzLl/dE7+VMy9bwS7PQdr6lGCzMMPOh6Y2zLRzT6vHRUfa1m5sbAuOluS8NAEApOEmWYkqHin7R4B2vlYzCtv7wVxbgm5MXf0qv++bFUSm2lzqHS2Wj/5yLJy8GFx36qAPfu0xr9HcP4/EYNvnUVWk2LH6OmJ8xyFoGSV/f82yGC1d2l6yRf//zX8pUOjK0ucjCsEXfkKVSMElyYab1oPBxaX7NIULZj+ciA2tYkCHIqqHaP0ouw/dTUvf7YrDue4HzcG0eNYevD9ZxdGyBfvEQOzUQlCCIyhXIkJskmuOUpw3gnaQhUQ5pG3XNJDEVr+jR/dnDPGoNhGf47ZV1qdSyWh5NMEvDjsP3/doHbJlz/6akua0UpfnWgrEhc6WexVM3EChPDqWXfqvncbbh6U6B58x3fkY6TXWSR5Ck64dj5N2MNfwYegMtFa74Xa001IGt+xLIhFQKlm+lb2ZWupp5/7pzhHL9mm6voXNqqTQuCH54jiZP05hg4RaxI0otcA+Cf4D+3Zz3krZ4QDJ4hTLQxZlWlWY4grnGSIfSg49VQ1r5XoXXcVZApQlqjbyqEwJKqdBbcpPQpNK8o7ABhiCn6tCRtglCKJkQFUNdVvMYzp1dEumtergZAOlLQ0QY9bKq2WnYWdizk6Lr9FgathLbLhOjkPF+ZbNeb25ufINal+aPhFY0ELb208mkrzxj2alxZdud5ABlmWJ8B0xPS/MFMOyx2hoCJGliyXTZQ6XnukJRtCNHThJnc46JXuQdLyINpQ4wPfkZjhfjIpOqnPWekO+CEz372/OiNJQJbkavofxUs1GKG661jMfmcLPzrlT1qcSnwp7cGdpIADqDQ7tEB5dkwourZ6TD6WSCZrxSt6rDWsmxdYsJfZvQmesL9sjn4+R5W5I07COwt4ujYaW0BqnJsaTS45Kamn4k8IC/qGVPiE5MRUKZ1EF11odWctOW+6PHvyLtN0mDsdATvznlTizgXZh0Wioz+BUlTQMuxfKY2tL+B6RCTBWPxRvrA23f3xMkeO/0ZkPLHyL9TDC9vKLJg1Npknt5P5hnz6X2+3PdoaTP3uZZ6HN4SsK+bTXrwYBDFHkComqxudoUfR/7MBo55SZqcOXRqGxnKPL9KxpNkBGHE+DcpM7yb2b3h4VhraiK/PV9jurNZithH+iCflX71P3zHGCD+33M0Ts3m/8AZIoP6A== sidebar_class_name: "get api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/schedule-pickup.api.mdx b/apps/www/docs/reference/api/schedule-pickup.api.mdx index ca4eadbd73..a3d6cb0930 100644 --- a/apps/www/docs/reference/api/schedule-pickup.api.mdx +++ b/apps/www/docs/reference/api/schedule-pickup.api.mdx @@ -5,7 +5,7 @@ description: "Schedule a pickup for one or many shipments with labels already pu sidebar_label: "Schedule a pickup" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/test-webhook.api.mdx b/apps/www/docs/reference/api/test-webhook.api.mdx index 4c70695947..0d145636fd 100644 --- a/apps/www/docs/reference/api/test-webhook.api.mdx +++ b/apps/www/docs/reference/api/test-webhook.api.mdx @@ -5,7 +5,7 @@ description: "test a webhook." sidebar_label: "Test a webhook" hide_title: true hide_table_of_contents: true -api: eJztWP1uG7kRf5Upr2gTYL1KgksLCDgUzl2u57u2MWynwcFrxNRypOWZS274IVknCOhD9An7JMUMubJkOx9/3F9FBdiQSM7Mj/PN2Qg3oJdRO3uixFREDPEdzjrnbkQlFIbW64F2yx5IWOXtWlRikF72GNEHMb3cCE2nBhk7UQkrexRToZWoRGg77KWYbkRcD7Qaotd2IbaV8PghaY9KTKNPuL2qRJQL4iYKiiCu8ikM8ZVTa+LSOhvRRvoqh8HolvFPfgkEc/NQnJv9gm0kvJ5uGzUG2h3k2jipHjsoldLEU5rTfZLt9gDy5Y4F4dbREI+C+wJDPMuwxT0yvmklArbJ67hm1V24G7SvZNCtmF5ebauyMv54c5xi92L89eO7C/7KmgmDsyFf6MWzZ7+henaO8dBw9z3jzXgUBvRz53tUZNyQ2hZD2KOfOWdQ2gcMzgds9XwNqw5jhx5ih7CTDysZoPCaJyPuG+EO6J3IPYPswGU7HAommF//pmpD753fv7P0Xq5FJXTEPnyevscQ5AI/r/SLDoGFgfOwkt5qu4CReluJ1qkv5FKIgClYRVFq8yjWjwXGfbbSruHuLIwcyQCjXY5PT14TfPGAmDAZHSK4ORyfnkBR6T4xU54V5/+YYV/+37D/i4bdVuL26FNlC28j2qCdzWXpBtdieo+kEktpEt4jpYzaY+wc8RxcYCNSPZuKyfL5pFS+MNlotZ0QobhL4+fkRtnSnJ9LOexQKvSi2jnNoH/C9VgUOSei9Hwif/ne+V5GMWUuuzpK+d95/euY5w51crA7hVfMCG5vb+vyR6YYa8id7SUvVPeAfkTi3LgV307ub3xbfPFg8a03pDHmPxl3cEJKoKJ2sM0rE9aHG7L6PFJRFmcoFXk+b4hKrLyOXGC9jvvrbkCrVU709uQ7aJ215NOP+M5H9cQfUlKpupsH5voiHX1SGrOGG1y/fyCwFP6d1C7G4cBFeP8LxR6lAyFTDhhKdmd3XdTrW9kPBg+7IDqn7dzR6iHLxv4kvdcOdAAJfTJRH7W0gh5Cp4eB7EEBHTsZIeh+MHquMXAd1zbiolRyNwfjFjpE3QbYcUC/1C2GurGNpRRRhBFDHcD5hbT6V1QgvUtWwdnr84sa3iTPJzoZYPCodBvlzCB4DC75Fo+c12gjKnh79rdQgWxbHGKAH8/f/OMILaVE1djSWcLMKY2hAo8xeXt4CnZNVgXSKkgBA4QorZJewQ8XF6e7E5xp6ViKHdpYSk0mW6KfPXpHpedz9AHmzgMu0a8Jq0s2ggywohsZlAHB4oqYcGKrmUtAUK4NID1Cm0J0PespOli75MfDpHUyxPHpCYtv7FdfwT/znrYLWnjXoYWZbG9W0qtwpG3r+kFGTQptO2kXmIX0UiGxL+wqkISqAiVJ0aM8HUbMKuOENnmPNu6fuH7x7MXX9Z/qP18zKIp2cMWmWaRxC5JlUHoLvfMIcuZSvMMJI0ptdFwzm2Ny0MFjK1PWfAqMdJRMjhodtB22Nxn8/i7McE5yWtf3OsZyWFpIw8JLhXfqe22X2jvbo43hEZM6sihraXAhFIAs2KOMyP7gMXqNS4QWfZTaQq7FAbSFayou73unkLRzYkHhEo0bSF4FOpICqVHOcLMMw5aRSu0Cq2RC8pcKFhjB6CWClxFD1dhZWoORMzShGmFFL9sbckXCR9lHJYMw6PYmDY/gKro4lQtt2dHZAsZAdMORIcSsjDEiA3RyiRDSMDgf2d1nydzAHGPbYYClltAI6g8awYS5FIcavncetKWQa7Ei34ZW2txJSKU8hsA34gXKR2yWHHW8Nt6rhhw0vLgnAUJH3i3Z8M5CiD61MXmsIMobcgMZyQ+JFTFobFw5uHv9TsHoXscs0c3nASOrp3hEitroXzGUraMZRQYMO7XxzfnJw/sFd6/jnoi6sa9c7PZWCBphtqmfoadcwS0NPAmIMEPjVk9HP0v+wLs8ZRlKVp131lFCbqUB5xX6Eq8FyE7YLi+OXEiDlJHntCktaKvwthDfgz7izMvO8k0LaDffcYwOZljkoIK5dz08p9Xnz54VX7u+vqY61thNYwEAGsFpshFTOlSNixZvea3hpm3nD39hAN+8ePmHfLtvXj5rxI5o8LjULoUvIXzxco/QY0gmMt1lXqPPBuq6hm05ddXYLcMvEfN3jFLJKOnn24GSJ5eu4i5FI//517+1bU3iJui8gGGLviFL5WCS5MLM607hdWN/LiFC2S92Ouxbw4GMUbYddQlH2WWYPqf1cB8G634ETHknBZwnw+EbovMcHbsHQXUXOwqomaBmlmuQJTfJPOucpy1gbkNKSLtkFLPEXL5SQP/HAPNkDFDnw3dvnc/FltWSrP6QELSiYjvX6BvLjsP0YR0i9ix5vFPW3A5FY79zYF0sUultE+jlEClP7qOXYafnutjw+KDEc+Y7PSGd5kqZQi7Ee50AeTd3G6GG0UBLjSu+Vy8tvdTWYwlkRjoHy3cydDMnvWLZPx8coVy/Juo1DF4vtcEFNSCBoykkz0XhBnEgTj3wawV/B+O9Oe9lbWHrMe7dQlsY0szo1nBDgqXGSI95HNORVv6q4w9pVkFrqNk6ClrlHiinwuDITWKXS/OBwva6CHKq3dyIcyH3VNwUs5prOPVuSax36uFnA8jQWGLC/TGrmp2GnYU9Oyta5ctazCYZCjMKmRBWruj1+vo6dGhMY39P/YoB6sLDdDIZK08tB123rj9IDtA0OcYP2u5pY78CbnycoakYZVw6zHzZQ2XgukJRdICjJImTOcfECPnAi0hD+a2Yr/wE60VdFVatdyFQ77vgRM/+9rRqLGWC66MfoPncs6QR11xruR+bw/XBvXLVpxKfC3t2Z+gTtdClPXRL9HBJJjy/ekI6nE4maOuVvtEDKi1r5xcT+jWhM+/P2SOf1tnzdixXOnbU7B120rDSxoA05FhSm7qh5884Orjrv+h5nzs6MRVjn0mvLXrT95IfeOUtdXEw1L7/mNobHj0y/i6vtYi3cTIYqS2JSPS63ZSxwaVYPqen6zjLrsSUJ+I8O7iqREczhuml2GyoJ3jrzXZLyx8SepoLX9GYwmsqDjzJUDrQdyWmc2kCfgLsk7MyIH0KHwM6vnDtem8aIqoyLtFKbK+21fjkvZujfJtlHF2s+fU9Ej6YrNGgOlMc88vrk2f35y6nb85p8DErw/6eJwzCy5Wo+D+DdHznPC6gtY0w0i4Sz9dE5knPWfKe/fFzeUfPyqB987gS2Bq6pUB5W9LJdrvTzJhh+Iafoz8tkb1HPwY76Xe7/S8DkwBO +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/track-shipment.api.mdx b/apps/www/docs/reference/api/track-shipment.api.mdx index b2c4217d4b..2528b9a355 100644 --- a/apps/www/docs/reference/api/track-shipment.api.mdx +++ b/apps/www/docs/reference/api/track-shipment.api.mdx @@ -5,7 +5,7 @@ description: "You can track a shipment by specifying the carrier and the shipmen sidebar_label: "Track a shipment" hide_title: true hide_table_of_contents: true -api: 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 +api: eJztG2tvGzfyr/C2h2sCyFJqJFdUQHFwL2nj9nwxEueKwDJkajnSsuaSWz4kK4aA+xH3C++XHGZIrlYPu46T3ociBhLt8jEzHM6b3JvCNGC5l0Yfi2JYeMvLqzeVbGrQvugVAlxpZYP9xbB4ZwIruWY0inHm0kA2WTLXQCmnS6lnzFfASm6tBMu4FvTeDqW5OEqHegK2X/SKhltegwfriuH5TSERVcN9VfQKzWsohkWCNqbXXuHKCmpeDG8Kv2yw33kr9azoFaBDXQzPC66UBDGG68aCc0Vvq2GsTMkVNtf8vdFjpK6JEIiWa3xwoIXk40DTg/OWK8kb45AvE3N9peWsoufUVnLNBV+/NNziQ2WNNrnVKOmcrA2ytlId+vCt4bYENRaQ343iWqSXoOUcrCOqhSxNjb+NiP9X2DoFQYTT73iBUGegwcqSnoyQ2FTx5ThRo4hYxIbs8HAYiOO42QSoCdYo7g0uwxouJNDDkquaS8To4MrQjxYK+/yM/ifJCQ1iC679GUvtwUbwtApqXPj1086I98bUh6G4WPUKC78GaUEUQ28DrHpJTH4NYJdrOanC5A7xWLXTNqUri+Q4iuRdEHYIuegVns9QcItTa66XxQXyowxW+iVJ85m5Av0dd7IshucXSAG15JdXR8FXh/ntx5/P6PECNa+xgLuSMCFm1xjtwCFdh0+e4E9ptEdNHd4UvGmULIl5g18c6uvN7jrM5BcokeWNRcX3MkKrwTk+i89pJLeWI2elh9rdG8I+ndy0IWcVMLDWWGYsW3Cr0Rbk2StUEXFPKGkSoxkrHOG5VHtp5ULIKFWnXapX22C5XrL1WJYhIlldC3Qv8jy3M/AgsinsQpHiYTAYomePgpa/BmBSgPZyKsE+RtkuvPQKAZ6subkLUknnmZkybTzs2QJabFYIEiulXk1Jku8WgPss6YjtUP5A3mYn8jG83YLBSqOnchYsiC36tu3DvcDf5vAQoNRT8yG8zUtrCVFSX+0jQwel+ASFIJqMXbLyYluqCBSyLzhv6jt24R6wEwiSUoQJ1w2UHsRYgELvtXwY3AyGZTBMcE8IUIg/HOZRZ09MBGSsADsmsA8iseHlFdoigtOSF6HuF8gPhSkFautahlLveAEUhnwUhgRjByoGHZ8ENCNAq16RtWKcEZUm6I9EEUFsAJflVWg+Yjtb5Y2Q2g1tMWRJ/BQ4dqS6xeLAzmX5sfAzlC5kY+VM6sj9h6pliyACYxnYHjwYZ3I1vs23fziuCLB1/Z19cV7GCPITLa4Dce8Kuxg/3TK7WPesFXOVjxQ9BLGWODnTIMaTBzKrAeuMZovKsAiJTY2ltC/pKOEwwT5Ulsleg2UJRjfYOUum/Bh9KgbOu9CmPCh/hx/FGTsOMDbu8WCxI3qe+Nx1Ht0WNPzxfdtY72tNxjZ23WYnt3u7hm6rb8tEbfW2pmWrfdsw7O/eEPQdvHtU8I4xt8DqiHhqXMtoakgChW97Q93sILAGsRuOdYJ7mIP2H5H83KaJdwSdhPJLRxrYZ98bW3M/ZJfv3r17d3BycvD8+eVO+P4w+J0hq5ToPxxaO/2ORO2e2twFm02blw8NPXdAIqgOX1++HJ6csKOTwekJMVZxL33YWECb/E9pUjEshAkTqms8AH9G0I9c17PfGV3G0N9rHF/gMAqY7w866QdLykHSSBYFuvHsxBgFXO+IzxsqB0oQbFGBryC6AwsKKxprbVxwx9ZgkXJwflxvitaH4Yg6SpBLC4RuIX3FeJv7SM0QDauzR/XcB1LkXD5ssPRHohf0lTYLxG30uDKKCm4twZjKoTfRTvp1xxJtL19Svwl+PDV27T+wjsPFkhqj+e5OnHKpQGARaVsHrg+wwnqAFB6gYym++fob/uRreDYVh/zZk6eHRcfVdRawL02zdsMSpvWjIXRe1vy3MrZdkG0I2wJoQ4sa/N4C1O0lmbtltLFmLjEhigVnWTLEILjnlFnXuYx139y6ZT1NfUgy2S6eIKB0TbiDvz5l66Ih+i7ug4WHY2lB3Iqmo/fHkQ37w6HbgithylBnXY/cGkcq94lAlrQ0+1bldF2lJDBJKGjLPrBWlyO5HXf/1oFtBaGNPjNthPFzhfMPWuFMQnF+8bBy50ZN/7y7gN72udPaOe0WBS+2vC7Y55m3ewnb8bMWvJUwRze4x4O/TsX/YrXa2VNkw9NPeh5A4vtZV27Rlc72HJ0ev0Dy7661H50es8TS7mSa+Zsbe/j080HPZzP48IOeuAcb9m5DAE/WPXsF8Nlny/JHtCwrTCnuvvwB1x60k0bHexlXsCyGW5N6xZyrADuT0efV4CuDcGdA+4hn7sNiMP9q0OBJ+SB7wMFNV+dWg5st17oq1kfqb1DMoiTQWXk6z6+AC4pBs1A18idY5oN8yiGBWxoRH77PSTdCaS8C4Fm8sfJ9rHHsxODd3iH7jgCx6+vrfvqHW5XP89eywamht0XoLRinyixi+tLt+HuS1Y3Gt1YhOwn+IPfAAJmAFww2uqllQPwwTWQfZqHFsHgNXFAOiB1Fr1hYibWs4mcrfbfdNKAp7XzVgD5+joelGmV+j2zdyif6QyalGxA3O9t1Lx7diY1AsytYjncQpksYLdbK+2ZDRKj/nmgPwgaSISlUPtfdHDrSP6F8GyYd46wOysuDbObbSjwqsq+4Z07WjVonTnglZhbVDfVdmZl0XpaudRSpkOv6Iz3SaBoSMgQoHTN2xrV8D4Jxa4IW7PWLN2d99ipYGlFxxxoLQpYek0RmIVZVD4yVoNEhvX39D9djvCyh8Y79+ObVPw9AoykUI41xMxZSJkZIcD0MYYPVm6NYe22lR4XY4MBhxUELbgV7eXZ22o4gC4vDgq/Q4UUXE6fNwU72rlHI6RSso5wPKA3nJZWdGXdsQSUn4A6YhgUCIXPWJygOMOV1jNt8dE188oYtTbB5MHIdN+Lo9JjQj/QXX7B/xT6pZ9jwcwWYjJdXC26FO5C6NHXDvUSGlhXXM4hIai4AwSdwPcaRqh6VSkSLT7pMs4h0tgWbzojLwyeHT/vfXBJJqMPMpB2NCJWZISYF3GpWGwuMT0zwaypZplEq6ZcE5gjFky4dhcj34IjOjJeu9hlWVkCX/5ChnV42gSniKU1dS+/TYK5ZaGaWC1gz74WeS2s0lRr2bKjB/YyHR8a5RCAhpmoeSUPOlVgJ1nOpU33BYVXkss3SkDvHmgmYgzLkl3pMemQfFgsjuRGHon3hQnQvg6B9Q2npsRl4hjUeZrkH1xvpSVgyxSegXC+TlWoNLp42lBWIoCCdH++hK/HilM/SOQjtgFLMm+ZAIcXEjKyPjlV8DsyFpjHWk7BPgrpiU/BlBY7NJWejAqOCUUETo/N1VAJnUqPCldBDyaYbnBQ/cCHw9iGtiBpyWTapKrXldfVZVBlq7GBgrkLZ5rTxRmM1KpRYp+oxzynB5R7lEEEhgJH2C8PWVz6HTMla+ojRTKcOPLEnSUTwUsn34FLXAda8BGtattHKqcJE/YnuWvoOiv5If2d81WlB0pDmGGCgpaAwhj1yAGwCyiweZzkLdkO6LNoYNFV0rRPNcclVvKKRtDUR0iJrrWKGghxEezz1dD+WSS3gOk3eIj3TGZuNppUmos20hegNm0DCg4ev1tTsK2z96smTJGuXl5cYqo/0zUgzxtioICM5KoY4qJcbNVxT24jitFYe/kYEfHv47C9xdd8+ezIq2kmNhbk0wd1n4uGzzkQLLihP885jG/7dsH6/z1Zp1MVIr4j8pDEnqciHr28bNJ3kuJK4JI7899//kbpUgUKbHJTSjr6iyzSkTHxdMGwZ3h/pfMkZrZ+vpOvuhmHce15W6PsPosjQ/GjU3TYZxPtMMNqd4GAaFKmv88aSdrRpQG+tO4JhKIEhKnkgjWISYfajndYMrnndqKzSJihBICE6r+DAfunYNCgVU0lce2lsdLXElp3ccqRJcGi+WzoPNWHOa4qca6kY6ecGq2oJK2Y0DrMFj3aySz13LZ/7aQ+PNhw8Wb7TY+Rp9JPBRTfciQNQuinWcH2WN2guYUHrqrnG/GyZXSABklFZnnNXTQy3gnC/2xiCtn6Js5essXIuFcww/HCkTQ5L7d6wK4AGIdWMchD4E8vrJrsXuQWlBd9ZBd5QCRMlS0XhCCQfwy1wx1woK+TKD9K/DJMeKxWGWgdOihgBRVPoDIqJr6Jr3mBYJ4ZAoWrAIrcxhJA8RlQU6hKb++w0Hpis2UPJAONupBEIRb3EahIaEhaS7MhoERerIW5JOn3BQIE7tzCJr5eXl64CpUb6zxitKIaxtRsOBtnz9Hkj+6WpN4wDG42ijm8E08OR/oJR2GMU3n6x8QAywiUJ5Y78CmrRBh3JSBxPSScyyRtShByKGWBc8iPoz/q9BKq0xrmDdMMoydvj3kijJbg8eMlGv5VsjIpL8rUUj03Z5ca6otdHFx8dexRnVgcMoFNwaOZg2Tlu4ZuLR8jD4WAAur+QV7IBIXnf2NkA3wY4ZvyGJPJxP0peCxKPOzHY24yj2UIqxbhCweJS9UeY1OSCwTr+wpQ+RnTFsIhRJl0MNM7XnJK2lB+dbX0Esp0idUpGv9eHIymR83DtB43iku4lBEx8b1K54byYfxVrSNfLTtG+6BXDrdr+cE9Bv8LvJIbnxc0Nhh1vrVqtsDl+dIAlESEdeh9RDKdcOeilGkn8DCFXRqgYMudWxmO4fdNuZdyj1+lo4jG7bb05h9bLLs5MysYq8ROD/yPubY6u8EOOlN2vC0pHlFp25u+UFzeKST+8OKPvcXB31zcEUuo+Sd9Z3OynjPZRlqjFb5OtW61acrP5Izb91vzTZHY687MlwnWuVv8D58XotQ== sidebar_class_name: "get api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/update-address.api.mdx b/apps/www/docs/reference/api/update-address.api.mdx index f0c4319d31..f187f6c73f 100644 --- a/apps/www/docs/reference/api/update-address.api.mdx +++ b/apps/www/docs/reference/api/update-address.api.mdx @@ -5,7 +5,7 @@ description: "update an address." sidebar_label: "Update an address" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "patch api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/update-carrier-connection.api.mdx b/apps/www/docs/reference/api/update-carrier-connection.api.mdx index 7e9fd7db81..26c85a7532 100644 --- a/apps/www/docs/reference/api/update-carrier-connection.api.mdx +++ b/apps/www/docs/reference/api/update-carrier-connection.api.mdx @@ -5,7 +5,7 @@ description: "Update a carrier connection." sidebar_label: "Update a connection" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "patch api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -108,8 +108,8 @@ Update a carrier connection. name={"carrier_name"} required={false} schemaName={"string"} - qualifierMessage={"**Possible values:** [`allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`]"} - schema={{"enum":["allied_express","allied_express_local","amazon_shipping","aramex","asendia_us","australiapost","boxknight","bpost","canadapost","canpar","chronopost","colissimo","dhl_express","dhl_parcel_de","dhl_poland","dhl_universal","dicom","dpd","dpdhl","easypost","eshipper","fedex","fedex_ws","freightcom","generic","geodis","hay_post","laposte","locate2u","nationex","purolator","roadie","royalmail","sapient","seko","sendle","tge","tnt","ups","usps","usps_international","usps_wt","usps_wt_international","zoom2u"],"type":"string","x-spec-enum-id":"4d1bcfc36bdc8769","description":"A carrier connection type."}} + qualifierMessage={"**Possible values:** [`allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`]"} + schema={{"enum":["allied_express","allied_express_local","amazon_shipping","aramex","asendia_us","australiapost","boxknight","bpost","canadapost","canpar","chronopost","colissimo","dhl_express","dhl_parcel_de","dhl_poland","dhl_universal","dicom","dpd","dpdhl","easypost","easyship","eshipper","fedex","fedex_ws","freightcom","generic","geodis","hay_post","laposte","locate2u","nationex","purolator","roadie","royalmail","sapient","seko","sendle","tge","tnt","ups","usps","usps_international","usps_wt","usps_wt_international","zoom2u"],"type":"string","x-spec-enum-id":"3812983dc743ed62","description":"A carrier connection type."}} >
          + + + + + + + + \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n \n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
          \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
          \n "}} collapsible={false} discriminator={false} > diff --git a/apps/www/docs/reference/api/update-parcel.api.mdx b/apps/www/docs/reference/api/update-parcel.api.mdx index 141bda0df8..c83f80e06b 100644 --- a/apps/www/docs/reference/api/update-parcel.api.mdx +++ b/apps/www/docs/reference/api/update-parcel.api.mdx @@ -5,7 +5,7 @@ description: "modify an existing parcel's details." sidebar_label: "Update a parcel" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "patch api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/update-pickup.api.mdx b/apps/www/docs/reference/api/update-pickup.api.mdx index 6c0fbf3f90..2fb5915250 100644 --- a/apps/www/docs/reference/api/update-pickup.api.mdx +++ b/apps/www/docs/reference/api/update-pickup.api.mdx @@ -5,7 +5,7 @@ description: "Modify a pickup for one or many shipments with labels already purc sidebar_label: "Update a pickup" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/update-shipment.api.mdx b/apps/www/docs/reference/api/update-shipment.api.mdx index c6a4de180a..6c287da5c6 100644 --- a/apps/www/docs/reference/api/update-shipment.api.mdx +++ b/apps/www/docs/reference/api/update-shipment.api.mdx @@ -5,7 +5,7 @@ description: "This operation allows for updating properties of a shipment includ sidebar_label: "Update a shipment" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "put api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -217,7 +217,8 @@ It is not for editing the parcels of a shipment. "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, @@ -246,7 +247,7 @@ It is not for editing the parcels of a shipment. required={false} schemaName={"any"} qualifierMessage={undefined} - schema={{"type":"object","additionalProperties":{},"default":{},"description":"
          \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
          \n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
          \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
          \n "}} collapsible={false} discriminator={false} > @@ -1789,7 +1790,8 @@ It is not for editing the parcels of a shipment. "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, @@ -1818,7 +1820,7 @@ It is not for editing the parcels of a shipment. required={false} schemaName={"any"} qualifierMessage={undefined} - schema={{"type":"object","additionalProperties":{},"default":{},"description":"
          \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
          \n "}} + schema={{"type":"object","additionalProperties":{},"default":{},"description":"
          \n The options available for the shipment.\n\n {\n \"currency\": \"USD\",\n \"insurance\": 100.00,\n \"cash_on_delivery\": 30.00,\n \"dangerous_good\": true,\n \"declared_value\": 150.00,\n \"sms_notification\": true,\n \"email_notification\": true,\n \"email_notification_to\": \"shipper@mail.com\",\n \"hold_at_location\": true,\n \"paperless_trade\": true,\n \"preferred_service\": \"fedex_express_saver\",\n \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\": \"This is a shipment note\",\n \"signature_confirmation\": true,\n \"saturday_delivery\": true,\n \"is_return\": true,\n \"doc_files\": [\n {\n \"doc_type\": \"commercial_invoice\",\n \"doc_file\": \"base64 encoded file\",\n \"doc_name\": \"commercial_invoice.pdf\",\n \"doc_format\": \"pdf\",\n }\n ],\n \"doc_references\": [\n {\n \"doc_id\": \"123456789\",\n \"doc_type\": \"commercial_invoice\",\n }\n ],\n }\n
          \n "}} collapsible={false} discriminator={false} > diff --git a/apps/www/docs/reference/api/update-tracker.api.mdx b/apps/www/docs/reference/api/update-tracker.api.mdx index 911df09c66..babf349cea 100644 --- a/apps/www/docs/reference/api/update-tracker.api.mdx +++ b/apps/www/docs/reference/api/update-tracker.api.mdx @@ -5,7 +5,7 @@ description: "Mixin to log requests" sidebar_label: "Update tracker data" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "put api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/update-webhook.api.mdx b/apps/www/docs/reference/api/update-webhook.api.mdx index 4d33ebdfaa..3f4d13dbe5 100644 --- a/apps/www/docs/reference/api/update-webhook.api.mdx +++ b/apps/www/docs/reference/api/update-webhook.api.mdx @@ -5,7 +5,7 @@ description: "update a webhook." sidebar_label: "Update a webhook" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "patch api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/upload.api.mdx b/apps/www/docs/reference/api/upload.api.mdx index 3cf9814e0c..af1e67c3d1 100644 --- a/apps/www/docs/reference/api/upload.api.mdx +++ b/apps/www/docs/reference/api/upload.api.mdx @@ -5,7 +5,7 @@ description: "Upload a shipping document." sidebar_label: "Upload documents" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/uploads.api.mdx b/apps/www/docs/reference/api/uploads.api.mdx index 4efc5c7faf..aff3cee1e2 100644 --- a/apps/www/docs/reference/api/uploads.api.mdx +++ b/apps/www/docs/reference/api/uploads.api.mdx @@ -5,7 +5,7 @@ description: "Retrieve all shipping document upload records." sidebar_label: "List all upload records" hide_title: true hide_table_of_contents: true -api: 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 +api: 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 sidebar_class_name: "get api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/verify-token.api.mdx b/apps/www/docs/reference/api/verify-token.api.mdx index 27007e3c80..be516179f8 100644 --- a/apps/www/docs/reference/api/verify-token.api.mdx +++ b/apps/www/docs/reference/api/verify-token.api.mdx @@ -5,7 +5,7 @@ description: "Verify an existent authentication token" sidebar_label: "Verify token" hide_title: true hide_table_of_contents: true -api: eJylWI1uG7kRfpUpU6QJsF45RtMCAg6Fc8n1fNfWRuxccPAa0Wh3pOWZS274I1kxBPQh+oR9kmKGu7Lk5K4pKiCxRA7n55tf8l65njxG7exZo6bq6dMVeb3YfIjulqwqVEOh9rpnAjVVP8kmoAW60yGSjYAptmSjroUJjOciLoOaXqvTFFt1UyhPHxOF+Mo1GzW9V7WzfJq/Yt+b4fTkl8Bi7lWoW+qQv8VNT2qq3PwXqqMqVO9Z4agpyK5IeyAL0Wu7VIVaex3p3JqNmkafaLvNGmhPDWuVz90UKupo+OAVL2Tr1PaQWs7zQuidDVnuyfHx/2UFNo1mUjQX+/ZsRfQh5IqXOoqtY//0LggKGFs1VRPs9URsmWS3qUIFqpPXcXPJwrO2P7y/4j+a2bWEDXl2UFYJe/0jyTmhV1M1J/RCkb9853yHUU2FS6EsChG71Xn9SQz+LEwOdqfwShjB3d1dOfxT20KdM9XJPjooC8UjRX9F4sK4tViH+xvfuoY+W3znDYMl/CfjDk0YBMbuYDujKXi4PsPnCRn6t4SNtkuQjTHE1FS99zrur7uerOYD5z3Zs9dQO2vZ61/w7a/iJB8G6epRgO/c9VUY/aY0YQ23tPnwmcBXGHS9J7WNsT8IEdn/SrFH6UDIVAKaU+TtQ0l4c4ddb2gvpcdU3rKpC8c7h2wr+yN6rx3oAAhdMlEf1bxCHkKr+559cnpxBrHFCEF3vdELTQFiS6BtpGUue+AWYNxSh6jrADsO5Fe6plBWtrJXLcEgjBnqAM4v0epP1AB6l2wDb99cXpVwnrxQtBig99ToOuLcEHgKLvmajpzXZCM18O7t30IBWNfUxwA/XJ7/44hs7RpqKjuUSpi7RlMowFNM3h5Swa4cFYC2gRQoQIhoG/QNfH91dbGjAD7AZAeFOh9bkZ9/0cZGLxbkAyycB1qR37CuLnG9D7BmiwxhILC0ZiZBO8t8rloKBI2rA6AnqFOIrhOcooONS34kZtTZEacXZyK+sk+ewE95T9slL7xvycIc69s1+iYcaVu7rseoGdC6RbukLKTDhpj9wK4AZK0KaJCBHuXpMOrcZD2hTt5zA9ujmJ0cn/yx/FP555koxRkPbvBpFmnckmUZQm+hc54A5y7FBz1h1FIbHTfC5pQDtPdUY8rIpyCajpI5UKODuqX6Niu/vwtzWrCc2nWdjnEgRgupX3ps6AG+N3alvbMd2Ri+4FLHHhWUehfCoKAI9oSRJB48Ra9pRVCTj6gt5I4VQFuYRQrxQ+caYnTOLDS0IuN6lleAjgxgbMlndbMMI57Bptkl1lANOV4KWFIEo1cEHiOForLztAGDczKhGNWKHutbDkXWjytQkwxBr+vb1H9BrwGLC1xqK4EuHjAGouuPDGssYIwZGaDFFUFIfe98lHCfJ3MLC4p1SwFWGqFSRodYKTmYO3Eo4TvnQVtOuZoKjm2o0QJTsr2eQhCLZIHrkbglZ52sjXaVkJNGFvckQGg5ulEc7yyE6FMdk6cCIt5yGGDkOGRWzKCyce2gR48dRfJhCkZ3OmaJbrEIFAWeISJS1EZ/ojBsHc05M6DfwSaWc7Dk/UHvTsc9EWVlX7nY7q2waqyzTd2cPNeKFZpE8CwQwZyMWz8f4yz5g+jyXGW4WLXeWccFuUYDzjfkh3wdFNkJ29XFkQsjyBV5wZtoQduG7obDj1Qf9czLPLa2NCrtFjuO0cGcBjnUwMK7Dl7w6ovj4yHWZrMZ97LK3lcWAKBSUiYrNWWiYly0dCdrlZqsXkx28fAXUeCbk5dPs3XfvDyu1O5Q72mlXQpfc/Dk5d5BTyGZKOeu8xp/7qEsS9gOVDeV3Yr6Q8b8nSI2GJF/vuu5eErrGsJlQOTf//yXtrVJMghdDsqIR8/ZUzmZkENYeD0AXlb25yFFuPrFVod9bzjAGLFueVI4yiEj53NZD4/VEOxHhbnupECLZCR9Q3ResmM3YhcPudMADxM80EoPshwmmWeZ6zRfbGQUGVLaJdMIS8rtKwXyfwiwSMYATz9ie+18brYCS7L6YyLQDTfbhSZfWQkcOR82IVInkkebMnI7LSr72oF1cZCKdgOBbNCR6+S+9hh2OJeDD08PWrxUvoszxjR3yhRyI96bBDi6ZdoIJYwOWmlai10dWlwOhu8Y6ZwsrzG0c4e+Edk/H5Bwrd/w6Q30Xq+0oSUPIEGyKSQvTeGWqGdOHciNhX4Ho91S9zJaVHuKe1ZoC32aG10bGUho6DHoCQOEVLeMyl91/D7NC6gND1tHQTd5BsqlMDgOk9jm1vz48jpOERxUPXlGm4cIjXmmksFYYC7hwrsVs97BI5MrYKgsM5EZWaCWoJFgkcjOQDfZWEvZJf3AjFMmhLUbcJ3NZqElYyr7e55XDPAkHqaTydh5Sux1WbvuoDhAVeUcPxi9p5V9AjL4OOMsDyQrIRa+EqEYpK9wFh3oMRSJs4XkxKjyQRQxQvm+mE1+RuWyLAZWtXch8Oy7lEIv8fa8qCxXgtnR91D9t6tJpWbSa2UeW8DswK7c9bnF58aewxm6xCP0MB66FXm4Zhde3jxjDKeTCdlyrW91T43G0vnlhH9NmObDpUTk8zJH3o7lWseWh71HTx5rbQyg4cBCbcpKnj+Gd4WH+UsVapjo1FSNcyZfb/hK36Fc8ob71PDK8sUnmL1Hh//lNSbf4yLdxUlvUFsWnPjeez+8JVzz1XK8EWdd+T3hplAtPzlMr9X9Pc8I77zZbnn5YyK/UdPrm0Kt0GtuFvxrW4y30un1vbqljZqqb7PGR1cbuSBLFshd9tGTybYYT5zKxeg3aW/2XkUuzi/5bWI+PC518gigPK5VIf9PldzLZeqUGz2v3SuDdplwybSZJ3/+Ax5nxxA= +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null diff --git a/apps/www/docs/reference/api/void-label.api.mdx b/apps/www/docs/reference/api/void-label.api.mdx index 08bb56d5f6..7749e0789e 100644 --- a/apps/www/docs/reference/api/void-label.api.mdx +++ b/apps/www/docs/reference/api/void-label.api.mdx @@ -5,7 +5,7 @@ description: "Cancel a shipment and the label previously created" sidebar_label: "Void a shipment label" hide_title: true hide_table_of_contents: true -api: eJztWXtvHMcN/yrspGhtYHVyhKQFDggK2XEa51ELlpwg0BnS3A7vdqrZmc087nQ+HNAP0U/YT1KQM3u7J8mPGPkzAuzbnQfJIX/kkNytcB16GbWzL5SYipXT6gc5RyMqoTDUXnc0J6bimbQ1GpAQGt21aCNIqyA2CIbWQ+dxpV0KZgO1RxlRiUp00ssWI/ogppdboYlQJ2MjKmFli2Iqaum9Rn/Fr5UIdYOtFNOtiJuO5kP02i5FJdCmVkwvhTRGo7rC285jCKK6M3BlXC1JetnKt85ekbRdpsCy3NJDQKu0vEq8PYXopdGycyGKSszd7Y3Vy4afy1gtrVRyeOmkp4fGO+v6UWd0CLp1pLjGjOSjt076Gs2Vwv7dGWlVeUlWr9AHllrp2rX026n8f0OjKMOm8EE+EBL/BSo+Dv9erYnXwiOJnmks0aLXNT85pWm+kZurQsjweUgg0ljEk8RGIWsz1S55Z2R0xMk7qTTyw0aaVmoSKshOoyVSAW8c/1hlaFVc8v88lzrim8L+50rbiD4z4iPz4DoOT/dWvHWuPUniza4SHn9N2qMS0+gT7t5UIsolgUuceXe7EW/yEgzxqVMbwlHtbCQxp1shu87omuke/zsQqrf3Aefm/8aapOk8uUbUGHhdQf2VVmijXmj0D6H00GcuGhzcZdgIHmPyFhWoRPuyw2hnJ2JHavQrXeND1G0yRs4N5tM/yA0N1hHVwLYnt6v2vqbVbxR92AgL5yF0WOuFrqF21mJNOwrj/gyOyYSH1CqV0tmyZ2MF70iAhUwm9i9jaU7VisKP6iUZicBhybD6oLCdiN0BVC4ftB5hR0dSpjgv0znGvcoAErvdfcCReerkddxwQLtwN2ifyqBrMb18s6vKSP/y8jTF5qR/++7nC35kjIbO2ZChdfLk5HcEaoshyCWOdS+9lxtRCR2xfdAmD1L4OIyg986D87CW3hKW+92EN6c+kkrZBLyDrR+lNr8ZP2Oy0m5gWAs9xZEb5BvoY8SL0i8xDvD7FGe6SwOIPTxKVv+acBQcHjN4e2T+OGjzPkmjQwS3AOsiPmCCfFhnF9q3Mm/b0m35csHYfT8I9mnBh0/3sl8KHfqF8y0qjmOprukGHPbPnTMo7T0C5+zMG1g3GBv0nFTs+cNaBii0Fsl8mgEHar+jBf8a3m/DcQAa8aru5jyDqgeljYLTXr3PxqakKPK+c+7xvnuA0qsSfnKIOyRDmvniyZPfMSJxiPgjHr0jHo3sc3r24jmJ/35vPz17AUWl482884OGPfnij6vmj6vm06+abIPhgrkLwB+HmQcAuKvE7dG7C068jWhDThwvt+IGN2J6Z0MlVtIkPNhIobDF2DiiV6obLjKn4nj1+XFHhcFxXwceb8c22R3n/FEMed05gT+jkxO2UrU2KBVXXT3QO/09bvqKlW83lJ5X5IdvHIVqMWUq+3KXEkLn9ds+3t9Jc8ezU3jKhOD29nZS/pFx+qRywKvkgeqOoO/guDBuzaeT44lnxX8OBl97Qzpk+sf9DB6TEijLPZjmkWPWh+uy+jxKssgrlIq8lSdEJdZeRxLsZ6/jeNx1aAnhdE3ZF1/3xcVDSHqnnviPlFTS8O09c32Ujt7LjUnDDW6u7jEslcCeaxNjdwARnv9ItkfpgMmU3YdC9KuhwH1+K9vO4DsL1CFK7KvKYWgcVobRoXQjftouHFE/FG1mv6e9DnQACW0yUR/tK7PiaHxPxUZGCLrtDAkUOLOj6n5ZshS3AOOWOkRdh6G2y6KGyczOLAWfwowI6gDOL6XVb1GB9C5ZBa+en19M4GXyvKKRgXpRSteRSmXwGFzyNR45T+0KVPD61Q+hAlnX2MUA352//NcRWroO1MyW5gHMndIYqlKpH66CffVWcQ8sBQwQorRKegXfXlyc7VfwLUPLUmzIKvmizdtW6OcPnlHpxQJ94FIbV+g3JKtL1HELsKYTGZQBweKaiHDAnDCVgKBcHUB6hDqF6FrWU3Swccn3i0nrZIjTsxfMfmY/+wx+ynPaLmng5wYtzGV9s5ZehSNta9d2MmpSaN1Iu8TMpJUKiXwhV4EkqSpQ1P/b89Ohl1llOaFO3lNjYbTi+uTJyReTv03+fs1CUdQAV2yaWRq3JF4GpbfQOo8g5y7FQU7opdRGxw2TOSWAdh5rmbLmU2BJe84E1OigbrC+ycKPZ2GOC+JTu7bVMZbF0kLqll4qHNT33K60d5YcMDxgUkcWZS11LoQiIDPmVinjwWP0GlcINfootYWchwTQFq4jhnjVOoWknReU3q/QOHb4CnQkBVLplMXNPAxbRqohDRjaNaGCJUYweoXgZcRQzew8bXIrN1S9WNHL+oagSPJRFFPJIHS6vkndA3IVXZzJpc7dO7aAMRBdd2RIYlZG75EBGrlCCKnrnI8M93kyN7DAWDcYYKUlzARlHjPBG/MlHybwjfOgLblcjRVhm9pAOUeRSlHflU/EA31cLM7KY/25JpCdhgdHHCA0hG7JhqfmVvSpjsljBVHeEAxkJBwSKSIws3HtYGh2T8HoVsfM0S0WASOrpyAiRW30Wwxl6mhOngHdXm18ci6Ceb7I3eo4YjGZ2acuNqMREo1ktqmdo6dYwakSPAqIMEfj1o97nCV/gC5PUYaCFTe0KSDX0oDzCn3x1yLIntk+LvZUSIMUkRc0KS1oq/C2bL4jei9nHnaWT1qEdos9xehgjkOndOFdC5/T6OdPnhSsXV9f0304s9uZBQCYCQ6TMzGlRVU/aPGWx2acDu7x8A8W4KuTL/+ST/fVl09mYr+p/5zxMRtPvhxt9BiSibzvMo/R3xYmkwnsyqo3M7tj8YvH/IhRKhklvb7uKHjy1VXgUjTyv//8V9vaJE6mzscfYV6SpbIzSYIw0xoUPpnZX4qLUPSLjQ5jaziQMcq6oWzjKEOG9+ewHu6KwbrvBaa4kwIuksmN4ei4nz0UQ9XgOwoomSj9C7K77EE4yXHaAuZ0pri0S0YxSczXVwrcc1kkY3JFQ2evnc+XLavlXokzswwc3h82IWLLnPszZc3tpZjZrx110wpXqusCVSSR4uRYehn2ep4UG54eXPEc+c5ekE7zTZlCvohHmQChm7ONMIHeQCuNaz5XKy1VqZv+CmRCOjvL1zI0cye9Yt6/HCyhWL+h3RvovF5pg0tKQAJ7U0ieL4UbxI4otcBVD/4J+nNz3MvawtpjHJ1CW+jS3OjacEKC5Y6RHnODriGt/FPHb9O8gtpQsnUUtMo5UA6FwRFMYpOv5gOFjbIIAtW+k8ixkHMqTq5ZzRM4825FpPfq4fIDZJhZIsJ5NquaQcNgYWRnRat8WIvZJF0hRi4TwtoVvV5fX4cGjZnZP1O+YoCy+TA9Pu5vnons9KR27UFwgNks+/hB+j6d2c+AEx9nqE9KEZcWM11GqAx8r5AXHchRgsSLBftEL/IBikhDuebMR36Ek+WkKqRq70Kg3HfJgZ7x9riaWYoE10ffwuxD5c1MXPNdy/nYAq4PzpVvfbri88We4QxtohS6pIduhR4uyYTnbx6RDqfHx2gna32jO1RaTpxfHtPbMa25OmdEPp5k5O1JrnVsKNk7zKRhrY0BaQhYUpvJjMqoviEx5F/UNsgZnZiKPs+kqo26Ba3kQrHUZD85rcYfuc1DH8NHHbRP+y5e6sOIt/G4M1JbEiZRPb0trYtLsfo8t8tuucswfMae3mkflw7Gm0o01PuYXortljKK197sdjT8a0JPn6veUPPE6/wB8XIrlA70rMR0IU24+zlxfMZHr0or+zG8S/i+zrabUY9GVKWJcyDyjj7klhJ86PM8y9yOLjbcDehJ3OtP0pe0vOOUK7j3rh13hs5enl/w9/38Xbjljofwck3fteU6izv6cMljW2GkXSbuUYpMk8piQuH4w0ap6+flS+D2YXWwXXRNDve6hKXdbq+jPlLxCT+0/6xEiNH+PmiQfne7/wP0oPo2 +api: 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 sidebar_class_name: "post api-method" info_path: docs/reference/api/karrio-api custom_edit_url: null @@ -68,7 +68,7 @@ Cancel a shipment and the label previously created
            diff --git a/apps/www/openapi.yml b/apps/www/openapi.yml index 279233ed7e..0d8537c19b 100644 --- a/apps/www/openapi.yml +++ b/apps/www/openapi.yml @@ -14,7 +14,7 @@ info: ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. - The current version is `2024.6.7`. + The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. @@ -84,7 +84,7 @@ info: All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. title: Karrio API - version: 2024.6.7 + version: '2024.9' paths: /: get: @@ -751,9 +751,9 @@ paths: `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, - `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, - `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, - `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, + `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, + `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, + `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`' required: true tags: @@ -824,9 +824,9 @@ paths: `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, - `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, - `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, - `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, + `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, + `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, + `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`' - in: query name: metadata_key @@ -1415,9 +1415,9 @@ paths: `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, - `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, - `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, - `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, + `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, + `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, + `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`' - in: query name: created_after @@ -2302,6 +2302,7 @@ paths: - dpd - dpdhl - easypost + - easyship - eshipper - fedex - fedex_ws @@ -2397,6 +2398,7 @@ paths: - dpd - dpdhl - easypost + - easyship - eshipper - fedex - fedex_ws @@ -2492,6 +2494,7 @@ paths: - dpd - dpdhl - easypost + - easyship - eshipper - fedex - fedex_ws @@ -2680,6 +2683,7 @@ paths: - dpd - dpdhl - easypost + - easyship - eshipper - fedex - fedex_ws @@ -2960,9 +2964,9 @@ paths: `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, - `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, - `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, - `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, + `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, + `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, + `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`' - in: query name: created_after @@ -3394,9 +3398,9 @@ paths: `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, - `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, - `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, - `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, + `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, + `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, + `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`' - in: query name: created_after @@ -4824,6 +4828,7 @@ components: - dpd - dpdhl - easypost + - easyship - eshipper - fedex - fedex_ws @@ -4849,7 +4854,7 @@ components: - usps_wt_international - zoom2u type: string - x-spec-enum-id: 4d1bcfc36bdc8769 + x-spec-enum-id: 3812983dc743ed62 description: A carrier connection type. display_name: type: string @@ -4920,6 +4925,7 @@ components: - dpd - dpdhl - easypost + - easyship - eshipper - fedex - fedex_ws @@ -4945,7 +4951,7 @@ components: - usps_wt_international - zoom2u type: string - x-spec-enum-id: 4d1bcfc36bdc8769 + x-spec-enum-id: 3812983dc743ed62 description: A carrier connection type. carrier_id: type: string @@ -5024,6 +5030,7 @@ components: - dpd - dpdhl - easypost + - easyship - eshipper - fedex - fedex_ws @@ -5049,7 +5056,7 @@ components: - usps_wt_international - zoom2u type: string - x-spec-enum-id: 4d1bcfc36bdc8769 + x-spec-enum-id: 3812983dc743ed62 description: Indicates a carrier (type) display_name: type: string @@ -6038,6 +6045,7 @@ components: - $ref: '#/components/schemas/fedex_ws' - $ref: '#/components/schemas/fedex' - $ref: '#/components/schemas/eshipper' + - $ref: '#/components/schemas/easyship' - $ref: '#/components/schemas/easypost' - $ref: '#/components/schemas/dpdhl' - $ref: '#/components/schemas/dpd' @@ -8199,6 +8207,7 @@ components: - dpd - dpdhl - easypost + - easyship - eshipper - fedex - fedex_ws @@ -8224,7 +8233,7 @@ components: - usps_wt_international - zoom2u type: string - x-spec-enum-id: 4d1bcfc36bdc8769 + x-spec-enum-id: 3812983dc743ed62 description: A carrier connection type. carrier_id: type: string @@ -9025,7 +9034,8 @@ components: : true,\n \"email_notification_to\": \"shipper@mail.com\",\n\ \ \"hold_at_location\": true,\n \"paperless_trade\"\ : true,\n \"preferred_service\": \"fedex_express_saver\",\n\ - \ \"shipment_date\": \"2020-01-01\",\n \"shipment_note\"\ + \ \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \ + \ \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\"\ : \"This is a shipment note\",\n \"signature_confirmation\"\ : true,\n \"saturday_delivery\": true,\n \"is_return\"\ : true,\n \"doc_files\": [\n {\n \ @@ -9131,7 +9141,8 @@ components: : true,\n \"email_notification_to\": \"shipper@mail.com\",\n\ \ \"hold_at_location\": true,\n \"paperless_trade\"\ : true,\n \"preferred_service\": \"fedex_express_saver\",\n\ - \ \"shipment_date\": \"2020-01-01\",\n \"shipment_note\"\ + \ \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \ + \ \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\"\ : \"This is a shipment note\",\n \"signature_confirmation\"\ : true,\n \"saturday_delivery\": true,\n \"is_return\"\ : true,\n \"doc_files\": [\n {\n \ @@ -9336,7 +9347,8 @@ components: : true,\n \"email_notification_to\": \"shipper@mail.com\",\n\ \ \"hold_at_location\": true,\n \"paperless_trade\"\ : true,\n \"preferred_service\": \"fedex_express_saver\",\n\ - \ \"shipment_date\": \"2020-01-01\",\n \"shipment_note\"\ + \ \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \ + \ \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\"\ : \"This is a shipment note\",\n \"signature_confirmation\"\ : true,\n \"saturday_delivery\": true,\n \"is_return\"\ : true,\n \"doc_files\": [\n {\n \ @@ -9449,7 +9461,8 @@ components: : true,\n \"email_notification_to\": \"shipper@mail.com\",\n\ \ \"hold_at_location\": true,\n \"paperless_trade\"\ : true,\n \"preferred_service\": \"fedex_express_saver\",\n\ - \ \"shipment_date\": \"2020-01-01\",\n \"shipment_note\"\ + \ \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \ + \ \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\"\ : \"This is a shipment note\",\n \"signature_confirmation\"\ : true,\n \"saturday_delivery\": true,\n \"is_return\"\ : true,\n \"doc_files\": [\n {\n \ @@ -9584,7 +9597,8 @@ components: : true,\n \"email_notification_to\": \"shipper@mail.com\",\n\ \ \"hold_at_location\": true,\n \"paperless_trade\"\ : true,\n \"preferred_service\": \"fedex_express_saver\",\n\ - \ \"shipment_date\": \"2020-01-01\",\n \"shipment_note\"\ + \ \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \ + \ \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\"\ : \"This is a shipment note\",\n \"signature_confirmation\"\ : true,\n \"saturday_delivery\": true,\n \"is_return\"\ : true,\n \"doc_files\": [\n {\n \ @@ -9631,7 +9645,8 @@ components: : true,\n \"email_notification_to\": \"shipper@mail.com\",\n\ \ \"hold_at_location\": true,\n \"paperless_trade\"\ : true,\n \"preferred_service\": \"fedex_express_saver\",\n\ - \ \"shipment_date\": \"2020-01-01\",\n \"shipment_note\"\ + \ \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \ + \ \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\"\ : \"This is a shipment note\",\n \"signature_confirmation\"\ : true,\n \"saturday_delivery\": true,\n \"is_return\"\ : true,\n \"doc_files\": [\n {\n \ @@ -9693,7 +9708,8 @@ components: : true,\n \"email_notification_to\": \"shipper@mail.com\",\n\ \ \"hold_at_location\": true,\n \"paperless_trade\"\ : true,\n \"preferred_service\": \"fedex_express_saver\",\n\ - \ \"shipment_date\": \"2020-01-01\",\n \"shipment_note\"\ + \ \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \ + \ \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\"\ : \"This is a shipment note\",\n \"signature_confirmation\"\ : true,\n \"saturday_delivery\": true,\n \"is_return\"\ : true,\n \"doc_files\": [\n {\n \ @@ -9811,7 +9827,8 @@ components: : true,\n \"email_notification_to\": \"shipper@mail.com\",\n\ \ \"hold_at_location\": true,\n \"paperless_trade\"\ : true,\n \"preferred_service\": \"fedex_express_saver\",\n\ - \ \"shipment_date\": \"2020-01-01\",\n \"shipment_note\"\ + \ \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \ + \ \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\"\ : \"This is a shipment note\",\n \"signature_confirmation\"\ : true,\n \"saturday_delivery\": true,\n \"is_return\"\ : true,\n \"doc_files\": [\n {\n \ @@ -10890,6 +10907,13 @@ components: type: string required: - api_key + easyship: + type: object + properties: + access_token: + type: string + required: + - access_token eshipper: type: object properties: @@ -11370,6 +11394,7 @@ tags: | fedex_ws | FedEx Web Service | | fedex | FedEx | | eshipper | eShipper | + | easyship | Easyship | | easypost | EasyPost | | dpdhl | Deutsche Post DHL | | dpd | DPD | @@ -12055,200 +12080,418 @@ tags: ### eShipper | Code | Service Name | | ------------ | ------------ | - | eshipper_aramex_economy_document_express | 5000049 | - | eshipper_aramex_economy_parcel_express | 5000048 | - | eshipper_aramex_priority_letter_express | 5000046 | - | eshipper_aramex_priority_parcel_express | 5000047 | - | eshipper_canada_post_air_parcel_intl | 5000030 | - | eshipper_canada_post_expedited | 5000026 | - | eshipper_canada_post_expedited_parcel_usa | 5000032 | - | eshipper_canada_post_priority_courier | 5000024 | - | eshipper_canada_post_regular | 5000027 | - | eshipper_canada_post_small_packet | 5000033 | - | eshipper_canada_post_small_packet_international_air | 5000034 | - | eshipper_canada_post_small_packet_international_surface | 5000035 | - | eshipper_canada_post_surface_parcel_intl | 5000031 | - | eshipper_canada_post_xpress_post | 5000025 | - | eshipper_canada_post_xpress_post_intl | 5000029 | - | eshipper_canada_post_xpress_post_usa | 5000028 | - | eshipper_canada_post_xpresspost | 5000181 | - | eshipper_canpar_express_letter | 5000129 | - | eshipper_canpar_express_pak | 5000130 | - | eshipper_canpar_express_parcel | 5000131 | - | eshipper_canpar_ground | 5000184 | - | eshipper_canpar_international | 5000135 | - | eshipper_canpar_select_letter | 5000126 | - | eshipper_canpar_select_pak | 5000127 | - | eshipper_canpar_select_parcel | 5000128 | - | eshipper_canpar_usa | 5000125 | - | eshipper_canpar_usa_select_letter | 5000132 | - | eshipper_canpar_usa_select_pak | 5000133 | - | eshipper_canpar_usa_select_parcel | 5000134 | - | eshipper_cpx_canada_post | 5000454 | - | eshipper_day_ross_ltl | 5000457 | - | eshipper_dhl_dhl_ground | 5000022 | - | eshipper_dhl_economy_select | 5000186 | - | eshipper_dhl_esi_export | 5000018 | - | eshipper_dhl_express_1030am | 5000016 | - | eshipper_dhl_express_12pm | 5000017 | - | eshipper_dhl_express_900 | 5000180 | - | eshipper_dhl_express_9am | 5000014 | - | eshipper_dhl_express_envelope | 5000023 | - | eshipper_dhl_express_worldwide | 5000015 | - | eshipper_dhl_import_express | 5000019 | - | eshipper_dhl_import_express_12pm | 5000021 | - | eshipper_dhl_import_express_9am | 5000020 | - | eshipper_ltl_apex_v | 5000414 | - | eshipper_ltl_apex_trucking | 5000120 | - | eshipper_ltl_apex_trucking_v | 5000124 | - | eshipper_ltl_fastfrate_rail | 5000118 | - | eshipper_ltl_kindersley_expedited | 5000420 | - | eshipper_ltl_kindersley_rail | 5000121 | - | eshipper_ltl_kindersley_regular | 5000421 | - | eshipper_ltl_kindersley_road | 5000122 | - | eshipper_ltl_kingsway_road | 5000117 | - | eshipper_ltl_m_o_eastbound | 5000123 | - | eshipper_ltl_mo_rail | 5000116 | - | eshipper_ltl_national_fastfreight_rail | 5000114 | - | eshipper_ltl_national_fastfreight_road | 5000119 | - | eshipper_ltl_vitran_rail | 5000112 | - | eshipper_ltl_vitran_road | 5000113 | - | eshipper_ltl_western_canada_rail | 5000115 | - | eshipper_federal_express_2day_freight | 5000177 | - | eshipper_federal_express_3day_freight | 5000178 | - | eshipper_federal_express_fedex_2nd_day | 5000173 | - | eshipper_federal_express_fedex_economy | 5000174 | - | eshipper_federal_express_fedex_first_overnight | 5000170 | - | eshipper_federal_express_fedex_ground | 5000171 | - | eshipper_federal_express_fedex_ground_us | 5000183 | - | eshipper_federal_express_fedex_international_priority | 8000017 | - | eshipper_federal_express_fedex_international_priority_express | 8000018 | - | eshipper_federal_express_fedex_intl_economy | 5000179 | - | eshipper_federal_express_fedex_intl_economy_freight | 5000176 | - | eshipper_federal_express_fedex_intl_priority | 8000022 | - | eshipper_federal_express_fedex_intl_priority_express | 8000023 | - | eshipper_federal_express_fedex_intl_priority_freight | 5000175 | - | eshipper_federal_express_fedex_priority | 5000169 | - | eshipper_federal_express_fedex_standard_overnight | 5000172 | - | eshipper_flashbird_ground | 8000032 | - | eshipper_fleet_optics_ground | 5000458 | - | eshipper_project44_a_duie_pyle | 5000103 | - | eshipper_project44_aaa_cooper_transportation | 5000081 | - | eshipper_project44_aberdeen_express | 5000092 | - | eshipper_project44_abfs | 5000111 | - | eshipper_project44_averitt_express | 5000079 | - | eshipper_project44_brown_transfer_company | 5000102 | - | eshipper_project44_central_freight_lines | 5000066 | - | eshipper_project44_central_transport | 5000085 | - | eshipper_project44_chicago_suburban_express | 5000086 | - | eshipper_project44_clear_lane_freight | 5000095 | - | eshipper_project44_con_way_freight | 5000057 | - | eshipper_project44_crosscountry_courier | 5000083 | - | eshipper_project44_day_ross | 5000099 | - | eshipper_project44_day_ross_v | 5000101 | - | eshipper_project44_dayton_freight_lines | 5000072 | - | eshipper_project44_dependable_highway_express | 5000091 | - | eshipper_project44_dohrn_transfer_company | 5000078 | - | eshipper_project44_dugan_truck_line | 5000076 | - | eshipper_project44_estes_express_lines | 5000061 | - | eshipper_project44_expedited_freight_systems | 5000077 | - | eshipper_project44_fedex_freight_canada | 5000105 | - | eshipper_project44_fedex_freight_east | 5000059 | - | eshipper_project44_fedex_freight_national_canada | 5000107 | - | eshipper_project44_fedex_freight_national_usa | 5000108 | - | eshipper_project44_fedex_freight_usa | 5000106 | - | eshipper_project44_fedex_national | 5000060 | - | eshipper_project44_forwardair | 5000062 | - | eshipper_project44_frontline_freight | 5000096 | - | eshipper_project44_holland_motor_express | 5000051 | - | eshipper_project44_lakeville_motor_express | 5000074 | - | eshipper_project44_manitoulin_tlx_inc | 5000104 | - | eshipper_project44_midwest_motor_express | 5000075 | - | eshipper_project44_monroe_transportation_services | 5000087 | - | eshipper_project44_n_m_transfer | 5000090 | - | eshipper_project44_new_england_motor_freight | 5000064 | - | eshipper_project44_new_penn_motor_express | 5000054 | - | eshipper_project44_pitt_ohio | 5000071 | - | eshipper_project44_polaris | 5000094 | - | eshipper_project44_purolator_freight | 5000100 | - | eshipper_project44_rl_carriers | 5000058 | - | eshipper_project44_roadrunner_transportation_services | 5000052 | - | eshipper_project44_saia_motor_freight | 5000067 | - | eshipper_project44_southeastern_freight_lines | 5000082 | - | eshipper_project44_southwestern_motor_transport | 5000084 | - | eshipper_project44_standard_forwarding | 5000093 | - | eshipper_project44_total_transportation_distribution | 5000097 | - | eshipper_project44_tst_overland_express | 5000098 | - | eshipper_project44_ups | 5000073 | - | eshipper_project44_usf_reddaway | 5000080 | - | eshipper_project44_valley_cartage | 5000089 | - | eshipper_project44_vision_express_ltl | 5000065 | - | eshipper_project44_ward_trucking | 5000088 | - | eshipper_project44_xpo_logistics | 5000110 | - | eshipper_project44_xpress_global_systems | 5000109 | - | eshipper_project44_yrc | 5000053 | - | eshipper_purolator_express | 5000001 | - | eshipper_purolator_express_1030 | 5000003 | - | eshipper_purolator_express_9am | 5000002 | - | eshipper_purolator_expresscheque | 5000011 | - | eshipper_purolator_ground | 5000010 | - | eshipper_purolator_ground_1030 | 5000013 | - | eshipper_purolator_ground_9am | 5000012 | - | eshipper_purolator_puroletter | 5000004 | - | eshipper_purolator_puroletter_1030 | 5000006 | - | eshipper_purolator_puroletter_9am | 5000005 | - | eshipper_purolator_puropak | 5000007 | - | eshipper_purolator_puropak_1030 | 5000009 | - | eshipper_purolator_puropak_9am | 5000008 | - | eshipper_pyk_ground_advantage | 5000459 | - | eshipper_pyk_priority_mail | 5000460 | - | eshipper_sameday_9am_guaranteed | 5000156 | - | eshipper_sameday_am_service | 5000157 | - | eshipper_sameday_ground_service | 5000158 | - | eshipper_sameday_h1_deliver_to_curbside | 5000159 | - | eshipper_sameday_h2_delivery_to_room_of_choice | 5000160 | - | eshipper_sameday_h3_delivery_packaging_removal | 5000161 | - | eshipper_sameday_h4_delivery_to_curbside | 5000162 | - | eshipper_sameday_h5_delivery_to_room_of_choice_2_man | 5000163 | - | eshipper_sameday_h6_delivery_packaging_removal_2_man | 5000164 | - | eshipper_sameday_ltl_service | 5000165 | - | eshipper_sameday_pm_service | 5000166 | - | eshipper_sameday_urgent_letter | 5000167 | - | eshipper_sameday_urgent_pac | 5000168 | - | eshipper_skip | 8000019 | - | eshipper_smartepost_intl_dhl_parcel_international_direct_ngr | 8000053 | - | eshipper_smartepost_intl_global_mail_business_priority | 5000137 | - | eshipper_smartepost_intl_global_mail_business_standard | 5000138 | - | eshipper_smartepost_intl_global_mail_packet_plus_priority | 5000139 | - | eshipper_smartepost_intl_global_mail_packet_priority | 5000140 | - | eshipper_smartepost_intl_global_mail_packet_standard | 5000141 | - | eshipper_smartepost_intl_global_mail_parcel_direct_priority_yyz | 5000142 | - | eshipper_smartepost_intl_global_mail_parcel_direct_standard_yyz | 5000143 | - | eshipper_smartepost_intl_global_mail_parcel_priority | 5000144 | - | eshipper_smartepost_intl_global_mail_parcel_standard | 5000145 | - | eshipper_ups_expedited | 5000182 | - | eshipper_ups_express | 5000036 | - | eshipper_ups_express_early_am | 5000040 | - | eshipper_ups_ground | 5000043 | - | eshipper_ups_second_day_air_am | 5000045 | - | eshipper_ups_standard | 5000039 | - | eshipper_ups_three_day_select | 5000041 | - | eshipper_ups_ups_saver | 5000042 | - | eshipper_ups_worldwide_expedited | 5000038 | - | eshipper_ups_worldwide_express | 5000037 | - | eshipper_ups_worldwide_express_plus | 5000044 | - | eshipper_usps_first_class_mail | 5000146 | - | eshipper_usps_first_class_package_return_service | 8000002 | - | eshipper_usps_library_mail | 5000147 | - | eshipper_usps_media_mail | 5000148 | - | eshipper_usps_parcel_select | 5000149 | - | eshipper_usps_pbx | 5000154 | - | eshipper_usps_pbx_lightweight | 5000155 | - | eshipper_usps_priority_mail | 5000150 | - | eshipper_usps_priority_mail_express | 5000151 | - | eshipper_usps_priority_mail_open_and_distribute | 5000152 | - | eshipper_usps_priority_mail_return_service | 8000003 | - | eshipper_usps_retail_ground_formerly_standard_post | 5000153 | + | eshipper_fedex_2day_freight | 2Day Freight | + | eshipper_fedex_3day_freight | 3Day Freight | + | eshipper_sameday_9_am_guaranteed | 9:AM GUARANTEED | + | eshipper_project44_a_duie_pyle | A Duie Pyle` | + | eshipper_project44_aaa_cooper_transportation | AAA Cooper Transportation`` | + | eshipper_project44_aberdeen_express | Aberdeen Express` | + | eshipper_project44_abf_freight | ABF Freight`` | + | eshipper_project44_abfs | ABFS | + | eshipper_sameday_am_service | AM Service | + | eshipper_apex_trucking | Apex Trucking | + | eshipper_project44_averitt_express | Averitt Express` | + | eshipper_project44_brown_transfer_company | BROWN TRANSFER COMPANY` | + | eshipper_canada_worldwide_next_flight_out | Canada Worldwide Next Flight Out | + | eshipper_project44_central_freight_lines | Central Freight Lines` | + | eshipper_project44_central_transport | Central Transport`` | + | eshipper_project44_chicago_suburban_express | Chicago Suburban Express` | + | eshipper_project44_clear_lane_freight | Clear Lane Freight` | + | eshipper_project44_con_way_freight | Con-way Freight` | + | eshipper_project44_conway_freight | Con-way Freight`` | + | eshipper_project44_crosscountry_courier | Crosscountry Courier` | + | eshipper_project44_day_ross | Day & Ross | + | eshipper_day_and_ross | DAY AND ROSS | + | eshipper_day_ross_r_and_l | DAY AND ROSS (R AND L) | + | eshipper_project44_daylight_transport | Daylight Transport`` | + | eshipper_project44_dayton_freight_lines | Dayton Freight Lines` | + | eshipper_project44_dependable_highway_express | Dependable Highway Express`` | + | eshipper_dhl_ground | DHL Ground | + | eshipper_smarte_post_int_l_dhl_packet_international | DHL Packet International | + | eshipper_smarte_post_int_l_dhl_parcel_international_direct | DHL Parcel International Direct | + | eshipper_smarte_post_int_l_dhl_parcel_international_standard | DHL Parcel International Standard | + | eshipper_project44_dohrn_transfer_company | Dohrn Transfer Company` | + | eshipper_project44_dugan_truck_line | Dugan Truck Line` | + | eshipper_aramex_economy_document_express | Economy Document Express | + | eshipper_aramex_economy_parcel_express | Economy Parcel Express | + | eshipper_envoi_same_day_delivery | Envoi - Same Day Delivery | + | eshipper_dhl_esi_export | ESI Export | + | eshipper_project44_estes_express_lines | Estes`` | + | eshipper_ups_expedited | Expedited | + | eshipper_project44_expedited_freight_systems | Expedited Freight Systems` | + | eshipper_ups_express | Express | + | eshipper_dhl_express_1030am | Express 1030AM | + | eshipper_dhl_express_12pm | Express 12PM | + | eshipper_dhl_express_9am | EXPRESS 9:00 | + | eshipper_dhl_express_envelope | Express Envelope | + | eshipper_canpar_express_letter | Express Letter | + | eshipper_canpar_express_pak | Express Pak | + | eshipper_canpar_express_parcel | Express Parcel | + | eshipper_dhl_express_worldwide | Express Worldwide | + | eshipper_fastfrate_rail | RAIL | + | eshipper_fedex_2nd_day | Fedex 2nd Day | + | eshipper_fedex_economy | Fedex Economy | + | eshipper_fedex_first_overnight | Fedex First Overnight | + | eshipper_project44_fedex_freight_canada | Fedex Freight Canada` | + | eshipper_project44_fedex_freight_east | FedEx Freight East` | + | eshipper_fedex_freight_economy | FedEx Freight Economy | + | eshipper_project44_fedex_freight_national_canada | FedEx Freight National Canada | + | eshipper_project44_fedex_freight_national_usa | FedEx Freight National USA | + | eshipper_fedex_freight_priority | FedEx Freight Priority | + | eshipper_project44_fedex_freight_usa | Fedex Freight USA | + | eshipper_fedex_ground | Fedex Ground | + | eshipper_fedex_international_connect_plus | FedEx Intl Connect Plus | + | eshipper_fedex_intl_economy | Fedex Intl Economy | + | eshipper_fedex_intl_economy_freight | Fedex Intl Economy Freight | + | eshipper_fedex_intl_priority | Fedex Intl Priority | + | eshipper_fedex_intl_priority_express | Fedex Intl Priority Express | + | eshipper_fedex_intl_priority_freight | Fedex Intl Priority Freight | + | eshipper_project44_fedex_national | FedEx National` | + | eshipper_fedex_priority | Fedex Priority | + | eshipper_fedex_standard_overnight | Fedex Standard Overnight | + | eshipper_project44_forwardair | ForwardAir` | + | eshipper_project44_frontline_freight | Frontline Freight` | + | eshipper_ups_ground | Ground | + | eshipper_sameday_ground_service | GROUND SERVICE | + | eshipper_sameday_h1_deliver_to_curbside | H1 Deliver to Curbside | + | eshipper_sameday_h3_delivery_packaging_removal | H3 Delivery & Packaging Removal | + | eshipper_sameday_h4_delivery_to_curbside | H4 Delivery to Curbside | + | eshipper_sameday_h5_delivery_to_room_of_choice_2_man | H5 Delivery to Room of Choice - 2 man | + | eshipper_sameday_h6_delivery_packaging_removal_2_man | H6 Delivery & packaging Removal - 2 man | + | eshipper_project44_holland_motor_express | Holland Motor Express` | + | eshipper_dhl_import_express | Import Express | + | eshipper_dhl_import_express_12pm | Import Express 12PM | + | eshipper_dhl_import_express_9am | Import Express 9AM | + | eshipper_project44_jp_express | J.P. Express`` | + | eshipper_kindersley_expedited | Kindersley Expedited | + | eshipper_kindersley_rail | Kindersley Rail * | + | eshipper_kindersley_regular | Kindersley Regular | + | eshipper_kindersley_road | Kindersley Road * | + | eshipper_project44_lakeville_motor_express | Lakeville Motor Express` | + | eshipper_day_ross_ltl | LTL | + | eshipper_sameday_ltl_service | LTL SERVICE | + | eshipper_mainliner_road | Mainliner Road | + | eshipper_project44_manitoulin_tlx_inc | MANITOULIN TLX INC` | + | eshipper_project44_midwest_motor_express | Midwest Motor Express` | + | eshipper_mo_rail | MO Rail | + | eshipper_project44_monroe_transportation_services | Monroe Transportation Services` | + | eshipper_project44_mountain_valley_express | Mountain Valley Express`` | + | eshipper_project44_n_m_transfer | N&M Transfer` | + | eshipper_project44_new_england_motor_freight | New England Motor Freight` | + | eshipper_project44_new_penn_motor_express | New Penn Motor Express` | + | eshipper_project44_oak_harbor_freight | Oak Harbor Freight`` | + | eshipper_project44_old_dominion_freight | Old Dominion Freight`` | + | eshipper_project44_pitt_ohio | Pitt Ohio`` | + | eshipper_sameday_pm_service | PM SERVICE | + | eshipper_project44_polaris | Polaris | + | eshipper_aramex_priority_letter_express | Priority Letter Express | + | eshipper_aramex_priority_parcel_express | Priority Parcel Express | + | eshipper_purolator_express | Purolator Express | + | eshipper_purolator_express_1030 | Purolator Express 1030 | + | eshipper_purolator_express_9am | Purolator Express 9AM | + | eshipper_purolator_expresscheque | Purolator ExpressCheque | + | eshipper_purolator_ground | Purolator Ground | + | eshipper_purolator_ground_1030 | Purolator Ground 1030 | + | eshipper_purolator_ground_9am | Purolator Ground 9AM | + | eshipper_purolator | Puroletter | + | eshipper_purolator_10_30 | Puroletter 10:30 | + | eshipper_purolator_9am | Puroletter 9AM | + | eshipper_purolator_puropak | PuroPak | + | eshipper_purolator_puropak_10_30 | PuroPak 10:30 | + | eshipper_purolator_puropak_9am | PuroPak 9AM | + | eshipper_project44_rl_carriers | R+L Carriers`` | + | eshipper_project44_roadrunner_transportation_services | Roadrunner Transportation Systems`` | + | eshipper_project44_saia_ltl_freight | Saia LTL Freight`` | + | eshipper_project44_saia_motor_freight | SAIA Motor Freight` | + | eshipper_ups_second_day_air_a_m | Second Day Air A.M. | + | eshipper_canpar_select_letter | Select Letter | + | eshipper_canpar_select_pak | Select Pak | + | eshipper_canpar_select_parcel | Select Parcel | + | eshipper_project44_southeastern_freight_lines | SouthEastern Freight`` | + | eshipper_project44_southwestern_motor_transport | Southwestern Motor Transport` | + | eshipper_speedy | Speedy | + | eshipper_ups_standard | Standard | + | eshipper_project44_standard_forwarding | Standard Forwarding` | + | eshipper_tforce_freight_ltl | TForce Freight LTL | + | eshipper_tforce_freight_ltl_guaranteed | TForce Freight LTL - Guaranteed | + | eshipper_tforce_freight_ltl_guaranteed_a_m | TForce Freight LTL - Guaranteed A.M. | + | eshipper_tforce_standard_ltl | TForce Standard LTL | + | eshipper_ups_three_day_select | Three-Day Select | + | eshipper_project44_total_transportation_distribution | Total Transportation & Distribution` | + | eshipper_project44_tst_overland_express | TST Overland Express | + | eshipper_project44_ups | UPS`` | + | eshipper_ups_freight | UPS-Freight | + | eshipper_ups_freight_canada | UPS Freight Canada | + | eshipper_ups_saver | UPS Saver | + | eshipper_sameday_urgent_letter | URGENT LETTER | + | eshipper_sameday_urgent_pac | URGENT PAC | + | eshipper_canpar_usa | USA | + | eshipper_project44_usf_reddaway | USF Reddaway` | + | eshipper_ods_usps_light_weight_parcel_budget | USPS Light Weight Parcel Budget | + | eshipper_ods_usps_light_weight_parcel_expedited | USPS Light Weight Parcel Expedited | + | eshipper_ods_usps_parcel_select_budget | USPS Parcel Select Budget | + | eshipper_ods_usps_parcel_select_expedited | USPS Parcel Select Expedited | + | eshipper_project44_valley_cartage | Valley Cartage` | + | eshipper_project44_vision_express_ltl | Vision Express LTL` | + | eshipper_project44_ward_trucking | WARD Trucking`` | + | eshipper_western_canada_rail | Western Canada Rail | + | eshipper_ups_worldwide_expedited | Worldwide Expedited | + | eshipper_ups_worldwide_express | Worldwide Express | + | eshipper_project44_xpo_logistics | XPO Logistics | + | eshipper_project44_xpress_global_systems | Xpress Global Systems | + | eshipper_canadapost_xpress_post | Xpress Post | + | eshipper_project44_yrc | YRC` | + | eshipper_canadapost_air_parcel_intl | Air Parcel Intl | + | eshipper_canadapost_expedited_parcel_usa | Expedited Parcel USA | + | eshipper_canadapost_priority_courier | Priority Courier | + | eshipper_canadapost_regular | Regular | + | eshipper_canadapost_small_packet | Small Packet | + | eshipper_canadapost_small_packet_international_air | Small Packet International Air | + | eshipper_canadapost_small_packet_international_surface | Small Packet International Surface | + | eshipper_canadapost_surface_parcel_intl | Surface Parcel Intl | + | eshipper_canadapost_xpress_post_intl | Xpress Post Intl | + | eshipper_canadapost_xpress_post_usa | Xpress Post USA | + | eshipper_canpar_international | International | + | eshipper_canpar_usa_select_letter | USA Select Letter | + | eshipper_canpar_usa_select_pak | USA Select Pak | + | eshipper_canpar_usa_select_parcel | USA Select Parcel | + | eshipper_cpx_canada_post | Canada Post | + | eshipper_dhl_economy_select | ECONOMY SELECT | + | eshipper_apex_v | Apex - V | + | eshipper_apex_trucking_v | Apex Trucking-V | + | eshipper_kingsway_road | Kingsway Road | + | eshipper_m_o_eastbound | M-O Eastbound | + | eshipper_national_fastfreight_rail | National Fastfreight Rail | + | eshipper_national_fastfreight_road | National Fastfreight Road | + | eshipper_vitran_rail | Vitran Rail | + | eshipper_vitran_road | Vitran Road | + | eshipper_fedex_ground_us | Fedex Ground US | + | eshipper_fedex_international_priority | FedEx International Priority | + | eshipper_fedex_international_priority_express | FedEx International Priority Express | + | eshipper_project44_day_ross_v | Day & Ross-V | + | eshipper_project44_purolator_freight | Purolator Freight | + | eshipper_project44_r_l_carriers | R+L Carriers` | + | eshipper_pyk_ground_advantage | Ground Advantage | + | eshipper_usps_priority_mail | Priority Mail | + | eshipper_skip | Skip | + | eshipper_smarte_post_intl_dhl_parcel_international_direct_ngr | DHL Parcel International Direct (NGR) | + | eshipper_smarte_post_intl_global_mail_business_priority | GLOBAL Mail Business Priority | + | eshipper_smarte_post_intl_global_mail_business_standard | GLOBAL Mail Business Standard | + | eshipper_smarte_post_intl_global_mail_packet_plus_priority | Global Mail Packet Plus Priority | + | eshipper_smarte_post_intl_global_mail_packet_priority | Global Mail Packet Priority | + | eshipper_smarte_post_intl_global_mail_packet_standard | GLOBAL Mail Packet Standard | + | eshipper_smarte_post_intl_global_mail_parcel_direct_priority_yyz | Global Mail Parcel Direct Priority (YYZ) | + | eshipper_smarte_post_intl_global_mail_parcel_direct_standard_yyz | Global Mail Parcel Direct Standard (YYZ) | + | eshipper_smarte_post_intl_global_mail_parcel_priority | Global Mail Parcel Priority | + | eshipper_smarte_post_intl_global_mail_parcel_standard | Global Mail Parcel Standard | + | eshipper_ups_express_early_am | Express Early AM | + | eshipper_ups_worldwide_express_plus | Worldwide Express Plus | + | eshipper_usps_first_class_package_return_service | First-Class Package Return Service | + | eshipper_usps_library_mail | Library Mail | + | eshipper_usps_media_mail | Media Mail | + | eshipper_usps_parcel_select | Parcel Select | + | eshipper_usps_pbx | PBX | + | eshipper_usps_pbx_lightweight | PBX Lightweight | + | eshipper_usps_priority_mail_express | Priority Mail Express | + | eshipper_usps_priority_mail_open_and_distribute | Priority Mail Open AND Distribute | + | eshipper_usps_priority_mail_return_service | Priority Mail Return Service | + | eshipper_usps_retail_ground_formerly_standard_post | Retail Ground (formerly Standard Post) | + + ### Easyship + | Code | Service Name | + | ------------ | ------------ | + | easyship_aramex_parcel | Parcel | + | easyship_sfexpress_domestic | Domestic | + | easyship_hkpost_speedpost | Speedpost | + | easyship_hkpost_air_mail_tracking | Air Mail Tracking | + | easyship_hkpost_eexpress | EExpress | + | easyship_hkpost_air_parcel | Air Parcel | + | easyship_sfexpress_mail | Mail | + | easyship_hkpost_local_parcel | Local Parcel | + | easyship_ups_saver_net_battery | SaverNet Battery | + | easyship_ups_worldwide_saver | Worldwide Saver® | + | easyship_hkpost_air_parcel_xp | Air Parcel XP | + | easyship_singpost_airmail | Airmail | + | easyship_simplypost_express | Express | + | easyship_singpost_e_pack | ePack | + | easyship_usps_priority_mail_express | Priority Mail Express | + | easyship_usps_first_class_international | First Class International | + | easyship_usps_priority_mail_international_express | Priority Mail International Express | + | easyship_usps_priority_mail_international | Priority Mail International | + | easyship_fedex_international_priority | InternationalPriority | + | easyship_usps_ground_advantage | GroundAdvantage | + | easyship_usps_priority_mail | PriorityMail | + | easyship_ups_worldwide_express | Worldwide Express® | + | easyship_ups_ground | Ground | + | easyship_ups_worldwide_expedited | Worldwide Expedited® | + | easyship_fedex_international_economy | International Economy® | + | easyship_fedex_priority_overnight | Priority Overnight® | + | easyship_fedex_standard_overnight | Standard Overnight® | + | easyship_fedex_2_day_a_m | 2Day® A.M. | + | easyship_fedex_2_day | 2Day® | + | easyship_fedex_express_saver | Express Saver® | + | easyship_ups_next_day_air | Next Day Air® | + | easyship_ups_2nd_day_air | 2nd Day Air® | + | easyship_ups_3_day_select | 3DaySelect | + | easyship_ups_standard | Standard | + | easyship_usps_media | Media | + | easyship_sfexpress_standard_express | Standard Express | + | easyship_sfexpress_economy_express | Economy Express | + | easyship_global_post_global_post_economy | GlobalPost Economy | + | easyship_global_post_global_post_priority | GlobalPost Priority | + | easyship_singpost_speed_post_priority | SpeedPost Priority | + | easyship_skypostal_standard_private_delivery | Standard Private Delivery | + | easyship_tnt_1000_express | 1000Express | + | easyship_toll_express_parcel | Express Parcel | + | easyship_sendle_premium_international | Premium International | + | easyship_sendle_premium_domestic | PremiumDomestic | + | easyship_sendle_pro_domestic | Pro Domestic | + | easyship_quantium_e_pac | ePac | + | easyship_usps_pm_flat_rate | PM Flat Rate | + | easyship_usps_pmi_flat_rate | PMI Flat Rate | + | easyship_quantium_mail | Mail | + | easyship_quantium_international_mail | International Mail | + | easyship_apc_parcel_connect_expedited | ParcelConnect Expedited | + | easyship_aramex_epx | EPX | + | easyship_tnt_road_express | Road Express | + | easyship_tnt_overnight | Overnight | + | easyship_usps_pme_flat_rate | PME Flat Rate | + | easyship_usps_pmei_flat_rate | PMEI Flat Rate | + | easyship_easyship_cdek_russia | CDEK Russia | + | easyship_usps_pmei_flat_rate_padded_envelope | PMEI Flat Rate Padded Envelope | + | easyship_easyship_mate_bike_shipping_services | Mate Bike Shipping Services | + | easyship_dhl_express_documents | Documents | + | easyship_evri_uk_home_delivery | UK_HomeDelivery | + | easyship_evri_home_delivery | HomeDelivery | + | easyship_dpd_next_day | NextDay | + | easyship_dpd_classic_parcel | ClassicParcel | + | easyship_dpd_classic_expresspak | ClassicExpresspak | + | easyship_dpd_air_classic | AirClassic | + | easyship_singpost_speed_post_express | SpeedPostExpress | + | easyship_ups_expedited | Expedited | + | easyship_tnt_0900_express | 0900Express | + | easyship_tnt_1200_express | 1200Express | + | easyship_canadapost_domestic_regular_parcel | Domestic Regular Parcel | + | easyship_canadapost_domestic_expedited_parcel | Domestic Expedited Parcel | + | easyship_canadapost_domestic_xpresspost_domestic | Domestic Xpresspost Domestic | + | easyship_canadapost_domestic_priority | Domestic Priority | + | easyship_canadapost_usa_small_packet_air | USA Small Packet Air | + | easyship_canadapost_usa_expedited_parcel | USA Expedited Parcel | + | easyship_canadapost_usa_tracked_parcel | USA Tracked Parcel | + | easyship_canadapost_usa_xpresspost | USA Xpresspost | + | easyship_canadapost_international_xpresspost | International Xpresspost | + | easyship_canadapost_international_small_packet_air | International Small Packet Air | + | easyship_canadapost_international_tracked_packet | International Tracked Packet | + | easyship_canadapost_international_small_packet_surface | International Small Packet Surface | + | easyship_canadapost_international_parcel_surface | International Parcel Surface | + | easyship_canadapost_international_parcel_air | International Parcel Air | + | easyship_couriersplease_atl | ATL | + | easyship_couriersplease_signature | Signature | + | easyship_canpar_international | International | + | easyship_canpar_usa | USA | + | easyship_canpar_select_usa | Select USA | + | easyship_canpar_usa_pak | USA Pak | + | easyship_canpar_overnight_pak | Overnight Pak | + | easyship_canpar_select_pak | Select Pak | + | easyship_canpar_select | Select | + | easyship_ups_express_saver | ExpressSaver | + | easyship_ebay_send_sf_express_economy_express | SF Express Economy Express | + | easyship_ups_worldwide_express_plus | Worldwide Express Plus® | + | easyship_quantium_intl_priority | IntlPriority | + | easyship_ups_next_day_air_early | Next Day Air® Early | + | easyship_ups_next_day_air_saver | Next Day Air Saver® | + | easyship_ups_2nd_day_air_a_m | 2nd Day Air® A.M. | + | easyship_fedex_home_delivery | Home Delivery® | + | easyship_asendia_country_tracked | CountryTracked | + | easyship_asendia_fully_tracked | FullyTracked | + | easyship_dhl_express_express_dg | ExpressDG | + | easyship_fedex_international_priority_dg | InternationalPriorityDG | + | easyship_colissimo_expert | Expert | + | easyship_colissimo_access | Access | + | easyship_mondialrelay_international_home_delivery | InternationalHomeDelivery | + | easyship_fedex_economy | Economy | + | easyship_dhl_express_express1200 | Express1200 | + | easyship_dhl_express_express0900 | Express0900 | + | easyship_dhl_express_express1800 | Express1800 | + | easyship_dhl_express_express_worldwide | ExpressWorldwide | + | easyship_dhl_express_economy_select | EconomySelect | + | easyship_dhl_express_express1030_international | Express1030International | + | easyship_dhl_express_domestic_express0900 | DomesticExpress0900 | + | easyship_dhl_express_domestic_express1200 | DomesticExpress1200 | + | easyship_evri_lightand_large | LightandLarge | + | easyship_ninjavan_standard_deliveries | Standard Deliveries | + | easyship_couriersplease_parcel_tier2 | ParcelTier2 | + | easyship_skypostal_postal_packet_standard | Postal Packet Standard | + | easyship_easyshipdemo_basic | Basic | + | easyship_easyshipdemo_tracked | Tracked | + | easyship_easyshipdemo_battery | Battery | + | easyship_dhl_express_domestic_express | DomesticExpress | + | easyship_fedex_smart_post | SmartPost | + | easyship_fedex_international_connect_plus | InternationalConnectPlus | + | easyship_ups_saver_net | SaverNet | + | easyship_chronopost_chrono_classic | ChronoClassic | + | easyship_chronopost_chrono_express | ChronoExpress | + | easyship_chronopost_chrono10 | Chrono10 | + | easyship_chronopost_chrono13 | Chrono13 | + | easyship_chronopost_chrono18 | Chrono18 | + | easyship_omniparcel_parcel_expedited | Parcel Expedited | + | easyship_omniparcel_parcel_expedited_plus | Parcel Expedited Plus | + | easyship_evri_home_delivery_domestic | HomeDeliveryDomestic | + | easyship_evri_home_domestic_postable | HomeDomesticPostable | + | easyship_skypostal_packet_express | PacketExpress | + | easyship_parcelforce_express48_large | Express48Large | + | easyship_parcelforce_express24 | Express24 | + | easyship_parcelforce_express1000 | Express1000 | + | easyship_parcelforce_express_am | ExpressAM | + | easyship_parcelforce_express48 | Express48 | + | easyship_parcelforce_euro_economy | EuroEconomy | + | easyship_parcelforce_global_priority | GlobalPriority | + | easyship_fedex_cross_border_trakpak_worldwide_hermes | TrakpakWorldwideHermes | + | easyship_fedex_cross_border_trakpak_worldwide | TrakpakWorldwide | + | easyship_evri_home_domestic_postable_next_day | HomeDomesticPostableNextDay | + | easyship_dpd_express_pak_next_day | ExpressPakNextDay | + | easyship_dpd_classic_express_pak | ClassicExpressPak | + | easyship_evri_light_and_large | LightAndLarge | + | easyship_evri_home_delivery_domestic_next_day | Home Delivery Domestic NextDay | + | easyship_evri_home_delivery_eu | HomeDeliveryEU | + | easyship_asendia_epaq_plus | EpaqPlus | + | easyship_asendia_epaq_select | EpaqSelect | + | easyship_usps_lightweight_standard | LightweightStandard | + | easyship_usps_lightweight_economy | LightweightEconomy | + | easyship_ups_domestic_express_saver | DomesticExpressSaver | + | easyship_apg_e_packet | ePacket | + | easyship_apg_e_packet_plus | ePacketPlus | + | easyship_couriersplease_ecom_base_kilo | EComBaseKilo | + | easyship_couriersplease_stdatlbase_kilo | STDATLBaseKilo | + | easyship_nz_post_international_courier | InternationalCourier | + | easyship_nz_post_air_small_parcel | AirSmallParcel | + | easyship_nz_post_tracked_air_satchel | TrackedAirSatchel | + | easyship_nz_post_economy_parcel | Economy Parcel | + | easyship_nz_post_parcel_local | ParcelLocal | + | easyship_dhl_express_express_domestic | ExpressDomestic | + | easyship_alliedexpress_roadexpress | Roadexpress | + | easyship_flatexportrate_asendiae_paqselect | AsendiaePAQSelect | + | easyship_flatexportrate_asendia_country_tracked | AsendiaCountryTracked | + | easyship_singpost_nsaver | NSaver | + | easyship_colisprive_home | Home | + | easyship_osm_domestic_parcel | Domestic Parcel | + | easyship_malca_amit_door_to_door | Door To Door | + | easyship_ninjavan_next_day_deliveries | Next Day Deliveries | + | easyship_asendia_e_paqselect | ePAQSelect | + | easyship_dpd_classic | Classic | + | easyship_usps_priority_mail_signature | PriorityMailSignature | + | easyship_bringer_packet_standard | PacketStandard | + | easyship_bringer_prime | Prime | + | easyship_orangeds_expedited_ddp | ExpeditedDDP | + | easyship_orangeds_expedited_ddu | ExpeditedDDU | + | easyship_sendle_preferred | Preferred | + | easyship_ups_ground_saver | GroundSaver | + | easyship_ups_upsground_saver_us | UPSGroundSaverUS | + | easyship_passport_priority_delcon_dduewr | PriorityDelconDDUEWR | + | easyship_passport_priority_delcon_ddpewr | PriorityDelconDDPEWR | + | easyship_bringer_tracked_parcel | TrackedParcel | + | easyship_ups_express_early | ExpressEarly | + | easyship_ups_wolrdwide_express | WolrdwideExpress | ### EasyPost | Code | Service Name | diff --git a/bin/deploy-hobby b/bin/deploy-hobby index fef62f4e81..acbac9c628 100755 --- a/bin/deploy-hobby +++ b/bin/deploy-hobby @@ -2,7 +2,7 @@ set -e -export KARRIO_TAG="${KARRIO_TAG:-2024.6.7}" +export KARRIO_TAG="${KARRIO_TAG:-2024.9}" export SENTRY_DSN="${SENTRY_DSN:-'https://public@sentry.example.com/1'}" SECRET_KEY=$(head -c 28 /dev/urandom | sha224sum -b | head -c 56) @@ -23,7 +23,7 @@ if ! [ -z "$1" ] then export KARRIO_TAG=$1 else -echo "What version of Karrio would you like to install? (We default to '2024.6.7')" +echo "What version of Karrio would you like to install? (We default to '2024.9')" echo "You can check out available versions here: https://hub.docker.com/r/karrio/server/tags" read -r KARRIO_TAG_READ if [ -z "$KARRIO_TAG_READ" ] diff --git a/bin/upgrade-hobby b/bin/upgrade-hobby index c0c0a2cae2..bac5a18755 100755 --- a/bin/upgrade-hobby +++ b/bin/upgrade-hobby @@ -44,7 +44,7 @@ else fi [[ -f ".env" ]] && export $(cat .env | xargs) || ( echo "No .env file found. Please create it with SECRET_KEY and DOMAIN set." && exit 1) -export KARRIO_TAG="${KARRIO_TAG:-2024.6.7}" +export KARRIO_TAG="${KARRIO_TAG:-2024.9}" # get karrio scripts mkdir -p ./karrio diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 084b6f548e..45750e3e3f 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,7 +1,7 @@ services: api: container_name: karrio.api - image: karrio.docker.scarf.sh/karrio/server:2024.6.7 + image: karrio.docker.scarf.sh/karrio/server:2024.9 restart: unless-stopped ports: - ${KARRIO_HTTP_PORT}:${KARRIO_HTTP_PORT} @@ -30,7 +30,7 @@ services: worker: container_name: karrio.worker - image: karrio.docker.scarf.sh/karrio/server:2024.6.7 + image: karrio.docker.scarf.sh/karrio/server:2024.9 restart: unless-stopped depends_on: - db @@ -50,7 +50,7 @@ services: dashboard: container_name: karrio.dashboard - image: karrio.docker.scarf.sh/karrio/dashboard:2024.6.7 + image: karrio.docker.scarf.sh/karrio/dashboard:2024.9 restart: unless-stopped ports: - ${DASHBOARD_PORT}:3000/tcp diff --git a/modules/cli/commands/templates.py b/modules/cli/commands/templates.py index 434c96d01c..5718a84c3c 100644 --- a/modules/cli/commands/templates.py +++ b/modules/cli/commands/templates.py @@ -1146,7 +1146,7 @@ def document_upload_request( '''"""Karrio {{name}} manifest API implementation.""" # import karrio.schemas.{{id}}.manifest_request as {{id}} -# import karrio.schemas.{{id}}.manifest_response as manifest +# import karrio.schemas.{{id}}.manifest_response as manifests import typing import karrio.lib as lib diff --git a/modules/connectors/canadapost/karrio/providers/canadapost/shipment/create.py b/modules/connectors/canadapost/karrio/providers/canadapost/shipment/create.py index 06882722ef..61bf42141d 100644 --- a/modules/connectors/canadapost/karrio/providers/canadapost/shipment/create.py +++ b/modules/connectors/canadapost/karrio/providers/canadapost/shipment/create.py @@ -90,7 +90,7 @@ def shipment_request( label_encoding, label_format = provider_units.LabelType.map( payload.label_type or "PDF_4x6" ).value - group_id = lib.fdate(datetime.datetime.now(), "%Y%m%d") + group_id = lib.fdate(datetime.datetime.now(), "%Y%m%d") + "-" + settings.carrier_id customer_request_ids = [f"{str(uuid.uuid4().hex)}" for _ in range(len(packages))] submit_shipment = lib.identity( # set to true if canadapost_submit_shipment is true diff --git a/modules/connectors/dhl_express/karrio/providers/dhl_express/shipment.py b/modules/connectors/dhl_express/karrio/providers/dhl_express/shipment.py index 8a87193a9a..41a47bff64 100644 --- a/modules/connectors/dhl_express/karrio/providers/dhl_express/shipment.py +++ b/modules/connectors/dhl_express/karrio/providers/dhl_express/shipment.py @@ -80,7 +80,7 @@ def shipment_request( ) product = provider_units.ShippingService.map(payload.service).value_or_key - weight_unit, dim_unit = ( + weight_unit, dim_unit = lib.identity( provider_units.COUNTRY_PREFERED_UNITS.get(payload.shipper.country_code) or packages.compatible_units ) @@ -113,9 +113,15 @@ def shipment_request( option for _, option in options.items() if option.state is not False ] duty = customs.duty or models.Duty(paid_by="sender") - content = packages[0].parcel.content or customs.content_description or "N/A" + content = lib.identity( + options.dhl_shipment_content.state + or customs.content_description + or packages.content + or packages.description + or "N/A" + ) reference = payload.reference or getattr(payload, "id", None) - currency = ( + currency = lib.identity( options.currency.state or units.CountryCurrency.map(payload.shipper.country_code).value or settings.default_currency @@ -171,7 +177,7 @@ def shipment_request( ), BusinessPartyTypeCode=None, ), - Commodity=( + Commodity=lib.identity( [ dhl.Commodity( CommodityCode=c.hs_code or c.sku or "N/A", @@ -182,7 +188,7 @@ def shipment_request( if any(customs.commodities) else None ), - Dutiable=( + Dutiable=lib.identity( dhl_global.Dutiable( DeclaredValue=( duty.declared_value or options.declared_value.state or 1.0 @@ -212,10 +218,10 @@ def shipment_request( ), UseDHLInvoice=("Y" if is_dutiable else None), DHLInvoiceLanguageCode=("en" if is_dutiable else None), - DHLInvoiceType=( + DHLInvoiceType=lib.identity( ("CMI" if customs.commercial_invoice else "PFI") if is_dutiable else None ), - ExportDeclaration=( + ExportDeclaration=lib.identity( dhl_global.ExportDeclaration( InterConsignee=None, IsPartiesRelation=None, @@ -291,7 +297,7 @@ def shipment_request( "COMMERCIAL" if customs.commercial_invoice else "PERSONAL" ), DocumentFunction=None, - CustomsDocuments=( + CustomsDocuments=lib.identity( dhl_global.CustomsDocuments( CustomsDocument=[ dhl.CustomsDocument( @@ -314,7 +320,7 @@ def shipment_request( if is_dutiable else None ), - Reference=( + Reference=lib.identity( [dhl.Reference(ReferenceID=lib.text(reference, max=30))] if any(reference or "") else None @@ -373,7 +379,7 @@ def shipment_request( IsDutiable=("Y" if is_dutiable else "N"), CurrencyCode=currency, CustData=getattr(payload, "id", None), - ShipmentCharges=( + ShipmentCharges=lib.identity( options.cash_on_delivery.state if options.cash_on_delivery.state else None diff --git a/modules/connectors/dhl_express/karrio/providers/dhl_express/units.py b/modules/connectors/dhl_express/karrio/providers/dhl_express/units.py index 1f4b2ab77f..5d45f48ae1 100644 --- a/modules/connectors/dhl_express/karrio/providers/dhl_express/units.py +++ b/modules/connectors/dhl_express/karrio/providers/dhl_express/units.py @@ -589,6 +589,9 @@ class ShippingOption(lib.Enum): dhl_customer_rebate = lib.OptionEnum("ZD", bool) dhl_e_com_discount = lib.OptionEnum("ZE", bool) + """ Custom Options """ + dhl_shipment_content = lib.OptionEnum("content") + """ Unified Option type mapping """ insurance = dhl_shipment_insurance paperless_trade = dhl_paperless_trade @@ -613,7 +616,7 @@ def shipping_options_initializer( _options.update(package_options.content) def items_filter(key: str) -> bool: - return key in ShippingOption # type: ignore + return key in ShippingOption and key != "dhl_shipment_content" # type: ignore return lib.units.ShippingOptions( _options, ShippingOption, items_filter=items_filter diff --git a/modules/connectors/dhl_express/tests/dhl_express/test_shipment.py b/modules/connectors/dhl_express/tests/dhl_express/test_shipment.py index 45e4fcff09..b154cb37ec 100644 --- a/modules/connectors/dhl_express/tests/dhl_express/test_shipment.py +++ b/modules/connectors/dhl_express/tests/dhl_express/test_shipment.py @@ -136,7 +136,9 @@ def test_not_supported_cancel_shipment(self): "incoterm": "DAP", "invoice": "N/A", "invoice_date": "2021-05-03", - "commodities": [{"description": "cn", "weight": 4.0, "sku": "sku", "hs_code": "hs_code"}], + "commodities": [ + {"description": "cn", "weight": 4.0, "sku": "sku", "hs_code": "hs_code"} + ], "duty": { "account_number": "123456789", "paid_by": "sender", @@ -538,7 +540,7 @@ def test_not_supported_cancel_shipment(self): 8 8 2023-12-15 - N/A + title C JJ Y diff --git a/modules/connectors/easyship/MANIFEST.in b/modules/connectors/easyship/MANIFEST.in new file mode 100644 index 0000000000..d8617e5359 --- /dev/null +++ b/modules/connectors/easyship/MANIFEST.in @@ -0,0 +1 @@ +include karrio/providers/easyship/metadata.json diff --git a/modules/connectors/easyship/README.md b/modules/connectors/easyship/README.md new file mode 100644 index 0000000000..4e3cd34dc2 --- /dev/null +++ b/modules/connectors/easyship/README.md @@ -0,0 +1,31 @@ + +# karrio.easyship + +This package is a Easyship extension of the [karrio](https://pypi.org/project/karrio) multi carrier shipping SDK. + +## Requirements + +`Python 3.7+` + +## Installation + +```bash +pip install karrio.easyship +``` + +## Usage + +```python +import karrio +from karrio.mappers.easyship.settings import Settings + + +# Initialize a carrier gateway +easyship = karrio.gateway["easyship"].create( + Settings( + ... + ) +) +``` + +Check the [Karrio Mutli-carrier SDK docs](https://docs.karrio.io) for Shipping API requests diff --git a/modules/connectors/easyship/generate b/modules/connectors/easyship/generate new file mode 100755 index 0000000000..5d0b54f5df --- /dev/null +++ b/modules/connectors/easyship/generate @@ -0,0 +1,25 @@ +SCHEMAS=./schemas +LIB_MODULES=./karrio/schemas/easyship +find "${LIB_MODULES}" -name "*.py" -exec rm -r {} \; +touch "${LIB_MODULES}/__init__.py" + +quicktype() { + echo "Generating $1..." + docker run -it --rm --name quicktype -v $PWD:/app -e SCHEMAS=/app/schemas -e LIB_MODULES=/app/karrio/schemas/easyship \ + karrio/tools /quicktype/script/quicktype --no-uuids --no-date-times --no-enums --src-lang json --lang jstruct \ + --all-properties-optional --type-as-suffix $@ +} + +quicktype --src="${SCHEMAS}/error_response.json" --out="${LIB_MODULES}/error_response.py" +quicktype --src="${SCHEMAS}/manifest_request.json" --out="${LIB_MODULES}/manifest_request.py" +quicktype --src="${SCHEMAS}/manifest_response.json" --out="${LIB_MODULES}/manifest_response.py" +quicktype --src="${SCHEMAS}/pickup_cancel_response.json" --out="${LIB_MODULES}/pickup_cancel_response.py" +quicktype --src="${SCHEMAS}/pickup_request.json" --out="${LIB_MODULES}/pickup_request.py" +quicktype --src="${SCHEMAS}/pickup_response.json" --out="${LIB_MODULES}/pickup_response.py" +quicktype --src="${SCHEMAS}/rate_request.json" --out="${LIB_MODULES}/rate_request.py" +quicktype --src="${SCHEMAS}/rate_response.json" --out="${LIB_MODULES}/rate_response.py" +quicktype --src="${SCHEMAS}/shipment_cancel_response.json" --out="${LIB_MODULES}/shipment_cancel_response.py" +quicktype --src="${SCHEMAS}/shipment_request.json" --out="${LIB_MODULES}/shipment_request.py" +quicktype --src="${SCHEMAS}/shipment_response.json" --out="${LIB_MODULES}/shipment_response.py" +quicktype --src="${SCHEMAS}/tracking_request.json" --out="${LIB_MODULES}/tracking_request.py" +quicktype --src="${SCHEMAS}/tracking_response.json" --out="${LIB_MODULES}/tracking_response.py" diff --git a/modules/connectors/easyship/karrio/mappers/easyship/__init__.py b/modules/connectors/easyship/karrio/mappers/easyship/__init__.py new file mode 100644 index 0000000000..fcbc2864dc --- /dev/null +++ b/modules/connectors/easyship/karrio/mappers/easyship/__init__.py @@ -0,0 +1,22 @@ +from karrio.core.metadata import Metadata + +from karrio.mappers.easyship.mapper import Mapper +from karrio.mappers.easyship.proxy import Proxy +from karrio.mappers.easyship.settings import Settings +import karrio.providers.easyship.units as units +import karrio.providers.easyship.utils as utils + + +METADATA = Metadata( + id="easyship", + label="Easyship", + # Integrations + Mapper=Mapper, + Proxy=Proxy, + Settings=Settings, + # Data Units + is_hub=True, + options=units.ShippingOption, + services=units.ShippingService, + connection_configs=utils.ConnectionConfig, +) diff --git a/modules/connectors/easyship/karrio/mappers/easyship/mapper.py b/modules/connectors/easyship/karrio/mappers/easyship/mapper.py new file mode 100644 index 0000000000..c516877e60 --- /dev/null +++ b/modules/connectors/easyship/karrio/mappers/easyship/mapper.py @@ -0,0 +1,94 @@ +"""Karrio Easyship client mapper.""" + +import typing +import karrio.lib as lib +import karrio.api.mapper as mapper +import karrio.core.models as models +import karrio.providers.easyship as provider +import karrio.mappers.easyship.settings as provider_settings + + +class Mapper(mapper.Mapper): + settings: provider_settings.Settings + + def create_rate_request( + self, payload: models.RateRequest + ) -> lib.Serializable: + return provider.rate_request(payload, self.settings) + + def create_tracking_request( + self, payload: models.TrackingRequest + ) -> lib.Serializable: + return provider.tracking_request(payload, self.settings) + + def create_shipment_request( + self, payload: models.ShipmentRequest + ) -> lib.Serializable: + return provider.shipment_request(payload, self.settings) + + def create_pickup_request( + self, payload: models.PickupRequest + ) -> lib.Serializable: + return provider.pickup_request(payload, self.settings) + + def create_pickup_update_request( + self, payload: models.PickupUpdateRequest + ) -> lib.Serializable: + return provider.pickup_update_request(payload, self.settings) + + def create_cancel_pickup_request( + self, payload: models.PickupCancelRequest + ) -> lib.Serializable: + return provider.pickup_cancel_request(payload, self.settings) + + def create_cancel_shipment_request( + self, payload: models.ShipmentCancelRequest + ) -> lib.Serializable[str]: + return provider.shipment_cancel_request(payload, self.settings) + + def create_manifest_request( + self, payload: models.ManifestRequest + ) -> lib.Serializable: + return provider.manifest_request(payload, self.settings) + + + def parse_cancel_pickup_response( + self, response: lib.Deserializable[str] + ) -> typing.Tuple[models.ConfirmationDetails, typing.List[models.Message]]: + return provider.parse_pickup_cancel_response(response, self.settings) + + def parse_cancel_shipment_response( + self, response: lib.Deserializable[str] + ) -> typing.Tuple[models.ConfirmationDetails, typing.List[models.Message]]: + return provider.parse_shipment_cancel_response(response, self.settings) + + def parse_pickup_response( + self, response: lib.Deserializable[str] + ) -> typing.Tuple[models.PickupDetails, typing.List[models.Message]]: + return provider.parse_pickup_response(response, self.settings) + + def parse_pickup_update_response( + self, response: lib.Deserializable[str] + ) -> typing.Tuple[models.PickupDetails, typing.List[models.Message]]: + return provider.parse_pickup_update_response(response, self.settings) + + def parse_rate_response( + self, response: lib.Deserializable[str] + ) -> typing.Tuple[typing.List[models.RateDetails], typing.List[models.Message]]: + return provider.parse_rate_response(response, self.settings) + + def parse_shipment_response( + self, response: lib.Deserializable[str] + ) -> typing.Tuple[models.ShipmentDetails, typing.List[models.Message]]: + return provider.parse_shipment_response(response, self.settings) + + def parse_tracking_response( + self, response: lib.Deserializable[str] + ) -> typing.Tuple[typing.List[models.TrackingDetails], typing.List[models.Message]]: + return provider.parse_tracking_response(response, self.settings) + + def parse_manifest_response( + self, response: lib.Deserializable[str] + ) -> typing.Tuple[models.ManifestDetails, typing.List[models.Message]]: + return provider.parse_manifest_response(response, self.settings) + diff --git a/modules/connectors/easyship/karrio/mappers/easyship/proxy.py b/modules/connectors/easyship/karrio/mappers/easyship/proxy.py new file mode 100644 index 0000000000..04edd41b79 --- /dev/null +++ b/modules/connectors/easyship/karrio/mappers/easyship/proxy.py @@ -0,0 +1,155 @@ +"""Karrio Easyship client proxy.""" + +import karrio.lib as lib +import karrio.api.proxy as proxy +import karrio.mappers.easyship.settings as provider_settings + + +class Proxy(proxy.Proxy): + settings: provider_settings.Settings + + def get_rates(self, request: lib.Serializable) -> lib.Deserializable[str]: + response = lib.request( + url=f"{self.settings.server_url}/2023-01/rates", + data=lib.to_json(request.serialize()), + trace=self.trace_as("json"), + method="POST", + headers={ + "Authorization": f"Bearer {self.settings.access_token}", + "Content-Type": "application/json", + "user-agent": "app/1.0", + }, + ) + + return lib.Deserializable(response, lib.to_dict) + + def create_shipment(self, request: lib.Serializable) -> lib.Deserializable[str]: + # create shipment + response = lib.request( + url=f"{self.settings.server_url}/2023-01/shipments", + data=lib.to_json(request.serialize()), + trace=self.trace_as("json"), + method="POST", + headers={ + "Authorization": f"Bearer {self.settings.access_token}", + "Content-Type": "application/json", + "user-agent": "app/1.0", + }, + ) + + return lib.Deserializable(response, lib.to_dict, request.ctx) + + def cancel_shipment(self, request: lib.Serializable) -> lib.Deserializable[str]: + easyship_shipment_id = request.serialize().get("easyship_shipment_id") + response = lib.request( + url=f"{self.settings.server_url}/2023-01/shipments/{easyship_shipment_id}/cancel", + trace=self.trace_as("json"), + method="POST", + headers={ + "Authorization": f"Bearer {self.settings.access_token}", + "Content-Type": "application/json", + "user-agent": "app/1.0", + }, + ) + + return lib.Deserializable(response, lib.to_dict) + + def get_tracking(self, request: lib.Serializable) -> lib.Deserializable[str]: + responses = lib.run_asynchronously( + lambda easyship_shipment_id: ( + easyship_shipment_id, + lib.request( + url=f"{self.settings.server_url}/2023-01/shipments/{easyship_shipment_id}", + trace=self.trace_as("json"), + method="GET", + headers={ + "Authorization": f"Bearer {self.settings.access_token}", + "Content-Type": "application/json", + "user-agent": "app/1.0", + }, + ), + ), + request.serialize(), + ) + + return lib.Deserializable( + responses, + lambda __: [(_[0], lib.to_dict(_[1])) for _ in __], + ) + + def schedule_pickup(self, request: lib.Serializable) -> lib.Deserializable[str]: + response = lib.request( + url=f"{self.settings.server_url}/2023-01/pickups", + data=lib.to_json(request.serialize()), + trace=self.trace_as("json"), + method="POST", + headers={ + "Authorization": f"Bearer {self.settings.access_token}", + "Content-Type": "application/json", + "user-agent": "app/1.0", + }, + ) + + return lib.Deserializable(response, lib.to_dict) + + def modify_pickup(self, request: lib.Serializable) -> lib.Deserializable[str]: + response = self.cancel_pickup(lib.Serializable(request.ctx)) + + if response.deserialize() is not None: + response = self.schedule_pickup(request) + + return lib.Deserializable(response, lib.to_dict, request.ctx) + + def cancel_pickup(self, request: lib.Serializable) -> lib.Deserializable[str]: + easyship_pickup_id = request.serialize().get("easyship_pickup_id") + response = lib.request( + url=f"{self.settings.server_url}/2023-01/pickups/{easyship_pickup_id}/cancel", + trace=self.trace_as("json"), + method="POST", + headers={ + "Authorization": f"Bearer {self.settings.access_token}", + "Content-Type": "application/json", + "user-agent": "app/1.0", + }, + ) + + return lib.Deserializable(response, lib.to_dict) + + def create_manifest(self, request: lib.Serializable) -> lib.Deserializable[str]: + # create manifest + response = lib.to_dict( + lib.request( + url=f"{self.settings.server_url}/2023-01/manifests", + data=lib.to_json(request.serialize()), + trace=self.trace_as("json"), + method="POST", + headers={ + "Authorization": f"Bearer {self.settings.access_token}", + "Content-Type": "application/json", + "user-agent": "app/1.0", + }, + ) + ) + + # extract manifest url + manifest_url = lib.failsafe(lambda: response["manifest"]["document"]["url"]) + + # download manifest file + response.update( + manifest_file=lib.identity( + None + if manifest_url is None + else lib.request( + url=manifest_url, + method="GET", + headers={ + "Authorization": f"Bearer {self.settings.access_token}", + "origin": "http://localhost:5002", + "user-agent": "app/1.0", + }, + decoder=lib.encode_base64, + ) + ) + ) + + return lib.Deserializable(response) diff --git a/modules/connectors/easyship/karrio/mappers/easyship/settings.py b/modules/connectors/easyship/karrio/mappers/easyship/settings.py new file mode 100644 index 0000000000..20d0981acd --- /dev/null +++ b/modules/connectors/easyship/karrio/mappers/easyship/settings.py @@ -0,0 +1,20 @@ +"""Karrio Easyship client settings.""" + +import attr +import karrio.providers.easyship.utils as provider_utils + + +@attr.s(auto_attribs=True) +class Settings(provider_utils.Settings): + """Easyship connection settings.""" + + # Add carrier specific API connection properties here + access_token: str + + # generic properties + id: str = None + test_mode: bool = False + carrier_id: str = "easyship" + account_country_code: str = None + metadata: dict = {} + config: dict = {} diff --git a/modules/connectors/easyship/karrio/providers/easyship/__init__.py b/modules/connectors/easyship/karrio/providers/easyship/__init__.py new file mode 100644 index 0000000000..3e14c9cb6e --- /dev/null +++ b/modules/connectors/easyship/karrio/providers/easyship/__init__.py @@ -0,0 +1,25 @@ +"""Karrio Easyship provider imports.""" +from karrio.providers.easyship.utils import Settings +from karrio.providers.easyship.rate import parse_rate_response, rate_request +from karrio.providers.easyship.shipment import ( + parse_shipment_cancel_response, + parse_shipment_response, + shipment_cancel_request, + shipment_request, +) +from karrio.providers.easyship.pickup import ( + parse_pickup_cancel_response, + parse_pickup_update_response, + parse_pickup_response, + pickup_update_request, + pickup_cancel_request, + pickup_request, +) +from karrio.providers.easyship.tracking import ( + parse_tracking_response, + tracking_request, +) +from karrio.providers.easyship.manifest import ( + parse_manifest_response, + manifest_request, +) diff --git a/modules/connectors/easyship/karrio/providers/easyship/error.py b/modules/connectors/easyship/karrio/providers/easyship/error.py new file mode 100644 index 0000000000..b658e64978 --- /dev/null +++ b/modules/connectors/easyship/karrio/providers/easyship/error.py @@ -0,0 +1,32 @@ +"""Karrio Easyship error parser.""" + +import typing +import karrio.lib as lib +import karrio.core.models as models +import karrio.providers.easyship.utils as provider_utils + + +def parse_error_response( + response: dict, + settings: provider_utils.Settings, + **kwargs, +) -> typing.List[models.Message]: + errors: list = [response["error"]] if response.get("error") else [] + + return [ + models.Message( + carrier_id=settings.carrier_id, + carrier_name=settings.carrier_name, + code=error.get("code"), + message=error.get("message"), + details=lib.to_dict( + { + **kwargs, + "details": error.get("details"), + "request_id": error.get("request_id"), + "type": error.get("type"), + } + ), + ) + for error in errors + ] diff --git a/modules/connectors/easyship/karrio/providers/easyship/manifest.py b/modules/connectors/easyship/karrio/providers/easyship/manifest.py new file mode 100644 index 0000000000..e22f5c6b98 --- /dev/null +++ b/modules/connectors/easyship/karrio/providers/easyship/manifest.py @@ -0,0 +1,72 @@ +"""Karrio Easyship manifest API implementation.""" + +import karrio.schemas.easyship.manifest_request as easyship +import karrio.schemas.easyship.manifest_response as manifests + +import typing +import karrio.lib as lib +import karrio.core.models as models +import karrio.providers.easyship.error as error +import karrio.providers.easyship.utils as provider_utils +import karrio.providers.easyship.units as provider_units + + +def parse_manifest_response( + _response: lib.Deserializable[dict], + settings: provider_utils.Settings, +) -> typing.Tuple[models.ManifestDetails, typing.List[models.Message]]: + response = _response.deserialize() + + messages = error.parse_error_response(response, settings) + details = lib.identity( + _extract_details(response, settings) + if response.get("manifest") is not None + else None + ) + + return details, messages + + +def _extract_details( + data: dict, + settings: provider_utils.Settings, +) -> models.ManifestDetails: + details = lib.to_object(manifests.ManifestType, data["manifest"]) + + return models.ManifestDetails( + carrier_id=settings.carrier_id, + carrier_name=settings.carrier_id, + doc=models.ManifestDocument(manifest=data["manifest_file"]), + meta=dict( + courier_umbrella_name=details.courier_umbrella_name, + courier_account_id=details.courier_account_id, + manifest_url=details.document.url, + reference=details.ref_number, + manifest_id=details.id, + ), + ) + + +def manifest_request( + payload: models.ManifestRequest, + settings: provider_utils.Settings, +) -> lib.Serializable: + options = lib.units.Options( + payload.options, + option_type=lib.units.create_enum( + "ManifestOptions", + { + "easyship_courier_account_id": lib.OptionEnum( + "easyship_courier_account_id" + ), + }, + ), + ) + + # map data to convert karrio model to easyship specific type + request = easyship.ManifestRequestType( + courier_account_id=options.easyship_courier_account_id.state, + shipment_ids=payload.shipment_identifiers, + ) + + return lib.Serializable(request, lib.to_dict) diff --git a/modules/connectors/easyship/karrio/providers/easyship/metadata.json b/modules/connectors/easyship/karrio/providers/easyship/metadata.json new file mode 100644 index 0000000000..447c9e18db --- /dev/null +++ b/modules/connectors/easyship/karrio/providers/easyship/metadata.json @@ -0,0 +1,6985 @@ +[ + [ + { + "id": "43d6f8aa-6b9b-49dc-b053-47dd9817f317", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "aramex", + "name": "Aramex - Parcel", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Parcel", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "Aramex" + }, + { + "id": "64b5d8b2-4c60-4faf-bf1b-9f7b1b7ca1c8", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "HK", + "domestic_returns": true, + "ioss_support": null, + "logo_url": "sf-express", + "name": "SF Express - Domestic", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Domestic", + "supported_incoterms": ["DDU"], + "umbrella_name": "SFExpress" + }, + { + "id": "57984afe-606b-4fda-8bb8-b90640184e2b", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "hong-kong-post", + "name": "HK Post - Speedpost", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Speedpost", + "supported_incoterms": ["DDU"], + "umbrella_name": "HKPost" + }, + { + "id": "89e845a8-b31d-438f-bc73-8f8ddd0b0ce1", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "hong-kong-post", + "name": "HK Post Air Mail - Tracking", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Air Mail Tracking", + "supported_incoterms": ["DDU"], + "umbrella_name": "HKPost" + }, + { + "id": "2f622352-6850-4a12-b806-dbc704b7802c", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "hong-kong-post", + "name": "HK Post - e-Express", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "EExpress", + "supported_incoterms": ["DDU"], + "umbrella_name": "HKPost" + }, + { + "id": "1bc0e3fa-8326-4f41-95b4-4e1c10afbc2b", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "hong-kong-post", + "name": "HK Post - Air Parcel PE", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Air Parcel ", + "supported_incoterms": ["DDU"], + "umbrella_name": "HKPost" + }, + { + "id": "12496c06-61ce-4f43-b0c3-8b2f04e7db51", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "sf-express", + "name": "SF Express - E-Parcel Registered", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Mail ", + "supported_incoterms": ["DDU"], + "umbrella_name": "SFExpress" + }, + { + "id": "f8ada333-02bc-499d-9514-fec36a1385e1", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "aramex", + "name": "Aramex - Parcel", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Parcel", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "Aramex" + }, + { + "id": "d6cfc6d2-3857-4f42-a2a4-9e10ac9766ac", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "HK", + "domestic_returns": true, + "ioss_support": null, + "logo_url": "hong-kong-post", + "name": "HK Post - Local Parcel", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Local Parcel", + "supported_incoterms": ["DDU"], + "umbrella_name": "HKPost" + }, + { + "id": "16691987-a149-441b-a777-727ffe5c3325", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS - Worldwide Saver Battery", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "SaverNet Battery", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "57ff5ec4-39cf-47cf-804f-71dee3b6402d", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Saver®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Worldwide Saver®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "e4c1e69d-4473-4b46-abd5-d45b0870e71e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "hong-kong-post", + "name": "HK Post - Air Parcel XP", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Air Parcel XP", + "supported_incoterms": ["DDU"], + "umbrella_name": "HKPost" + }, + { + "id": "200ff5db-6866-4fb9-851d-8943e8796b16", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "singaporepost", + "name": "SingPost - International Registered Small Packets", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Airmail", + "supported_incoterms": ["DDU"], + "umbrella_name": "SingPost" + }, + { + "id": "b956de3d-ff18-41cd-abd1-fc70154b077f", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "jtexpress", + "name": "J&T Express - Domestic", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Express", + "supported_incoterms": ["DDU"], + "umbrella_name": "SimplyPost" + }, + { + "id": "8ea55285-d53f-4b94-b788-17c4e5eefb5e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "singaporepost", + "name": "SingPost - Tracked Small Packets ePac", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "ePack", + "supported_incoterms": ["DDU"], + "umbrella_name": "SingPost" + }, + { + "id": "a623a62b-5631-4dce-ae15-bbcf89e49c52", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Priority Mail Express", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Priority Mail Express", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "a6d078fd-e662-40ce-9efe-84caaa639bf7", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - First Class International", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "First Class International", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "cf81dd80-d693-41c9-bddf-560473157f65", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Priority Mail Express International", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Priority Mail International Express", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "7f81ad1e-c84f-452a-a04c-15585e0ca7a3", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Priority Mail International", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Priority Mail International", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "3f594a89-3658-4e36-b748-dc31711b2499", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "fedex", + "name": "FedEx International Priority®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "International Priority®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "FedEx" + }, + { + "id": "c3e97b11-2842-44f1-84d1-afaa6b3f0a7c", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Ground Advantage", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Ground Advantage", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "7505df80-af51-46a0-b2ee-ac9eacfcd3e4", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Priority Mail", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Priority Mail", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "638ac885-8105-422c-b2cc-4c57152772f7", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "fedex", + "name": "FedEx International Priority®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "International Priority®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "FedEx" + }, + { + "id": "aad8f2ee-b726-4eaf-a8a9-2c060e8b0b5e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Express®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Worldwide Express®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "4124997c-711f-4f76-b5a1-16b964968efc", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Saver®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Worldwide Saver®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "e54b2321-992d-4873-a5b7-4f6bdaccc9ef", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "dhl-ecommerce", + "name": "Seko - DHL eCommerce", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Domestic", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "Easyship" + }, + { + "id": "4da3d8cf-d7e8-4d9b-9198-baf2029a92de", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "US", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS® Ground", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Ground", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "f14f77cf-7467-4e44-9b6c-df9ed5131af3", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Expedited®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Worldwide Expedited®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "c00fbdf1-ad8b-42ff-a5dc-15e56ba79c84", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "fedex", + "name": "FedEx International Economy®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "International Economy®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "FedEx" + }, + { + "id": "4cf66d63-4e4a-456b-86c1-50964ad9f7b7", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "US", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "fedex", + "name": "FedEx Ground®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Ground®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "FedEx" + }, + { + "id": "8fb58899-7c4d-43b3-be2c-ec4c2d3ba375", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "US", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "fedex", + "name": "FedEx Priority Overnight®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Priority Overnight®", + "supported_incoterms": ["DDU"], + "umbrella_name": "FedEx" + }, + { + "id": "de8835b8-17c5-4878-b636-9f9fdbab9265", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "US", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "fedex", + "name": "FedEx Standard Overnight®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Standard Overnight®", + "supported_incoterms": ["DDU"], + "umbrella_name": "FedEx" + }, + { + "id": "5eee483f-1416-42bb-8f7d-3ad384f3ee36", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "US", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "fedex", + "name": "FedEx 2Day® A.M.", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "2Day® A.M.", + "supported_incoterms": ["DDU"], + "umbrella_name": "FedEx" + }, + { + "id": "84135827-1538-4be2-b26e-afd8b3f3b4bd", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "US", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "fedex", + "name": "FedEx 2Day®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "2Day®", + "supported_incoterms": ["DDU"], + "umbrella_name": "FedEx" + }, + { + "id": "a9e3f424-713c-4efa-b445-71cd60c88ccd", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "US", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "fedex", + "name": "FedEx Express Saver®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Express Saver®", + "supported_incoterms": ["DDU"], + "umbrella_name": "FedEx" + }, + { + "id": "70fa1197-3021-4aee-b08c-a70d6e7ac198", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "US", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Next Day Air®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Next Day Air®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "e30d3997-d7b1-4c1d-afd2-ea1556aa943b", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "US", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS 2nd Day Air®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "2nd Day Air®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "39bfa333-c2a2-4dee-9da9-319bf38129cd", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "US", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS 3 Day Select®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "3 Day Select®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "57b6e7c1-02e4-4b57-90be-00429cb36dc1", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "US", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS® Standard", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Standard", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "4a581685-0bdc-4918-8af1-5675ea6f08e9", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "usps", + "name": "USPS - Media", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Media", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "USPS" + }, + { + "id": "e6d1cf15-9d60-4c3c-9613-0554f41c30ea", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "sf-express", + "name": "SF Express - Standard Express", + "restricted_to_destination_states": null, + "restricted_to_origin_states": [ + "AK", + "AL", + "AR", + "CO", + "CT", + "DC", + "DE", + "FL", + "GA", + "HI", + "IA", + "ID", + "IL", + "IN", + "KS", + "KY", + "LA", + "MA", + "MD", + "ME", + "MI", + "MN", + "MS", + "MO", + "MT", + "NE", + "NH", + "NJ", + "NY", + "NC", + "ND", + "OH", + "OK", + "PA", + "RI", + "SC", + "SD", + "TN", + "TX", + "VT", + "VA", + "WV", + "WI", + "WY" + ], + "service_name": "Standard Express", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "SFExpress" + }, + { + "id": "04577f71-4034-4b8c-b2da-0042e2f4437f", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "sf-express", + "name": "SF Express - Economy Express", + "restricted_to_destination_states": null, + "restricted_to_origin_states": [ + "AK", + "AL", + "AR", + "CO", + "CT", + "DC", + "DE", + "FL", + "GA", + "HI", + "IA", + "ID", + "IL", + "IN", + "KS", + "KY", + "LA", + "MA", + "MD", + "ME", + "MI", + "MN", + "MS", + "MO", + "MT", + "NE", + "NH", + "NJ", + "NY", + "NC", + "ND", + "OH", + "OK", + "PA", + "RI", + "SC", + "SD", + "TN", + "TX", + "VT", + "VA", + "WV", + "WI", + "WY" + ], + "service_name": "Economy Express", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "SFExpress" + }, + { + "id": "f0e20b4a-40e6-4ca0-8402-4b97dd41cb4a", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "globalpost", + "name": "GlobalPost - Economy", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "GlobalPost Economy", + "supported_incoterms": ["DDU"], + "umbrella_name": "Global Post" + }, + { + "id": "d5082858-4a51-4beb-9d13-84ec5a47c0ce", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "globalpost", + "name": "GlobalPost - Standard", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "GlobalPost Priority", + "supported_incoterms": ["DDU"], + "umbrella_name": "Global Post" + }, + { + "id": "0f134487-94a6-4615-8683-7f204ea6cb15", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "singaporepost", + "name": "SingPost - International SpeedPost Priority", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "SpeedPost Priority", + "supported_incoterms": ["DDU"], + "umbrella_name": "SingPost" + }, + { + "id": "38422540-e440-4079-add3-ae4c8ea915ce", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "NL", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Express®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Worldwide Express®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "a8777d4a-c5a1-4146-b642-6c7254f1489d", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "sf-express", + "name": "SF Express - Economy Express", + "restricted_to_destination_states": null, + "restricted_to_origin_states": ["AZ", "CA", "NV", "OR", "UT", "WA", "NM"], + "service_name": "Economy Express", + "supported_incoterms": ["DDU"], + "umbrella_name": "SFExpress" + }, + { + "id": "a8b34d9c-e1a0-4bd3-a972-113a9a7c3d6a", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "NL", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS® Standard", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Standard", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "194c2556-d4f9-4048-a8b8-c0e6e305c24b", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "skypostal", + "name": "SkyPostal - Standard Private Delivery", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Standard Private Delivery", + "supported_incoterms": ["DDP"], + "umbrella_name": "SkyPostal" + }, + { + "id": "4460086d-750e-40df-bb80-3aea92461f60", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "NL", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "postnl", + "name": "PostNL - Domestic", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Domestic", + "supported_incoterms": ["DDU"], + "umbrella_name": "PostNL" + }, + { + "id": "2b913c22-679b-43c9-be4a-1dc50eedfa5c", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "aramex", + "name": "Aramex - Parcel to SA and AE", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Parcel", + "supported_incoterms": ["DDP"], + "umbrella_name": "Aramex" + }, + { + "id": "0dd4eaa6-bc1a-4b75-9714-4cb8c69170c2", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "tnt", + "name": "TNT - Express 10:00", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "1000Express", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "TNT" + }, + { + "id": "6507937b-2484-4c3f-8a6c-74191e2fc91a", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "AU", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "team-global-express", + "name": "Team Global - Express Parcel", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Express Parcel", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "Toll" + }, + { + "id": "29275274-75b9-4ef1-b731-3db35a23441f", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "AU", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "sendle", + "name": "Sendle international", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Premium International", + "supported_incoterms": ["DDU"], + "umbrella_name": "Sendle" + }, + { + "id": "27588f54-d92d-495e-b68d-ff78c3a2f841", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": null, + "logo_url": "sendle", + "name": "Sendle - Premium Domestic", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Premium Domestic", + "supported_incoterms": ["DDU"], + "umbrella_name": "Sendle" + }, + { + "id": "fc0f5045-fd74-49b9-87e4-fea062475037", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "AU", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "sendle", + "name": "Sendle - Pro Domestic", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Pro Domestic", + "supported_incoterms": ["DDU"], + "umbrella_name": "Sendle" + }, + { + "id": "244fd8ef-f6d7-44a3-bdee-70354b2a7422", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "quantium", + "name": "Quantium - International ePAC", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "ePac", + "supported_incoterms": ["DDU"], + "umbrella_name": "Quantium" + }, + { + "id": "4a9dab12-f562-4ecb-818c-5d699dc39663", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "sf-express", + "name": "SF Express - Standard Express", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Standard Express", + "supported_incoterms": ["DDU"], + "umbrella_name": "SFExpress" + }, + { + "id": "8bcdb095-bf5f-43bd-8721-6c665d5b398d", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "sf-express", + "name": "SF Express - Economy Express", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Economy Express", + "supported_incoterms": ["DDU"], + "umbrella_name": "SFExpress" + }, + { + "id": "5259bca0-5466-4dcf-b7fd-5a02900629af", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "AU", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS - Worldwide Saver®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Worldwide Saver®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "7c1827f1-d93d-4644-8a8f-add5fed89e8d", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "singaporepost", + "name": "SingPost - Airmail Dropoff", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Airmail", + "supported_incoterms": ["DDU"], + "umbrella_name": "SingPost" + }, + { + "id": "38d64858-0ffa-4430-a6d9-692ba66bad0e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "singaporepost", + "name": "SingPost - ePack Dropoff", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "ePack", + "supported_incoterms": ["DDU"], + "umbrella_name": "SingPost" + }, + { + "id": "970771b7-f2f5-4072-b1c4-bc6fbd609f84", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail - Padded Envelope", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PM Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "1a250f53-eef0-4420-9f41-4560c3b4cc3a", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail - Medium 1", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PM Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "537a2781-78c1-4928-84bc-57c45c79f3be", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail - Medium 2", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PM Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "4723eb9b-c5bd-413d-9355-c6a844f7693c", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail - Large", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PM Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "57f5f30d-b949-4209-88bb-7102e60daf3a", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail International - Envelope", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PMI Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "09b5680e-fb54-48cf-b4d9-4946de2aebed", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail International - Medium 1", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PMI Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "0f655ce9-17c0-4f5d-9d3f-cc1532c7f7fb", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "quantium", + "name": "Quantium - Q-Smart", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Mail", + "supported_incoterms": ["DDU"], + "umbrella_name": "Quantium" + }, + { + "id": "39f2648a-13f0-43e6-a672-7cb1fc4777da", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Expedited®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Worldwide Expedited®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "823c3496-8387-4ab2-8e34-c53032f229d3", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Saver®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Worldwide Saver®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "23b6ee9f-939e-4f2d-b26a-cc86aac21ad9", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS - Worldwide Saver®", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Worldwide Saver®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "a6ef2b0a-0d05-4fa1-934e-558bc1e718d8", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "quantium", + "name": "Quantium - International ePAC Battery", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "ePac", + "supported_incoterms": ["DDU"], + "umbrella_name": "Quantium" + }, + { + "id": "19ffc2ee-8e0f-4fce-9a54-ca036418b371", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "quantium", + "name": "Quantium - Q-Smart battery", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "International Mail", + "supported_incoterms": ["DDU"], + "umbrella_name": "Quantium" + }, + { + "id": "148d0b27-8d43-407a-abe4-e8508eb09503", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "apc", + "name": "APC - Parcel Connect Expedited", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "ParcelConnect Expedited", + "supported_incoterms": ["DDP"], + "umbrella_name": "APC" + }, + { + "id": "68f550f4-c6e0-4e01-9a54-3e3b1c45f589", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "aramex", + "name": "Aramex - Domestic", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Domestic", + "supported_incoterms": ["DDU"], + "umbrella_name": "Aramex" + }, + { + "id": "688c453b-3034-4b66-bd71-abe124c57f1b", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": "supported_mandatory", + "logo_url": "aramex", + "name": "Aramex - Parcel EPX", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "EPX", + "supported_incoterms": ["DDU"], + "umbrella_name": "Aramex" + }, + { + "id": "5f9647b8-7a97-4a0a-b329-b9d6817a96a1", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "tnt", + "name": "TNT - Road Express", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Road Express", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "TNT" + }, + { + "id": "c415c468-53fe-4605-9e08-97b66a8f322f", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "tnt", + "name": "TNT - Overnight", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Overnight", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "TNT" + }, + { + "id": "eb1ebedd-6355-448c-a446-759eb78aa240", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail Express - Envelope", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PME Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "240657ec-5e62-4fdd-8529-0ded4a4d2239", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail Express - Legal Envelope", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PME Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "335043d7-2cff-45cb-98eb-b43dbf14c891", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail Express - Padded Envelope", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PME Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "c56fd849-a8eb-4f2b-af59-4a3b9e9afa5e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail - Envelope", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PM Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "b686a094-3fde-47c6-8d55-1b8107dddece", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail - Legal Envelope", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PM Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "f6df4c29-4a7f-4e70-ba1c-ebc4c0ebf711", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail - Small", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PM Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "3d356742-b411-4cfa-9e24-ed2941f1bdd7", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail Express International - Envelope", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PMEI Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "3e23ebf3-9ef7-4d1f-b377-7da3bff06272", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail Express International - Legal Envelope", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PMEI Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "adf0ad86-867f-43ea-94c7-43d0c4090be6", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail International - Legal Envelope", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PMI Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "3c6dda48-ab66-4802-a30a-47ebfd681ccc", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail International - Small", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PMI Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "28f52cb7-ca5c-4f44-810d-da0f3b1ed062", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail International - Medium 2", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PMI Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "269ec4a8-dada-4556-b270-32dec250b2ca", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail International - Large", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PMI Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "c1be4a88-ef6e-40af-9b23-9f2018867184", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "easyship", + "name": "Easyship - Russia Solution", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "CDEK Russia", + "supported_incoterms": ["DDU"], + "umbrella_name": "Easyship" + }, + { + "id": "bd13fbea-2ce4-4c0a-9129-ec24930192a5", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail Express International - Padded Envelope", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PMEI Flat Rate Padded Envelope", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "47999b4f-9faa-4be7-850d-7dd09eea5fc6", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "aramex", + "name": "Aramex - Parcel", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Parcel", + "supported_incoterms": ["DDU"], + "umbrella_name": "Aramex" + }, + { + "id": "6c60e7d8-5234-4738-9327-c702a6f7e941", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "SG", + "domestic_returns": true, + "ioss_support": null, + "logo_url": "qxpress", + "name": "Qxpress - Domestic", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Domestic", + "supported_incoterms": ["DDU"], + "umbrella_name": "Qxpress" + }, + { + "id": "cfcac238-d750-4957-92a1-41df826df8ac", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "NL", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "easyship", + "name": "Mate - Shipping Services", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Mate Bike Shipping Services", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "Easyship" + }, + { + "id": "2030dd90-a00d-4fec-bc9d-f71e006419c2", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "dhl", + "name": "DHL - Express Worldwide", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Express", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "DHL" + }, + { + "id": "6350c914-6e68-457e-bc94-7d60f9e15471", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "dhl", + "name": "DHL - Documents", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "Documents", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "DHL" + }, + { + "id": "2da817fa-d629-4359-a0a8-233c83bda9b3", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail - Small Envelope", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PME Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "cf4b3523-c7f7-42e9-9d4a-cfc8821f17e3", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": null, + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail - Window Envelope", + "restricted_to_destination_states": null, + "restricted_to_origin_states": null, + "service_name": "PME Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + } + ], + [ + { + "id": "fb92cb56-98ce-4044-acb3-c3ac87be706b", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail International - Large Video Box", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "PMEI Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "d87f1e8b-4524-46bd-810c-5479456f2b32", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail International - Padded Envelope", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "PMI Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "3198c0b1-2021-485f-a198-826e3bc3fcfa", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail International - Small Envelope", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "PMI Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "cd5b64c5-cb0b-4597-b787-186c52aeddba", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "usps", + "name": "USPS - Flat Rate Priority Mail International - Window Envelope", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "PMI Flat Rate", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "d70f503c-905b-4e28-a015-d27069a09e0c", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "GB", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "evri", + "name": "Evri - Parcelshop", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "UK_HomeDelivery", + "supported_incoterms": ["DDU"], + "umbrella_name": "Evri" + }, + { + "id": "f6e9ae62-addc-4987-a7e8-48c46f849e18", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "evri", + "name": "Evri - International Parcelshop", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "HomeDelivery", + "supported_incoterms": ["DDU"], + "umbrella_name": "Evri" + }, + { + "id": "23c0fe48-02f0-4664-8d7f-018a35739a8b", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "GB", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "dpd", + "name": "DPD - Expresspak Next Day", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express", + "supported_incoterms": ["DDU"], + "umbrella_name": "DPD" + }, + { + "id": "0fc2d209-69b5-4664-b8ae-3d5e25858ee5", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "dhl", + "name": "DHL - Express Worldwide EEI", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "DHL" + }, + { + "id": "1ea01124-ba24-4f94-b533-6861d9fcc9ca", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "GB", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "dpd", + "name": "DPD - Next Day", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "NextDay", + "supported_incoterms": ["DDU"], + "umbrella_name": "DPD" + }, + { + "id": "5628c480-a77d-48a7-ba4c-dc24a6bb3613", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "GB", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "dpd", + "name": "DPD - Classic Parcel", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ClassicParcel", + "supported_incoterms": ["DDU"], + "umbrella_name": "DPD" + }, + { + "id": "6b507e0c-0ce8-48fb-b709-e0df6c98d85e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "GB", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "dpd", + "name": "DPD - Classic Expresspak", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ClassicExpresspak", + "supported_incoterms": ["DDU"], + "umbrella_name": "DPD" + }, + { + "id": "10a688f8-0dc9-4f95-9fe8-dd1a6338b992", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "dpd", + "name": "DPD - Air Classic", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "AirClassic", + "supported_incoterms": ["DDU"], + "umbrella_name": "DPD" + }, + { + "id": "cbfbd110-c096-4c7f-a18a-baa3f115f3e4", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "singaporepost", + "name": "SingPost - International SpeedPost Express", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "SpeedPostExpress", + "supported_incoterms": ["DDU"], + "umbrella_name": "SingPost" + }, + { + "id": "aeac42c4-6d48-48d8-a157-9223793658d4", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "GB", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Expedited", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Expedited™", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "4276934a-0bd0-40ca-8c35-3fdec0a8074a", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "GB", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Express Saver®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Saver®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "ddaab09c-45dc-493e-b0f6-488766d88b63", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "tnt", + "name": "TNT - Express 09:00", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "0900Express", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "TNT" + }, + { + "id": "e9304f34-8b5c-4635-9953-2a94003543ca", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "tnt", + "name": "TNT - Express 12:00", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "1200Express", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "TNT" + }, + { + "id": "94f19fa8-e5b0-4fc5-a057-c5de530cb270", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "dhl", + "name": "DHL Express", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "DHL" + }, + { + "id": "1b96377f-626a-4c73-821b-1aef8deb0d4d", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "DE", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Express Saver®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Saver®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "71b3e6f1-c55d-4ad1-83c2-c815f951a547", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "DE", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Expedited®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Expedited™", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "adccab53-e34b-4b0e-8861-3d8c7c92b189", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "BE", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Saver®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Saver®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "9cf67972-f256-454b-87ea-6a4a37b4fd6d", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "BE", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Expedited™", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Expedited™", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "ac4bb46c-4497-4fd3-94a2-1cdc7780d39c", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "NZ", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Saver®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Saver®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "900cf516-9052-46b4-aa45-5522b9e3f688", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "NL", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "dhl", + "name": "DHL Express", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "DHL" + }, + { + "id": "666961ef-65da-45ae-b408-02a9584a091f", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "NL", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Saver®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Saver®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "eefe654a-eedb-4be7-be89-dd2a06bb4368", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "NL", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Expedited™", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Expedited™", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "5eabaf48-e547-463b-976f-706885c54349", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "CA", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "canada-post", + "name": "Canada Post - Regular Parcel", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Domestic Regular Parcel", + "supported_incoterms": ["DDU"], + "umbrella_name": "Canada Post" + }, + { + "id": "a11cebea-6091-4bd3-a195-522d6552b4dc", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "CA", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "canada-post", + "name": "Canada Post - Expedited Parcel", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Domestic Expedited Parcel", + "supported_incoterms": ["DDU"], + "umbrella_name": "Canada Post" + }, + { + "id": "3caab04a-1292-4c76-940c-7731024c1e38", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "CA", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "canada-post", + "name": "Canada Post - Xpresspost", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Domestic Xpresspost Domestic", + "supported_incoterms": ["DDU"], + "umbrella_name": "Canada Post" + }, + { + "id": "a7b95023-2ebf-4481-85e9-be838e33c5b5", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "CA", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "canada-post", + "name": "Canada Post - Priority", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Domestic Priority", + "supported_incoterms": ["DDU"], + "umbrella_name": "Canada Post" + }, + { + "id": "a696a24c-cf18-499f-8fc3-425ab49b31cb", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "canada-post", + "name": "Canada Post - Small Packet - USA", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "USA Small Packet Air", + "supported_incoterms": ["DDU"], + "umbrella_name": "Canada Post" + }, + { + "id": "8f49d43d-f086-440b-b145-3c56e512938e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "canada-post", + "name": "Canada Post - Expedited Parcel - USA", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "USA Expedited Parcel", + "supported_incoterms": ["DDU"], + "umbrella_name": "Canada Post" + }, + { + "id": "af2d4b2a-85fd-4eb6-88e5-ecf26830ba74", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "canada-post", + "name": "CanadaPost - USA Tracked Parcel", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "USA Tracked Parcel", + "supported_incoterms": ["DDU"], + "umbrella_name": "Canada Post" + }, + { + "id": "484d9b6e-9868-4cff-84ff-f458357cf4b0", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "canada-post", + "name": "Canada Post - Xpresspost - USA", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "USA Xpresspost", + "supported_incoterms": ["DDU"], + "umbrella_name": "Canada Post" + }, + { + "id": "e327eba3-afa3-42c4-b36b-4631f87a2cb5", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "canada-post", + "name": "Canada Post - Xpresspost - International", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "International Xpresspost", + "supported_incoterms": ["DDU"], + "umbrella_name": "Canada Post" + }, + { + "id": "70fa9e81-5de2-4b4f-859b-c1528337d32c", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "canada-post", + "name": "Canada Post - Small Packet International - Air", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "International Small Packet Air", + "supported_incoterms": ["DDU"], + "umbrella_name": "Canada Post" + }, + { + "id": "e515ba95-065e-42d6-9968-5742e2f28500", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "canada-post", + "name": "Canada Post - International Tracked Packet", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "International Tracked Packet", + "supported_incoterms": ["DDU"], + "umbrella_name": "Canada Post" + }, + { + "id": "367a7f7e-ed5d-4a53-9d17-b6f73c534f96", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "canada-post", + "name": "Canada Post - International Small Packet - Surface", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "International Small Packet Surface", + "supported_incoterms": ["DDU"], + "umbrella_name": "Canada Post" + }, + { + "id": "cff99ad6-185a-4540-b1fe-c81c69a81c30", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "canada-post", + "name": "Canada Post - International Parcel - Surface", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "International Parcel Surface", + "supported_incoterms": ["DDU"], + "umbrella_name": "Canada Post" + }, + { + "id": "e0c30b11-7536-4057-897c-1b01f0f2d728", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "canada-post", + "name": "Canada Post - International Parcel - Air", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "International Parcel Air", + "supported_incoterms": ["DDU"], + "umbrella_name": "Canada Post" + }, + { + "id": "8dd3de75-177b-417b-b9c9-8722d50a1d06", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "AU", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "fedex", + "name": "FedEx - International Priority", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "InternationalPriority", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "FedEx" + }, + { + "id": "9f82d292-00bc-4e95-a3e0-73fa919ff76c", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "couriers-please", + "name": "CouriersPlease - ATL - 0.5kg", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ATL", + "supported_incoterms": ["DDU"], + "umbrella_name": "CouriersPlease" + }, + { + "id": "32738825-1444-4654-a76a-77e6f9ad87a2", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "couriers-please", + "name": "CouriersPlease - ATL - 1kg", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ATL", + "supported_incoterms": ["DDU"], + "umbrella_name": "CouriersPlease" + }, + { + "id": "030f1a22-a2c8-4e7a-85cc-19a7064fe0fb", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "couriers-please", + "name": "CouriersPlease - ATL - 3kg", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ATL", + "supported_incoterms": ["DDU"], + "umbrella_name": "CouriersPlease" + }, + { + "id": "865cf0ff-62be-498a-b738-4daaf333dd61", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "couriers-please", + "name": "CouriersPlease - ATL - 5kg", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ATL", + "supported_incoterms": ["DDU"], + "umbrella_name": "CouriersPlease" + }, + { + "id": "8b9687ba-a6ad-4144-9302-3116cd028d9e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "couriers-please", + "name": "CouriersPlease - ATL - 10kg", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ATL", + "supported_incoterms": ["DDU"], + "umbrella_name": "CouriersPlease" + }, + { + "id": "081b6e93-2ae1-4334-973a-7281673038fd", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "couriers-please", + "name": "CouriersPlease - ATL - 25kg", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ATL", + "supported_incoterms": ["DDU"], + "umbrella_name": "CouriersPlease" + }, + { + "id": "b67132ab-200d-4342-8a2f-a616087f7370", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "couriers-please", + "name": "CouriersPlease - Signature - 0.5kg", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Signature", + "supported_incoterms": ["DDU"], + "umbrella_name": "CouriersPlease" + }, + { + "id": "e570ffa6-dd6f-4191-ab68-6820844292fa", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "couriers-please", + "name": "CouriersPlease - Signature - 1kg", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Signature", + "supported_incoterms": ["DDU"], + "umbrella_name": "CouriersPlease" + }, + { + "id": "f1998452-ab00-4a06-8ca7-8b07bf0aab0e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "couriers-please", + "name": "CouriersPlease - Signature - 3kg", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Signature", + "supported_incoterms": ["DDU"], + "umbrella_name": "CouriersPlease" + }, + { + "id": "bc50fe55-71e3-4198-814c-ce8da6fb8663", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "couriers-please", + "name": "CouriersPlease - Signature - 5kg", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Signature", + "supported_incoterms": ["DDU"], + "umbrella_name": "CouriersPlease" + }, + { + "id": "1b38a001-a44a-46a7-a505-8edf7df76a77", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "couriers-please", + "name": "CouriersPlease - Signature - 10kg", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Signature", + "supported_incoterms": ["DDU"], + "umbrella_name": "CouriersPlease" + }, + { + "id": "598c074f-2cbd-45af-91e2-db8923eabb08", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "canpar", + "name": "Canpar - International", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "International", + "supported_incoterms": ["DDU"], + "umbrella_name": "Canpar" + }, + { + "id": "feee7b15-c411-4952-a261-d15edb6fa1f9", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "canpar", + "name": "Canpar - USA", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "USA", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "Canpar" + }, + { + "id": "805945ae-5829-4cfc-a061-3df14b87c996", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "canpar", + "name": "Canpar - Select USA", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Select USA", + "supported_incoterms": ["DDU"], + "umbrella_name": "Canpar" + }, + { + "id": "4b211b2f-1e3b-47f3-8858-5a272cc7c3d3", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "canpar", + "name": "Canpar - USA Pak", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "USA Pak", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "Canpar" + }, + { + "id": "2f93b15f-4111-4ba8-a96c-7b5d2aaa2e08", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "canpar", + "name": "Canpar - Ground", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Ground", + "supported_incoterms": ["DDU"], + "umbrella_name": "Canpar" + }, + { + "id": "504fa9de-32f2-4fcd-be1b-7302d35ba525", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "canpar", + "name": "Canpar - Express Pak", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Overnight Pak", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "Canpar" + }, + { + "id": "b26a7787-c525-460b-86b6-9cd77d2b8e02", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "canpar", + "name": "Canpar - Express", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Overnight", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "Canpar" + }, + { + "id": "7eaa7257-5ab0-4c9e-b00c-b0e635a345bb", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "canpar", + "name": "Canpar - Select Pak", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Select Pak", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "Canpar" + }, + { + "id": "fc07281a-1698-42b4-b000-117fc3288303", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "canpar", + "name": "Canpar - Select", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Select", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "Canpar" + }, + { + "id": "d5dbeefe-2110-4fe4-9e9e-e93496b04a8c", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "dhl", + "name": "DHL - Express Worldwide", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "DHL" + }, + { + "id": "2ad740a4-79e1-4841-8f2d-a2a2e086c210", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "CA", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Express Saver®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ExpressSaver", + "supported_incoterms": ["DDU"], + "umbrella_name": "UPS" + }, + { + "id": "51a1821c-03e5-453b-8373-f3d757274f48", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Expedited®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Expedited®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "4c85c9d2-79a5-4b2a-815b-6abbe6bbb42e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "sf-express", + "name": "eBay Send - SF Express Economy Express", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "SF Express Economy Express", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "eBay Send" + }, + { + "id": "88428763-e7af-4ec0-9f0f-1c2369985067", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "sf-express", + "name": "SF Express - Local", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Domestic", + "supported_incoterms": ["DDU"], + "umbrella_name": "SFExpress" + }, + { + "id": "3349519a-fcb9-4ba5-ae31-bd4921ada25f", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Express Plus®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Express Plus®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "81895d91-36f9-4605-933f-11853baf25f4", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Express®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Express®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "13cad9e0-dd39-48aa-af01-dd019d463291", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "quantium", + "name": "Quantium - Q-Sure", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "IntlPriority", + "supported_incoterms": ["DDP"], + "umbrella_name": "Quantium" + }, + { + "id": "c4f4e43c-39ff-4e84-915d-73f54cf01e39", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "DE", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Express®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Express®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "42700d65-00e5-452f-973e-a7c8557bb0b5", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "DE", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Express Plus®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Express Plus®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "6542247a-83fd-46d2-a66f-c351b8410aab", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "BE", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Express®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Express®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "5ec27868-8e1a-4b6a-a0bf-43389c3d0e48", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Express Plus®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Express Plus®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "0cab1759-ae0f-48c4-b57f-7679994459ac", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "GB", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Express®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Express®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "bfe79711-10b4-489f-9ad1-ec4f3045de4e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "GB", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Express Plus®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Express Plus®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "510d9128-a506-4050-8cbe-14757490be24", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "CA", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Express®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express", + "supported_incoterms": ["DDU"], + "umbrella_name": "UPS" + }, + { + "id": "4a01e79e-f3c3-4851-b21f-85c492fd1c85", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Express Plus™", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Express Plus®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "ab83498d-3df2-42c1-9917-671a33272ff6", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "AU", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "ups", + "name": "Easyship - Test", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Express®", + "supported_incoterms": ["DDU"], + "umbrella_name": "UPS" + }, + { + "id": "16f466a8-91b0-4453-baae-a5e237222b41", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "ups", + "name": "UPS - Express Saver Test", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Express®", + "supported_incoterms": ["DDU"], + "umbrella_name": "UPS" + }, + { + "id": "f40aff4d-4514-4475-9628-4cf1c77b3f99", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Express® Test", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Express®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "84ee8188-89b8-45d0-baf9-f197094edba3", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "dhl", + "name": "DHL Express Test", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "DHL" + }, + { + "id": "4b97a37c-99bc-44f1-bd23-5ac4df0b38ce", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "US", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Next Day Air® Early", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Next Day Air® Early", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "1e05ed7b-4a1e-461d-9832-8530eab88fc5", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Next Day Air Saver®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Next Day Air Saver®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "f3b08fdd-92f3-4c8b-8f3f-323c8500406c", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Expedited®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Expedited®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "2fd66888-43ff-4f88-a84a-a6e7cc102fc8", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Express Saver®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Saver®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "b3cad4ee-9b30-4120-8f47-1c56bff02290", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "CA", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Standard®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Standard", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "2f74ee63-da36-4883-8c73-4e38beb8ff3c", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS 2nd Day Air A.M. ®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "2nd Day Air® A.M.", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "0280a71d-0afe-49b1-a3d0-e03e255f0d45", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "GB", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Standard®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Standard", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "a46c0641-6f71-4724-8c07-7b895636f0a7", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Express®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Express®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "8995d0a8-9916-4c8e-8a25-1f18416bb471", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "US", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "fedex", + "name": "FedEx Home Delivery®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Home Delivery®", + "supported_incoterms": ["DDU"], + "umbrella_name": "FedEx" + }, + { + "id": "59307928-1550-4e27-bae5-e1b80921e799", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "dhl", + "name": "DHL - Express", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "DHL" + }, + { + "id": "4c258609-e3f7-4119-abc7-fb5ddded037e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "asendia", + "name": "Asendia - e-PAQ Standard", + "restricted_to_destination_states": "", + "restricted_to_origin_states": [ + "AK", + "DE", + "DC", + "HI", + "KY", + "MD", + "NC", + "PA", + "SC", + "VT", + "VA", + "WV", + "OH" + ], + "service_name": "CountryTracked", + "supported_incoterms": ["DDU"], + "umbrella_name": "Asendia" + }, + { + "id": "5ff2c637-6c26-43ac-a5d8-c038a9900398", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "asendia", + "name": "Asendia - e-PAQ Standard", + "restricted_to_destination_states": "", + "restricted_to_origin_states": ["FL", "GA", "LA", "MS"], + "service_name": "CountryTracked", + "supported_incoterms": ["DDU"], + "umbrella_name": "Asendia" + }, + { + "id": "e592620d-0d90-47d4-a837-4a23007a940d", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "asendia", + "name": "Asendia - e-PAQ Standard", + "restricted_to_destination_states": "", + "restricted_to_origin_states": [ + "AL", + "AR", + "CO", + "CT", + "IL", + "IN", + "IA", + "KS", + "MI", + "MN", + "MO", + "NE", + "ND", + "OK", + "SD", + "TN", + "TX", + "WI" + ], + "service_name": "CountryTracked", + "supported_incoterms": ["DDU"], + "umbrella_name": "Asendia" + }, + { + "id": "a4f3a842-c6c0-4e9a-8f7a-a22f34010dc6", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "asendia", + "name": "Asendia - e-PAQ Standard", + "restricted_to_destination_states": "", + "restricted_to_origin_states": ["ME", "MA", "NJ", "NY", "RI", "NH"], + "service_name": "CountryTracked", + "supported_incoterms": ["DDU"], + "umbrella_name": "Asendia" + }, + { + "id": "ede8d1cd-15ba-4fe6-91ee-7b424ae47571", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "asendia", + "name": "Asendia - e-PAQ Standard", + "restricted_to_destination_states": "", + "restricted_to_origin_states": [ + "AZ", + "CA", + "MT", + "NV", + "NM", + "OR", + "UT", + "WA", + "WY", + "ID" + ], + "service_name": "CountryTracked", + "supported_incoterms": ["DDU"], + "umbrella_name": "Asendia" + }, + { + "id": "d4c5a52e-e99b-4055-9a75-5f46d1c2d2d2", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "asendia", + "name": "Asendia - e-PAQ Plus", + "restricted_to_destination_states": "", + "restricted_to_origin_states": [ + "AK", + "DE", + "DC", + "HI", + "KY", + "MD", + "NC", + "PA", + "SC", + "VT", + "VA", + "WV", + "OH" + ], + "service_name": "FullyTracked", + "supported_incoterms": ["DDU"], + "umbrella_name": "Asendia" + }, + { + "id": "a6103ee9-bcb7-482b-b85b-466a44c9a80f", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "asendia", + "name": "Asendia - e-PAQ Plus", + "restricted_to_destination_states": "", + "restricted_to_origin_states": ["FL", "GA", "LA", "MS"], + "service_name": "FullyTracked", + "supported_incoterms": ["DDU"], + "umbrella_name": "Asendia" + }, + { + "id": "a8a67a17-7531-4011-8a51-cbe415328ebe", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "asendia", + "name": "Asendia - e-PAQ Plus", + "restricted_to_destination_states": "", + "restricted_to_origin_states": [ + "AL", + "AR", + "CO", + "CT", + "IL", + "IN", + "IA", + "KS", + "MI", + "MN", + "MO", + "NE", + "ND", + "OK", + "SD", + "TN", + "TX", + "WI" + ], + "service_name": "FullyTracked", + "supported_incoterms": ["DDU"], + "umbrella_name": "Asendia" + }, + { + "id": "a9f1bec4-1ec6-4dc6-9989-2d362ec6f3a2", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "asendia", + "name": "Asendia - e-PAQ Plus", + "restricted_to_destination_states": "", + "restricted_to_origin_states": ["ME", "MA", "NJ", "NY", "RI", "NH"], + "service_name": "FullyTracked", + "supported_incoterms": ["DDU"], + "umbrella_name": "Asendia" + } + ], + [ + { + "id": "fcc44993-e03e-4be4-adf8-a19c6b1fcc71", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "asendia", + "name": "Asendia - e-PAQ Plus", + "restricted_to_destination_states": "", + "restricted_to_origin_states": [ + "AZ", + "CA", + "MT", + "NV", + "NM", + "OR", + "UT", + "WA", + "WY", + "ID" + ], + "service_name": "FullyTracked", + "supported_incoterms": ["DDU"], + "umbrella_name": "Asendia" + }, + { + "id": "d4cf0802-3b10-46cb-bfb7-e37f4639ac55", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "BE", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS® Standard", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Standard", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "ccbb399c-09fb-46db-9e35-14fed4b11a55", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "DE", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Standard®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Standard", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "a0178da2-98af-44fd-9a72-2bc9ba8180b1", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "dhl", + "name": "DHL - Express DG", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ExpressDG", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "DHL" + }, + { + "id": "30d76321-cfc8-4414-a594-d5207e09fdb9", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "fedex", + "name": "FedEx - International Priority DG", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "InternationalPriorityDG", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "FedEx" + }, + { + "id": "3a3a2695-e151-440a-af4d-f9a182fd63b0", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "colissimo", + "name": "Colissimo - Expert", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Expert", + "supported_incoterms": ["DDU"], + "umbrella_name": "Colissimo" + }, + { + "id": "47fa19ea-e5c1-42d8-a2f7-94371e5ebe1b", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "colissimo", + "name": "Colissimo - International", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "International", + "supported_incoterms": ["DDU"], + "umbrella_name": "Colissimo" + }, + { + "id": "3836c546-a756-439e-a787-2cef579caae3", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "colissimo", + "name": "Colissimo - Access", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Access", + "supported_incoterms": ["DDU"], + "umbrella_name": "Colissimo" + }, + { + "id": "2b60b2f6-5ada-402f-82de-bd89b82f08b9", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "mondialrelay", + "name": "Mondial Relay International Home Delivery", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "InternationalHomeDelivery", + "supported_incoterms": ["DDU"], + "umbrella_name": "MondialRelay" + }, + { + "id": "93c0631b-afdc-4180-bda0-5aff88e8503d", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS® Standard", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Standard", + "supported_incoterms": ["DDU"], + "umbrella_name": "UPS" + }, + { + "id": "90971ce0-f2e6-43da-a632-259cbe53c24c", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Saver®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Saver®", + "supported_incoterms": ["DDU"], + "umbrella_name": "UPS" + }, + { + "id": "3d5763af-e6a9-4651-bb89-0e332b2b51ee", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Express®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Express®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "a7bb15c8-72c1-4b79-9958-1d5383c3875b", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Express Plus®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Worldwide Express Plus®", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "d5a79a54-55e8-41a1-a3d9-6182e335a48d", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Expedited™", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Expedited™", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "ba46108c-13eb-4b4b-bf80-a6dc523c827d", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "DE", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "fedex", + "name": "FedEx - International Priority", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "InternationalPriority", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "FedEx" + }, + { + "id": "5f07e78f-5132-4a8f-a261-dc3c47968644", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "DE", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "fedex", + "name": "FedEx - International Economy", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Economy", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "FedEx" + }, + { + "id": "6bad573e-e55d-443b-9011-2949c208d4bb", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "DE", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "dhl", + "name": "DHL - Express 12", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express1200", + "supported_incoterms": ["DDU"], + "umbrella_name": "DHL" + }, + { + "id": "cbaf554c-22ac-4fce-95bb-cc7608be4924", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "DE", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "dhl", + "name": "DHL - Express 09", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express0900", + "supported_incoterms": ["DDU"], + "umbrella_name": "DHL" + }, + { + "id": "1da12788-941b-473c-97bc-c00efe82a1c9", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "DE", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "dhl", + "name": "DHL - Express 18", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express1800", + "supported_incoterms": ["DDU"], + "umbrella_name": "DHL" + }, + { + "id": "42a0679a-d06b-4443-93dc-1b1254e8e29a", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "DE", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "dhl", + "name": "DHL - Express Worldwide", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ExpressWorldwide", + "supported_incoterms": ["DDU"], + "umbrella_name": "DHL" + }, + { + "id": "d11853b7-3395-4272-9f14-a15a2f59c1f5", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "DE", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "dhl", + "name": "DHL - Economy Select", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "EconomySelect", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "DHL" + }, + { + "id": "c644831f-e4cc-493c-9bb7-1fd4cad371a0", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "DE", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "dhl", + "name": "DHL - Express 10:30", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express1030International", + "supported_incoterms": ["DDU"], + "umbrella_name": "DHL" + }, + { + "id": "d80d08d5-6a7f-49ca-bd3e-410512b28e77", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "CA", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "purolator", + "name": "Purolator - Ground®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Ground", + "supported_incoterms": ["DDU"], + "umbrella_name": "Purolator" + }, + { + "id": "679a99cf-c20e-4ebb-86bb-c186ac38d71b", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "CA", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "purolator", + "name": "Purolator - Express®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express", + "supported_incoterms": ["DDU"], + "umbrella_name": "Purolator" + }, + { + "id": "107ef2e3-ea3e-45d0-9f0a-a28b784d7fcf", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "dhl", + "name": "DHL - Express 0900", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "DomesticExpress0900", + "supported_incoterms": ["DDU"], + "umbrella_name": "DHL" + }, + { + "id": "e3a47b21-9836-4c91-bdb6-038bcfc1eb95", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "dhl", + "name": "DHL - Express 1200", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "DomesticExpress1200", + "supported_incoterms": ["DDU"], + "umbrella_name": "DHL" + }, + { + "id": "074b9e16-1b80-4cdf-b675-0ad622670cd0", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "dhl", + "name": "DHL - Express 1200", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express1200", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "DHL" + }, + { + "id": "2fdfcb4d-b239-4400-b7a8-279213029b1d", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "evri", + "name": "Evri - Light and Large", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "LightandLarge", + "supported_incoterms": ["DDU"], + "umbrella_name": "Evri" + }, + { + "id": "dfdc6a18-9d9d-42c4-a12f-d70a91540c00", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "SG", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "ninjavan", + "name": "NinjaVan Standard", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Standard Deliveries", + "supported_incoterms": ["DDU"], + "umbrella_name": "NinjaVan" + }, + { + "id": "b88a879a-1022-4a74-86d7-0a89049281f6", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "AU", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "couriers-please", + "name": "CouriersPlease - Parcel Tier 2", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ParcelTier2", + "supported_incoterms": ["DDU"], + "umbrella_name": "CouriersPlease" + }, + { + "id": "fededcbd-7641-4b1c-aaed-b3d851ce3259", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "AU", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "couriers-please", + "name": "CouriersPlease - Parcel Tier 3", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Parcel", + "supported_incoterms": ["DDU"], + "umbrella_name": "CouriersPlease" + }, + { + "id": "f73c3ad6-4124-4c37-a2c5-95837d95fec1", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "skypostal", + "name": "SkyPostal - Postal Packet Standard", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Postal Packet Standard", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "SkyPostal" + }, + { + "id": "9ac44ae8-083a-4901-8fe1-56a87ed67a83", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "usps", + "name": "eBay Send - USPS - Priority Mail International", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Priority Mail International", + "supported_incoterms": ["DDU"], + "umbrella_name": "eBay Send" + }, + { + "id": "2ddc3b5c-5190-4ae8-b81c-f647b1c1d9f9", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "easyship", + "name": "Easyship - Clock Domestic Shipping", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Basic", + "supported_incoterms": ["DDU"], + "umbrella_name": "EasyshipDemo" + }, + { + "id": "f6a8cc66-6112-4480-9a5e-a518b18eec07", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "easyship", + "name": "Easyship - Tracked (only for Crowfunding)", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Tracked", + "supported_incoterms": ["DDU"], + "umbrella_name": "EasyshipDemo" + }, + { + "id": "7965030f-ee36-46bf-83b0-6a9ddc27ce8b", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "easyship", + "name": "Easyship - Battery (only for Crowfunding)", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Battery", + "supported_incoterms": ["DDU"], + "umbrella_name": "EasyshipDemo" + }, + { + "id": "753023f0-813a-48fe-ad1e-d82576869f3e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "AU", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "dhl", + "name": "DHL - Express Worldwide", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ExpressWorldwide", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "DHL" + }, + { + "id": "7e624825-cb06-4d8e-9657-1d0001fb1950", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "dhl", + "name": "DHL - Domestic Express", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "DomesticExpress", + "supported_incoterms": ["DDU"], + "umbrella_name": "DHL" + }, + { + "id": "7426c219-6cc5-4c07-97f1-32e65fd67240", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "dhl", + "name": "DHL - Domestic Express 09", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "DomesticExpress0900", + "supported_incoterms": ["DDU"], + "umbrella_name": "DHL" + }, + { + "id": "546c1c8f-27c7-4bff-966e-2c609c6e4952", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "dhl", + "name": "DHL - Domestic Express 1200", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "DomesticExpress1200", + "supported_incoterms": ["DDU"], + "umbrella_name": "DHL" + }, + { + "id": "eac604a4-34c9-41b6-b5b1-231fb785d071", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "US", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "fedex", + "name": "FedEx Ground® Economy", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "SmartPost", + "supported_incoterms": ["DDU"], + "umbrella_name": "FedEx" + }, + { + "id": "97f58ec6-57d5-47b6-828d-caa4f762a935", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "fedex", + "name": "FedEx® International Connect Plus", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "InternationalConnectPlus", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "FedEx" + }, + { + "id": "dbcfcdf6-da9f-4cca-8fc6-853a87a22e33", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Expedited® Battery", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Expedited", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "ef95909d-73d2-417a-b90c-e08f34c1ea7e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "HK", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwide Saver® Battery", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "SaverNet", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "946ad4bc-4daa-4ec5-a4d4-49129a3aa628", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "janio", + "name": "Janio - Express", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "Janio" + }, + { + "id": "594047b1-b2cc-417e-8ca0-f1a6a288010a", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "janio", + "name": "Janio - Express", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "Janio" + }, + { + "id": "8351bc3f-1f49-40d7-be17-540259441808", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "chronopost-france", + "name": "Chronopost - Chrono Classic", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ChronoClassic", + "supported_incoterms": ["DDU"], + "umbrella_name": "Chronopost" + }, + { + "id": "de7ef00e-0b56-46da-b6c7-0a7cd7c0e1d3", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "chronopost-france", + "name": "Chronopost - Chrono Express", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ChronoExpress", + "supported_incoterms": ["DDU"], + "umbrella_name": "Chronopost" + }, + { + "id": "18dae37d-a611-43da-b2e5-0d521620d7c0", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "chronopost-france", + "name": "Chronopost - Chrono 10", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Chrono10", + "supported_incoterms": ["DDU"], + "umbrella_name": "Chronopost" + }, + { + "id": "a063f284-0851-4a06-b01c-53289ee871fe", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "chronopost-france", + "name": "Chronopost - Chrono 13", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Chrono13", + "supported_incoterms": ["DDU"], + "umbrella_name": "Chronopost" + }, + { + "id": "bbf800c8-fdf5-476c-8f20-6ad855a7d917", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "chronopost-france", + "name": "Chronopost - Chrono 18", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Chrono18", + "supported_incoterms": ["DDU"], + "umbrella_name": "Chronopost" + }, + { + "id": "ff652d3e-60c7-4376-bcf8-b774db7cee88", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "singaporepost", + "name": "SingPost - NextDay", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "NextDay", + "supported_incoterms": ["DDU"], + "umbrella_name": "SingPost" + }, + { + "id": "741b0624-785d-4f6f-9cf1-c29480093016", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "dhl-ecommerce", + "name": "DHLeCommerce - Expedited", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Parcel Expedited", + "supported_incoterms": ["DDU"], + "umbrella_name": "OmniParcel" + }, + { + "id": "18af6ce4-0a11-40c5-86ae-a8fd34e89235", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "dhl-ecommerce", + "name": "DHL eCommerce - Parcel Expedited Plus", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Parcel Expedited Plus", + "supported_incoterms": ["DDU"], + "umbrella_name": "OmniParcel" + }, + { + "id": "b861d548-1a6b-4b38-b283-fe0c8956a177", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "evri", + "name": "Evri - Next Day Parcelshop", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "HomeDeliveryDomestic", + "supported_incoterms": ["DDU"], + "umbrella_name": "Evri" + }, + { + "id": "52e543ea-9326-4148-8125-5c6ac9fbe86b", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "evri", + "name": "Evri - Postable", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "HomeDomesticPostable", + "supported_incoterms": ["DDU"], + "umbrella_name": "Evri" + }, + { + "id": "8b45ae46-7aef-43ea-8ae6-abf052857497", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "skypostal", + "name": "SkyPostal - Packet Express", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "PacketExpress", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "SkyPostal" + }, + { + "id": "0a6b1c1a-baa1-48d8-aca2-c09721a6b60c", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "Parcelforce - Express48Large", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express48Large", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "9904f67e-3086-49dc-a85a-3d950b99a1fa", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "Parcelforce - Express24", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express24", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "ed91a4ca-5688-4849-8c8b-c7409e1c0170", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "Parcelforce - Express 09:00", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express0900", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "a3f583a9-c9ac-413b-bfdd-5f8308627245", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "Parcelforce - Express 10:00", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express1000", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "ad0ade05-fe14-4559-a525-a3119dfaa8da", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "Parcelforce - ExpressAM", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ExpressAM", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "303baf29-9590-4b01-b93b-3384dab4e100", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "Parcelforce - Express48", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express48", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "31571db0-d224-4f50-9d44-8dbeb8537270", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "Parcelforce - Express 24", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express24", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "ed5f4ab5-85a7-4c4c-9705-81dabc9332ac", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "Parcelforce - Express 09:00", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express0900", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "0747777b-1865-4e3b-8ecf-66a918c93472", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "Parcelforce - Express 10:00", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express1000", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "5ec9fb95-034b-45bd-830f-8aacf13d953e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "Parcelforce - Express AM", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ExpressAM", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "17857016-eb25-445c-8daa-a84e4482373a", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "Parcelforce - Express 48", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express48", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "5011c3e9-a2b8-4be5-b3ec-ed08f7196ec9", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "Parcelforce - EuroEconomy", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "EuroEconomy", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "ea4c4148-885b-4803-9aad-21fc8df73587", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "Parcelforce - GlobalPriority", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "GlobalPriority", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "f8e11031-1419-47e6-b447-965cc3bc157f", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "Parcelforce - EuroEconomy", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "EuroEconomy", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "52115833-372a-4db1-b533-be144bb44b62", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "Parcelforce - GlobalPriority", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "GlobalPriority", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "858c835e-d326-405f-8320-52b855529974", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "evri", + "name": "Evri - Postable Next Day", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "HomeDomesticPostable", + "supported_incoterms": ["DDU"], + "umbrella_name": "Evri" + }, + { + "id": "696626dd-2888-4f76-8f0f-df3db160def8", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "dhl", + "name": "DHL - Express Battery", + "restricted_to_destination_states": "", + "restricted_to_origin_states": ["IL"], + "service_name": "ExpressWorldwide", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "DHL" + }, + { + "id": "9db51d64-abef-4980-8648-85e7bf7cb832", + "accepts_outbounds": false, + "accepts_pay_on_scan_returns": true, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "usps", + "name": "USPS - Ground Advantage", + "restricted_to_destination_states": [ + "AL", + "AK", + "AZ", + "AR", + "CA", + "CO", + "CT", + "DE", + "DC", + "FL", + "GA", + "HI", + "ID", + "IL", + "IN", + "IA", + "KS", + "KY", + "LA", + "ME", + "MD", + "MA", + "MI", + "MN", + "MS", + "MO", + "MT", + "NE", + "NV", + "NH", + "NJ", + "NM", + "NY", + "NC", + "ND", + "OH", + "OK", + "OR", + "PA", + "RI", + "SC", + "SD", + "TN", + "TX", + "UT", + "VT", + "VA", + "WA", + "WV", + "WI", + "WY", + "PR", + "GU", + "VI", + "AS", + "MP" + ], + "restricted_to_origin_states": [ + "AL", + "AK", + "AZ", + "AR", + "CA", + "CO", + "CT", + "DE", + "DC", + "FL", + "GA", + "HI", + "ID", + "IL", + "IN", + "IA", + "KS", + "KY", + "LA", + "ME", + "MD", + "MA", + "MI", + "MN", + "MS", + "MO", + "MT", + "NE", + "NV", + "NH", + "NJ", + "NM", + "NY", + "NC", + "ND", + "OH", + "OK", + "OR", + "PA", + "RI", + "SC", + "SD", + "TN", + "TX", + "UT", + "VT", + "VA", + "WA", + "WV", + "WI", + "WY", + "PR", + "GU", + "VI", + "AS", + "MP" + ], + "service_name": "Ground Advantage", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "104e6407-1de9-4002-bc06-ec0c509a207f", + "accepts_outbounds": false, + "accepts_pay_on_scan_returns": true, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "usps", + "name": "USPS - Priority Mail", + "restricted_to_destination_states": [ + "AL", + "AK", + "AZ", + "AR", + "CA", + "CO", + "CT", + "DE", + "DC", + "FL", + "GA", + "HI", + "ID", + "IL", + "IN", + "IA", + "KS", + "KY", + "LA", + "ME", + "MD", + "MA", + "MI", + "MN", + "MS", + "MO", + "MT", + "NE", + "NV", + "NH", + "NJ", + "NM", + "NY", + "NC", + "ND", + "OH", + "OK", + "OR", + "PA", + "RI", + "SC", + "SD", + "TN", + "TX", + "UT", + "VT", + "VA", + "WA", + "WV", + "WI", + "WY", + "PR", + "GU", + "VI", + "AS", + "MP" + ], + "restricted_to_origin_states": [ + "AL", + "AK", + "AZ", + "AR", + "CA", + "CO", + "CT", + "DE", + "DC", + "FL", + "GA", + "HI", + "ID", + "IL", + "IN", + "IA", + "KS", + "KY", + "LA", + "ME", + "MD", + "MA", + "MI", + "MN", + "MS", + "MO", + "MT", + "NE", + "NV", + "NH", + "NJ", + "NM", + "NY", + "NC", + "ND", + "OH", + "OK", + "OR", + "PA", + "RI", + "SC", + "SD", + "TN", + "TX", + "UT", + "VT", + "VA", + "WA", + "WV", + "WI", + "WY", + "PR", + "GU", + "VI", + "AS", + "MP" + ], + "service_name": "PriorityMail", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "56ff67d5-a206-4173-93b2-9c1230c4e470", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "qxpress", + "name": "Qxpress - International", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "International", + "supported_incoterms": ["DDU"], + "umbrella_name": "Qxpress" + }, + { + "id": "cacb0c37-fca8-4709-aec6-894a3709328b", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "fedex", + "name": "FedEx Cross Border - Intl. Connect Tracked", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "TrakpakWorldwideHermes", + "supported_incoterms": ["DDU"], + "umbrella_name": "FedEx Cross Border" + }, + { + "id": "8d10e43a-93f1-44c7-8bac-5096a8cf9d96", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "Parcelforce - Express48", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express48", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "7108c110-f2fd-41ff-b030-c40fff663533", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "evri", + "name": "Evri - Postable", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "HomeDomesticPostable", + "supported_incoterms": ["DDU"], + "umbrella_name": "Evri" + }, + { + "id": "7c63322f-1817-4855-bcac-c222120d981a", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "fedex", + "name": "FedEx Cross Border - Intl. Connect Tracked", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "TrakpakWorldwide", + "supported_incoterms": ["DDU"], + "umbrella_name": "FedEx Cross Border" + }, + { + "id": "482cdcc8-142c-4293-a40f-7b804b7a312e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "evri", + "name": "Evri - Postable Next Day", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "HomeDomesticPostableNextDay", + "supported_incoterms": ["DDU"], + "umbrella_name": "Evri" + }, + { + "id": "d1c9b55d-5b0a-4fa7-be01-53f520a190dc", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS - Standard", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Standard", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "573ea696-546f-45af-a630-b39dd319039d", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "dpd", + "name": "DPD - Parcel", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ClassicParcel", + "supported_incoterms": ["DDU"], + "umbrella_name": "DPD" + }, + { + "id": "965de4ef-91f7-4150-8194-e41fbc767c6c", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "dpd", + "name": "DPD - Express Pak NextDay", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ExpressPakNextDay", + "supported_incoterms": ["DDU"], + "umbrella_name": "DPD" + }, + { + "id": "e10d92ac-8a36-46f0-8b13-4f823e43767e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "dpd", + "name": "DPD - NextDay", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "NextDay", + "supported_incoterms": ["DDU"], + "umbrella_name": "DPD" + }, + { + "id": "74fcad8e-aa45-421a-b074-31860f4f26ca", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "dpd", + "name": "DPD - Classic Express Pak", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ClassicExpressPak", + "supported_incoterms": ["DDU"], + "umbrella_name": "DPD" + }, + { + "id": "6ee49552-ab8a-49d5-bdd3-24ea0e419f15", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS - Express Saver", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ExpressSaver", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "140992ce-713d-4a86-84a2-a5b5daafc6ee", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "Parcelforce - Express 10:00", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express1000", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "9dc266fc-2242-4430-a854-11dfb1b0d5a8", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "evri", + "name": "Evri - Light And Large", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "LightAndLarge", + "supported_incoterms": ["DDU"], + "umbrella_name": "Evri" + }, + { + "id": "abca668b-94eb-412e-aed9-4ec1b4077c97", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "ParcelForce - Express24", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express24", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "774c250c-3a4e-4ac8-b337-011d398a15c2", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "ParcelForce - ExpressAM", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ExpressAM", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "f0444180-6438-4c9c-bde0-b578f9c25f79", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "evri", + "name": "Evri - Next Day Parcelshop", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Home Delivery Domestic NextDay", + "supported_incoterms": ["DDU"], + "umbrella_name": "Evri" + }, + { + "id": "e7f32259-a2fb-48ad-a808-b19262a396fe", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "evri", + "name": "Evri - Home Delivery Domestic", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "HomeDeliveryDomestic", + "supported_incoterms": ["DDU"], + "umbrella_name": "Evri" + }, + { + "id": "679bf199-6f0f-4d0b-bf19-73fd67d63c8a", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "parcelforce", + "name": "Parcelforce - Express 09:00", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Express0900", + "supported_incoterms": ["DDU"], + "umbrella_name": "Parcelforce" + }, + { + "id": "79a561ba-14c4-4389-9458-531d940dc01f", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "evri", + "name": "Evri - Home Delivery EU", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "HomeDeliveryEU", + "supported_incoterms": ["DDU"], + "umbrella_name": "Evri" + }, + { + "id": "f823b651-459e-4996-a9fc-013e8cac2aec", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "asendia-uk", + "name": "Asendia - Epaq Plus", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "EpaqPlus", + "supported_incoterms": ["DDU"], + "umbrella_name": "Asendia" + }, + { + "id": "f1b13f29-414c-498e-91f2-841d1c82b2bb", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "supported_mandatory", + "logo_url": "asendia-uk", + "name": "Asendia - ePAQ Select LAX", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "EpaqSelect", + "supported_incoterms": ["DDP"], + "umbrella_name": "Asendia" + }, + { + "id": "fba6ff27-7d00-4522-818f-539826e86c3c", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "lightweight-trackable", + "name": "Light Weight Trackable", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "LightweightStandard", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "c8ea1e3b-e39b-4158-9f84-4c719ba249a2", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "lightweight-trackable", + "name": "Light Weight Trackable", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "LightweightStandard", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + } + ], + [ + { + "id": "a8c7b35b-ccf1-4c8f-b278-6c1be44c4d0f", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "lightweight-trackable", + "name": "Light Weight Trackable", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "LightweightEconomy", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "969a1589-d967-42a8-a0b1-ca90ec9d411b", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "lightweight-trackable", + "name": "Light Weight Trackable", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "LightweightEconomy", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "a5042392-b612-4a7f-8839-6394e4bb1ada", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "AU", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS - Express Saver®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "DomesticExpressSaver", + "supported_incoterms": ["DDU"], + "umbrella_name": "UPS" + }, + { + "id": "ff5fe729-a926-4d0a-83af-369e3c1801c8", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "asendia-uk", + "name": "Asendia - Epaq Plus Multileg", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "EpaqPlus", + "supported_incoterms": ["DDU"], + "umbrella_name": "Asendia" + }, + { + "id": "a40ad263-5c97-47d1-92bc-943d9c848754", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "supported_mandatory", + "logo_url": "asendia-uk", + "name": "Asendia - Epaq Select Multileg", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "EpaqSelect", + "supported_incoterms": ["DDP"], + "umbrella_name": "Asendia" + }, + { + "id": "a03f514c-3493-4dd1-9639-42ba54129113", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "supported_mandatory", + "logo_url": "asendia-uk", + "name": "Asendia - ePAQ Select LAX", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "EpaqSelect", + "supported_incoterms": ["DDP"], + "umbrella_name": "Asendia" + }, + { + "id": "94dfb852-3b03-4fb7-a8e8-4187f8280194", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "asendia-uk", + "name": "Asendia - Epaq Plus", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "EpaqPlus", + "supported_incoterms": ["DDU"], + "umbrella_name": "Asendia" + }, + { + "id": "3d9716e0-4a21-4167-a736-1d790c9e66ea", + "accepts_outbounds": false, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "AU", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "hubbed", + "name": "Hubbed Easy Returns", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Standard", + "supported_incoterms": ["DDU"], + "umbrella_name": "Hubbed" + }, + { + "id": "72e632fa-23ca-459c-b69c-5baa9f0f5675", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "NZ", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "aramex", + "name": "Aramex - Parcel", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Parcel", + "supported_incoterms": ["DDU"], + "umbrella_name": "Aramex" + }, + { + "id": "aca9b725-457c-4a5e-8bc3-eba98aa0da7f", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "apg", + "name": "Australia Post Global - ePacket", + "restricted_to_destination_states": "", + "restricted_to_origin_states": [ + "AL", + "AK", + "AR", + "CT", + "HI", + "IL", + "IN", + "IA", + "KS", + "KY", + "MI", + "MN", + "MO", + "NE", + "NJ", + "ND", + "OK", + "SD", + "TN", + "TX", + "WI" + ], + "service_name": "ePacket", + "supported_incoterms": ["DDU"], + "umbrella_name": "APG" + }, + { + "id": "21f83785-3921-4ee4-a163-e78bae456944", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "apg", + "name": "Australia Post Global - ePacket", + "restricted_to_destination_states": "", + "restricted_to_origin_states": [ + "AZ", + "CA", + "CO", + "ID", + "MT", + "NV", + "NM", + "OR", + "UT", + "WA", + "WY" + ], + "service_name": "ePacket", + "supported_incoterms": ["DDU"], + "umbrella_name": "APG" + }, + { + "id": "e5ca06e2-e24a-4308-a639-96eecfe9a3fb", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "apg", + "name": "Australia Post Global - ePacket Plus", + "restricted_to_destination_states": "", + "restricted_to_origin_states": [ + "AL", + "AK", + "AR", + "CT", + "HI", + "IL", + "IN", + "IA", + "KS", + "KY", + "MI", + "MN", + "MO", + "NE", + "NJ", + "ND", + "OK", + "SD", + "TN", + "TX", + "WI" + ], + "service_name": "ePacketPlus", + "supported_incoterms": ["DDU"], + "umbrella_name": "APG" + }, + { + "id": "6a2ede5f-b771-408c-8402-4b962afe3731", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "apg", + "name": "Australia Post Global - ePacket Plus", + "restricted_to_destination_states": "", + "restricted_to_origin_states": [ + "AZ", + "CA", + "CO", + "ID", + "MT", + "NV", + "NM", + "OR", + "UT", + "WA", + "WY" + ], + "service_name": "ePacketPlus", + "supported_incoterms": ["DDU"], + "umbrella_name": "APG" + }, + { + "id": "257f60ec-f844-4016-baaa-b7559c4e6c47", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "asendia", + "name": "Asendia - ePAQ Select ", + "restricted_to_destination_states": "", + "restricted_to_origin_states": ["FL", "GA", "LA", "MS"], + "service_name": "EpaqSelect", + "supported_incoterms": ["DDU"], + "umbrella_name": "Asendia" + }, + { + "id": "8972f7c4-816d-4c31-9d44-ed53a663a91d", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "asendia", + "name": "Asendia - ePAQ Select ", + "restricted_to_destination_states": "", + "restricted_to_origin_states": [ + "AK", + "DE", + "DC", + "HI", + "KY", + "MD", + "NC", + "PA", + "SC", + "VT", + "VA", + "WV", + "OH" + ], + "service_name": "EpaqSelect", + "supported_incoterms": ["DDU"], + "umbrella_name": "Asendia" + }, + { + "id": "dd77fa21-efcb-4bb9-9637-e3687aacc616", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "asendia", + "name": "Asendia - ePAQ Select ", + "restricted_to_destination_states": "", + "restricted_to_origin_states": ["ME", "MA", "NJ", "NY", "RI", "NH"], + "service_name": "EpaqSelect", + "supported_incoterms": ["DDU"], + "umbrella_name": "Asendia" + }, + { + "id": "7f5cdc89-f688-493a-8319-02c7995041fa", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "asendia", + "name": "Asendia - ePAQ Select ", + "restricted_to_destination_states": "", + "restricted_to_origin_states": [ + "AL", + "AR", + "CO", + "CT", + "IL", + "IN", + "IA", + "KS", + "MI", + "MN", + "MO", + "NE", + "ND", + "OK", + "SD", + "TN", + "TX", + "WI" + ], + "service_name": "EpaqSelect", + "supported_incoterms": ["DDU"], + "umbrella_name": "Asendia" + }, + { + "id": "e5e2c34e-765c-4383-95e5-0d92d34a3a28", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "qxpress", + "name": "Qxpress - International", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "International", + "supported_incoterms": ["DDU"], + "umbrella_name": "Qxpress" + }, + { + "id": "aea299fc-98b6-4c47-a5d0-a4c309ac13a3", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "NZ", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "aramex", + "name": "Aramex - Parcel", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Parcel", + "supported_incoterms": ["DDU"], + "umbrella_name": "Aramex" + }, + { + "id": "cf056a3d-1963-4843-b528-b51afb227f3a", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "AU", + "domestic_returns": false, + "ioss_support": "not_supported", + "logo_url": "couriers-please", + "name": "CouriersPlease - Multi Box Pronto", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "EComBaseKilo", + "supported_incoterms": ["DDU"], + "umbrella_name": "CouriersPlease" + }, + { + "id": "fae9dfa5-e7da-40e3-a5a2-478e7f8fbee0", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "AU", + "domestic_returns": false, + "ioss_support": "not_supported", + "logo_url": "couriers-please", + "name": "CouriersPlease - Multi Box STD", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "STDATLBaseKilo", + "supported_incoterms": ["DDU"], + "umbrella_name": "CouriersPlease" + }, + { + "id": "bc9216c5-e435-493a-931d-934931fb3772", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "NZ", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "nzpost", + "name": "NZ Post - International Courier", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "InternationalCourier", + "supported_incoterms": ["DDU"], + "umbrella_name": "NZ Post" + }, + { + "id": "413eabff-b39b-4bf3-849c-99235957dda2", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "NZ", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "nzpost", + "name": "NZ Post - Air Small Parcel", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "AirSmallParcel", + "supported_incoterms": ["DDU"], + "umbrella_name": "NZ Post" + }, + { + "id": "7ed64457-5593-4cea-95c2-f9ec9f170313", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "NZ", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "nzpost", + "name": "NZ Post - Tracked Air Satchel", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "TrackedAirSatchel", + "supported_incoterms": ["DDU"], + "umbrella_name": "NZ Post" + }, + { + "id": "95a8e231-9c20-4934-9d7a-778b4f1d9164", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "NZ", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "nzpost", + "name": "NZ Post - Economy Parcel", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Economy Parcel", + "supported_incoterms": ["DDU"], + "umbrella_name": "NZ Post" + }, + { + "id": "b4ea57a7-ab6a-490b-9622-f9d29972ffb1", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "NZ", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "nzpost", + "name": "NZ Post - Parcel Local", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ParcelLocal", + "supported_incoterms": ["DDU"], + "umbrella_name": "NZ Post" + }, + { + "id": "a1719af1-35c8-4bdd-a503-1b84935a39e0", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "dhl", + "name": "DHL - Domestic Express", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "DomesticExpress", + "supported_incoterms": ["DDU"], + "umbrella_name": "DHL" + }, + { + "id": "d408c154-0ba3-4cad-bc42-c45b21eee7cb", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "NL", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "dhl", + "name": "DHL - Express", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ExpressDomestic", + "supported_incoterms": ["DDU"], + "umbrella_name": "DHL" + }, + { + "id": "5797e6e5-22f9-4bf3-9f0a-dae2736eee7e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "supported_mandatory", + "logo_url": "fedex", + "name": "FedEx Cross Border - Intl. Connect Tracked", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "TrakpakWorldwide", + "supported_incoterms": ["DDP"], + "umbrella_name": "FedEx Cross Border" + }, + { + "id": "e0f540a5-5d6d-49af-9d7b-3862da2a4b55", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "supported_mandatory", + "logo_url": "fedex", + "name": "FedEx Cross Border - Intl. Connect Tracked", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "TrakpakWorldwide", + "supported_incoterms": ["DDP"], + "umbrella_name": "FedEx Cross Border" + }, + { + "id": "c8ed2c89-3387-4179-97af-c84ae73211b5", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "supported_mandatory", + "logo_url": "dpd", + "name": "DPD - Parcel", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ClassicParcel", + "supported_incoterms": ["DDP"], + "umbrella_name": "DPD" + }, + { + "id": "370890b5-7cba-4d70-a76f-90a1b6fb23b0", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "supported_mandatory", + "logo_url": "dpd", + "name": "DPD - Parcel", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ClassicParcel", + "supported_incoterms": ["DDP"], + "umbrella_name": "DPD" + }, + { + "id": "9368e611-2067-4aa5-b186-7c66957b5b4e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "AU", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "alliedexpress", + "name": "Allied Express - Road Express", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Roadexpress", + "supported_incoterms": ["DDU"], + "umbrella_name": "AlliedExpress" + }, + { + "id": "7d4167f6-856d-4267-9758-0b14f0e1700c", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "flat-export", + "name": "Flat Export", + "restricted_to_destination_states": "", + "restricted_to_origin_states": [ + "CA", + "MT", + "NV", + "NM", + "OR", + "UT", + "WA", + "WY", + "ID", + "AZ", + "AK", + "CO", + "HI" + ], + "service_name": "AsendiaePAQSelect", + "supported_incoterms": ["DDU"], + "umbrella_name": "FlatExportRate" + }, + { + "id": "11b7ad99-7100-4460-b2a1-0a833aac0ea7", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "flat-export", + "name": "Flat Export", + "restricted_to_destination_states": "", + "restricted_to_origin_states": [ + "AL", + "AR", + "CO", + "CT", + "IL", + "IN", + "IA", + "KS", + "MI", + "MN", + "MO", + "NE", + "ND", + "OK", + "SD", + "TN", + "TX", + "WI", + "DC", + "DE", + "FL", + "GA", + "KY", + "LA", + "MA", + "MD", + "ME", + "MS", + "NH", + "NJ", + "NY", + "NC", + "OH", + "PA", + "RI", + "SC", + "VT", + "VA", + "WV" + ], + "service_name": "AsendiaePAQSelect", + "supported_incoterms": ["DDU"], + "umbrella_name": "FlatExportRate" + }, + { + "id": "dc704854-2805-4225-9b38-07b7552d8afc", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "flat-export", + "name": "Flat Export", + "restricted_to_destination_states": "", + "restricted_to_origin_states": [ + "CA", + "MT", + "NV", + "NM", + "OR", + "UT", + "WA", + "WY", + "ID", + "AZ", + "AK", + "CO", + "HI" + ], + "service_name": "AsendiaCountryTracked", + "supported_incoterms": ["DDU"], + "umbrella_name": "FlatExportRate" + }, + { + "id": "86f3875a-a034-4108-b4c3-4646b7490df8", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "flat-export", + "name": "Flat Export", + "restricted_to_destination_states": "", + "restricted_to_origin_states": [ + "AL", + "AR", + "CO", + "CT", + "IL", + "IN", + "IA", + "KS", + "MI", + "MN", + "MO", + "NE", + "ND", + "OK", + "SD", + "TN", + "TX", + "WI", + "DC", + "DE", + "FL", + "GA", + "KY", + "LA", + "MA", + "MD", + "ME", + "MS", + "NH", + "NJ", + "NY", + "NC", + "OH", + "PA", + "RI", + "SC", + "VT", + "VA", + "WV" + ], + "service_name": "AsendiaCountryTracked", + "supported_incoterms": ["DDU"], + "umbrella_name": "FlatExportRate" + }, + { + "id": "311cf822-55f4-42e9-8713-e1230d5b3ed0", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "SG", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "singaporepost", + "name": "Singpost - NSaver", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "NSaver", + "supported_incoterms": ["DDU"], + "umbrella_name": "SingPost" + }, + { + "id": "b4d9b2b2-8a76-478e-978b-304c6b9ded53", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "FR", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "colis-prive", + "name": "Colis Prive - Home", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Home", + "supported_incoterms": ["DDU"], + "umbrella_name": "ColisPrive" + }, + { + "id": "5149c195-81be-4afd-9b5a-cb72fd1f7220", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "osm", + "name": "OSM - Domestic Parcel", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Domestic Parcel", + "supported_incoterms": ["DDU"], + "umbrella_name": "OSM" + }, + { + "id": "7e1cd448-00f9-44c9-8138-2cc3a6fde0d2", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "usps", + "name": "USPS - Priority Mail Dummy", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Priority Mail", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "ef512641-dd07-4b8e-a8c8-d4d8a78cfe9e", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "easyship", + "name": "Malca Amit - Door To Door", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Door To Door", + "supported_incoterms": ["DDU"], + "umbrella_name": "Malca Amit" + }, + { + "id": "ec20166b-5715-4ded-a324-4e8720db1829", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "SG", + "domestic_returns": true, + "ioss_support": "", + "logo_url": "ninjavan", + "name": "NinjaVan Next Day", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Next Day Deliveries", + "supported_incoterms": ["DDU"], + "umbrella_name": "NinjaVan" + }, + { + "id": "040daedc-03a0-4c97-94a1-95adc77a9b77", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "evri", + "name": "Evri - Parcelshop Dummy", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "UK_HomeDelivery", + "supported_incoterms": ["DDU"], + "umbrella_name": "Evri" + }, + { + "id": "fe6c94e3-48cd-4860-af6d-3a5063eeccf1", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "GB", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "dpd", + "name": "DPD - Next Day Dummy", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "NextDay", + "supported_incoterms": ["DDU"], + "umbrella_name": "DPD" + }, + { + "id": "259b6850-3687-43e2-83c4-cbe56eebd7d2", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "sendle", + "name": "Sendle - Preferred Pick up", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "PremiumDomestic", + "supported_incoterms": ["DDU"], + "umbrella_name": "Sendle" + }, + { + "id": "129f3ca3-7d8d-44dd-980f-f29b3e21d559", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "asendia", + "name": "Asendia - ePAQ Select ", + "restricted_to_destination_states": "", + "restricted_to_origin_states": ["IL"], + "service_name": "ePAQSelect", + "supported_incoterms": ["DDU"], + "umbrella_name": "Asendia" + }, + { + "id": "dbfc39ad-749a-4711-8a1d-6cd14d656498", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "DE", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "dpd", + "name": "DPD - Classic", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Classic", + "supported_incoterms": ["DDU"], + "umbrella_name": "DPD" + }, + { + "id": "7a1424ff-0d4e-4d55-bdfe-e4c6661debbf", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "usps", + "name": "USPS - Ground Advantage Signature", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Ground Advantage", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "137a79e8-ae1c-4369-9855-44cf8ff784c4", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "", + "logo_url": "usps", + "name": "USPS - Priority Mail Signature", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "PriorityMailSignature", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "bbf9895d-8f97-47e0-8123-7b13b0dc265a", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "bringer", + "name": "Bringer - Packet Standard", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "PacketStandard", + "supported_incoterms": ["DDU"], + "umbrella_name": "Bringer" + }, + { + "id": "572f7e9f-b3a9-460c-9263-df2b8fec6fdb", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "bringer", + "name": "Bringer - Prime DDU", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Prime", + "supported_incoterms": ["DDU"], + "umbrella_name": "Bringer" + }, + { + "id": "1b12bf06-ec15-44aa-bc72-0a21198f529c", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "orangeds", + "name": "OrangeDS - Expedited DDP", + "restricted_to_destination_states": "", + "restricted_to_origin_states": [ + "DE", + "DC", + "ME", + "MD", + "MA", + "NH", + "NY", + "NC", + "OH", + "PA", + "RI", + "SC", + "VT", + "VA", + "WV" + ], + "service_name": "ExpeditedDDP", + "supported_incoterms": ["DDP"], + "umbrella_name": "OrangeDS" + }, + { + "id": "75de17bd-305b-4462-b802-62c081bd3b2c", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "orangeds", + "name": "OrangeDS - Expedited DDP", + "restricted_to_destination_states": "", + "restricted_to_origin_states": [ + "AL", + "AK", + "AR", + "CT", + "FL", + "GA", + "HI", + "IL", + "IN", + "IA", + "KS", + "KY", + "LA", + "MI", + "MN", + "MS", + "MO", + "NE", + "NJ", + "ND", + "OK", + "SD", + "TN", + "TX", + "WI", + "AZ", + "CA", + "CO", + "ID", + "MT", + "NV", + "NM", + "OR", + "UT", + "WA", + "WY" + ], + "service_name": "ExpeditedDDP", + "supported_incoterms": ["DDP"], + "umbrella_name": "OrangeDS" + }, + { + "id": "9d6d9594-9074-43fa-93d2-29f5782da640", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "orangeds", + "name": "OrangeDS - Expedited", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ExpeditedDDU", + "supported_incoterms": ["DDU"], + "umbrella_name": "OrangeDS" + }, + { + "id": "ad832145-d3bc-4c54-9b3d-279f6daa648d", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "sendle", + "name": "Sendle Preferred", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Preferred", + "supported_incoterms": ["DDU"], + "umbrella_name": "Sendle" + }, + { + "id": "34d53f6a-8052-4d49-b38f-7af884bc7a02", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS® Ground Saver", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "GroundSaver", + "supported_incoterms": ["DDU"], + "umbrella_name": "UPS" + }, + { + "id": "1ee1e67e-d06b-4c11-8141-2158f7e71ca7", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS® Ground Saver", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "UPSGroundSaverUS", + "supported_incoterms": ["DDU"], + "umbrella_name": "UPS" + }, + { + "id": "7ba591f0-f140-4831-b702-70a1cc1462b9", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "passport", + "name": "Passport - Priority Delcon", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "PriorityDelconDDUEWR", + "supported_incoterms": ["DDU"], + "umbrella_name": "Passport" + }, + { + "id": "09fe6741-3057-4403-8412-efe3d8cda523", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "passport", + "name": "Passport - Priority Delcon DDP", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "PriorityDelconDDPEWR", + "supported_incoterms": ["DDP"], + "umbrella_name": "Passport" + }, + { + "id": "d4a537c4-7908-45a6-885d-cab056a750f3", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "bringer", + "name": "Bringer - Packet Standard DDP", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "PacketStandard", + "supported_incoterms": ["DDP"], + "umbrella_name": "Bringer" + }, + { + "id": "468143c7-d79a-4a1c-94d2-455522e3d779", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "bringer", + "name": "Bringer - Tracked Parcel DDP", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "TrackedParcel", + "supported_incoterms": ["DDP"], + "umbrella_name": "Bringer" + }, + { + "id": "057a2454-8e02-46eb-8ded-f24f4bb6cacf", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "bringer", + "name": "Bringer - Prime DDP", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Prime", + "supported_incoterms": ["DDP"], + "umbrella_name": "Bringer" + }, + { + "id": "94375010-7af5-48b9-be3b-1048013eb6fd", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "usps", + "name": "USPS - Ground Advantage CPP", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "GroundAdvantage", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "89b48961-1dff-4238-8cdf-8948b2cbf041", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "usps", + "name": "USPS - Priority Mail CPP", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "PriorityMail", + "supported_incoterms": ["DDU"], + "umbrella_name": "USPS" + }, + { + "id": "75bf1398-d5b6-4782-9332-36652fd76d36", + "accepts_outbounds": false, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "US", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "fedex", + "name": "FedEx Ground® returns", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Ground", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "FedEx" + }, + { + "id": "94690a4a-9a7d-40e4-863e-3bf4fb274a3c", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "CA", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Expedited®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "Expedited", + "supported_incoterms": ["DDU"], + "umbrella_name": "UPS" + }, + { + "id": "f85fb57c-7539-4004-ab03-5599630ec779", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": true, + "active": true, + "country_alpha2": "CA", + "domestic_returns": true, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Express Early®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "ExpressEarly", + "supported_incoterms": ["DDU"], + "umbrella_name": "UPS" + }, + { + "id": "800afcdc-0806-4f63-abf4-f12fa13edac3", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS 3 Day Select®", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "3DaySelect", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "8e3f19a6-dc85-4c37-823b-7243c544eac8", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "CA", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS Worldwise Express™", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "WolrdwideExpress", + "supported_incoterms": ["DDU", "DDP"], + "umbrella_name": "UPS" + }, + { + "id": "b85683b8-1d32-41d7-b9af-63ae712ef3fe", + "accepts_outbounds": true, + "accepts_pay_on_scan_returns": false, + "accepts_prepaid_returns": false, + "active": true, + "country_alpha2": "US", + "domestic_returns": false, + "ioss_support": "supported_optional", + "logo_url": "ups", + "name": "UPS® Ground Saver", + "restricted_to_destination_states": "", + "restricted_to_origin_states": "", + "service_name": "GroundSaver", + "supported_incoterms": ["DDU"], + "umbrella_name": "UPS" + } + ] +] diff --git a/modules/connectors/easyship/karrio/providers/easyship/pickup/__init__.py b/modules/connectors/easyship/karrio/providers/easyship/pickup/__init__.py new file mode 100644 index 0000000000..4f4dd5414d --- /dev/null +++ b/modules/connectors/easyship/karrio/providers/easyship/pickup/__init__.py @@ -0,0 +1,4 @@ + +from karrio.providers.easyship.pickup.create import parse_pickup_response, pickup_request +from karrio.providers.easyship.pickup.update import parse_pickup_update_response, pickup_update_request +from karrio.providers.easyship.pickup.cancel import parse_pickup_cancel_response, pickup_cancel_request diff --git a/modules/connectors/easyship/karrio/providers/easyship/pickup/cancel.py b/modules/connectors/easyship/karrio/providers/easyship/pickup/cancel.py new file mode 100644 index 0000000000..be741bbe52 --- /dev/null +++ b/modules/connectors/easyship/karrio/providers/easyship/pickup/cancel.py @@ -0,0 +1,42 @@ +import typing +import karrio.lib as lib +import karrio.core.units as units +import karrio.core.models as models +import karrio.providers.easyship.error as error +import karrio.providers.easyship.utils as provider_utils +import karrio.providers.easyship.units as provider_units + + +def parse_pickup_cancel_response( + _response: lib.Deserializable[dict], + settings: provider_utils.Settings, +) -> typing.Tuple[models.ConfirmationDetails, typing.List[models.Message]]: + response = _response.deserialize() + messages = error.parse_error_response(response, settings) + success = response.get("success") is not None + + confirmation = ( + models.ConfirmationDetails( + carrier_id=settings.carrier_id, + carrier_name=settings.carrier_name, + operation="Cancel Pickup", + success=success, + ) + if success + else None + ) + + return confirmation, messages + + +def pickup_cancel_request( + payload: models.PickupCancelRequest, + settings: provider_utils.Settings, +) -> lib.Serializable: + + # map data to convert karrio model to easyship specific type + request = dict( + easyship_pickup_id=payload.confirmation_number, + ) + + return lib.Serializable(request, lib.to_dict) diff --git a/modules/connectors/easyship/karrio/providers/easyship/pickup/create.py b/modules/connectors/easyship/karrio/providers/easyship/pickup/create.py new file mode 100644 index 0000000000..d96c1ec721 --- /dev/null +++ b/modules/connectors/easyship/karrio/providers/easyship/pickup/create.py @@ -0,0 +1,86 @@ +"""Karrio Easyship pickup API implementation.""" + +import karrio.schemas.easyship.pickup_request as easyship +import karrio.schemas.easyship.pickup_response as pickup + +import typing +import karrio.lib as lib +import karrio.core.units as units +import karrio.core.models as models +import karrio.providers.easyship.error as error +import karrio.providers.easyship.utils as provider_utils +import karrio.providers.easyship.units as provider_units + + +def parse_pickup_response( + _response: lib.Deserializable[dict], + settings: provider_utils.Settings, +) -> typing.Tuple[typing.List[models.PickupDetails], typing.List[models.Message]]: + response = _response.deserialize() + + messages = error.parse_error_response(response, settings) + pickup = lib.identity( + _extract_details(response, settings) + if response.get("pickup") is not None + else None + ) + + return pickup, messages + + +def _extract_details( + data: dict, + settings: provider_utils.Settings, +) -> models.PickupDetails: + details = lib.to_object(pickup.PickupResponseType, data) + + return models.PickupDetails( + carrier_id=settings.carrier_id, + carrier_name=settings.carrier_name, + confirmation_number=details.pickup.easyship_pickup_id, + pickup_date=lib.fdate(details.pickup.selected_from_time, "%Y-%m-%dT%H:%M"), + ready_time=lib.ftime(details.pickup.selected_from_time, "%Y-%m-%dT%H:%M"), + closing_time=lib.ftime(details.pickup.selected_to_time, "%Y-%m-%dT%H:%M"), + meta=dict( + easyship_courier_id=details.pickup.courier.id, + easyship_pickup_id=details.pickup.easyship_pickup_id, + easyship_shipment_ids=details.meta.easyship_shipment_ids, + ), + ) + + +def pickup_request( + payload: models.PickupRequest, + settings: provider_utils.Settings, +) -> lib.Serializable: + options = lib.units.Options( + payload.options, + option_type=lib.units.create_enum( + "PickupOptions", + { + "shipments": lib.OptionEnum("shipments", list), + "easyship_time_slot_id": lib.OptionEnum("time_slot_id", str), + "shipment_identifiers": lib.OptionEnum("shipment_identifiers", list), + "easyship_courier_account_id": lib.OptionEnum( + "courier_account_id", str + ), + }, + ), + ) + easyship_shipment_ids = lib.identity( + [_["shipment_identifier"] for _ in options.shipments.state] + if any(options.shipments.state or []) + else options.shipment_identifiers.state + ) + + # map data to convert karrio model to easyship specific type + request = easyship.PickupRequestType( + easyship_shipment_ids=easyship_shipment_ids, + time_slot_id=options.easyship_time_slot_id.state, + courier_id=options.easyship_courier_account_id.state, + selected_from_time=lib.ftime(payload.ready_time, "%H:%M"), + selected_to_time=lib.ftime(payload.closing_time, "%H:%M"), + selected_date=lib.fdate(payload.pickup_date), + ) + + return lib.Serializable(request, lib.to_dict) diff --git a/modules/connectors/easyship/karrio/providers/easyship/pickup/update.py b/modules/connectors/easyship/karrio/providers/easyship/pickup/update.py new file mode 100644 index 0000000000..41c0d29afb --- /dev/null +++ b/modules/connectors/easyship/karrio/providers/easyship/pickup/update.py @@ -0,0 +1,88 @@ +"""Karrio Easyship pickup updateAPI implementation.""" + +import karrio.schemas.easyship.pickup_request as easyship +import karrio.schemas.easyship.pickup_response as pickup + +import typing +import karrio.lib as lib +import karrio.core.units as units +import karrio.core.models as models +import karrio.providers.easyship.error as error +import karrio.providers.easyship.utils as provider_utils +import karrio.providers.easyship.units as provider_units + + +def parse_pickup_update_response( + _response: lib.Deserializable[dict], + settings: provider_utils.Settings, +) -> typing.Tuple[typing.List[models.PickupDetails], typing.List[models.Message]]: + response = _response.deserialize() + + messages = error.parse_error_response(response, settings) + pickup = lib.identity( + _extract_details(response, settings) + if response.get("pickup") is not None + else None + ) + + return pickup, messages + + +def _extract_details( + data: dict, + settings: provider_utils.Settings, +) -> models.PickupDetails: + details = lib.to_object(pickup.PickupResponseType, data) + + return models.PickupDetails( + carrier_id=settings.carrier_id, + carrier_name=settings.carrier_name, + confirmation_number=details.pickup.easyship_pickup_id, + pickup_date=lib.fdate(details.pickup.selected_from_time, "%Y-%m-%dT%H:%M"), + ready_time=lib.ftime(details.pickup.selected_from_time, "%Y-%m-%dT%H:%M"), + closing_time=lib.ftime(details.pickup.selected_to_time, "%Y-%m-%dT%H:%M"), + meta=dict( + easyship_courier_id=details.pickup.courier.id, + easyship_pickup_id=details.pickup.easyship_pickup_id, + easyship_shipment_ids=details.meta.easyship_shipment_ids, + ), + ) + + +def pickup_update_request( + payload: models.PickupUpdateRequest, + settings: provider_utils.Settings, +) -> lib.Serializable: + options = lib.units.Options( + payload.options, + option_type=lib.units.create_enum( + "PickupOptions", + { + "shipments": lib.OptionEnum("shipments", list), + "easyship_time_slot_id": lib.OptionEnum("time_slot_id", str), + "shipment_identifiers": lib.OptionEnum("shipment_identifiers", list), + "easyship_courier_account_id": lib.OptionEnum( + "courier_account_id", str + ), + }, + ), + ) + easyship_shipment_ids = lib.identity( + [_["shipment_identifier"] for _ in options.shipments.state] + if any(options.shipments.state or []) + else options.shipment_identifiers.state + ) + + # map data to convert karrio model to easyship specific type + request = easyship.PickupRequestType( + easyship_shipment_ids=easyship_shipment_ids, + time_slot_id=options.easyship_time_slot_id.state, + courier_id=options.easyship_courier_account_id.state, + selected_from_time=lib.ftime(payload.ready_time, "%H:%M"), + selected_to_time=lib.ftime(payload.closing_time, "%H:%M"), + selected_date=lib.fdate(payload.pickup_date), + ) + + return lib.Serializable( + request, lib.to_dict, dict(easyship_pickup_id=payload.confirmation_number) + ) diff --git a/modules/connectors/easyship/karrio/providers/easyship/rate.py b/modules/connectors/easyship/karrio/providers/easyship/rate.py new file mode 100644 index 0000000000..8060fce920 --- /dev/null +++ b/modules/connectors/easyship/karrio/providers/easyship/rate.py @@ -0,0 +1,213 @@ +"""Karrio Easyship rating API implementation.""" + +import karrio.schemas.easyship.rate_request as easyship +import karrio.schemas.easyship.rate_response as rating + +import typing +import karrio.lib as lib +import karrio.core.units as units +import karrio.core.models as models +import karrio.providers.easyship.error as error +import karrio.providers.easyship.utils as provider_utils +import karrio.providers.easyship.units as provider_units + + +def parse_rate_response( + _response: lib.Deserializable[dict], + settings: provider_utils.Settings, +) -> typing.Tuple[typing.List[models.RateDetails], typing.List[models.Message]]: + response = _response.deserialize() + + messages = error.parse_error_response(response, settings) + rates = [_extract_details(rate, settings) for rate in response.get("rates", [])] + + return rates, messages + + +def _extract_details( + data: dict, + settings: provider_utils.Settings, +) -> models.RateDetails: + details = lib.to_object(rating.RateType, data) + service = provider_units.ShippingServiceID.map(details.courier_id) + courier = provider_units.ShippingCourierID.find(service.value_or_key) + + charges = [ + ("Shipment Charge", details.shipment_charge), + ("Insurance", details.insurance_fee), + ("Other Surcharges", details.other_surcharges), + ("Fuel Surcharge", details.fuel_surcharge), + ("Additional Surcharge", details.additional_services_surcharge), + ("Import Duty Charge", details.import_duty_charge), + ("Import Tax Charge", details.import_tax_charge), + ("Minimum Pickup Fee", details.minimum_pickup_fee), + ("Oversized Surcharge", details.oversized_surcharge), + ("Provincial Sales Tax", details.provincial_sales_tax), + ("Remote Area Surcharge", details.remote_area_surcharge), + ("Sales Tax", details.sales_tax), + ("Warehouse Handling Fee", details.warehouse_handling_fee), + ("Discount", lib.failsafe(lambda: details.discount.amount)), + ] + + return models.RateDetails( + carrier_id=settings.carrier_id, + carrier_name=settings.carrier_name, + service=service.value_or_key, + total_charge=lib.to_money(details.total_charge), + currency=details.currency, + transit_days=details.max_delivery_time, + extra_charges=[ + models.ChargeDetails( + name=name, + amount=lib.to_money(amount), + currency=details.currency, + ) + for name, amount in charges + if amount is not None + ], + meta=dict( + rate_provider=courier.name_or_key, + easyship_incoterms=details.incoterms, + easyship_courier_id=details.courier_id, + service_name=service.value or details.courier_name, + available_handover_options=details.available_handover_options, + value_for_money_rank=details.value_for_money_rank, + tracking_rating=details.tracking_rating, + min_delivery_time=details.min_delivery_time, + max_delivery_time=details.max_delivery_time, + delivery_time_rank=details.delivery_time_rank, + cost_rank=details.cost_rank, + ), + ) + + +def rate_request( + payload: models.RateRequest, + settings: provider_utils.Settings, +) -> lib.Serializable: + shipper = lib.to_address(payload.shipper) + recipient = lib.to_address(payload.recipient) + packages = lib.to_packages(payload.parcels) + weight_unit, dimension_unit = packages.compatible_units + options = lib.to_shipping_options( + payload.options, + package_options=packages.options, + initializer=provider_units.shipping_options_initializer, + ) + incoterms = lib.identity( + options.easyship_incoterms.state + or getattr(getattr(payload, "customs", None), "incoterm", None) + ) + + # map data to convert karrio model to easyship specific type + request = easyship.RateRequestType( + courier_selection=lib.identity( + easyship.CourierSelectionType( + apply_shipping_rules=lib.identity( + options.easyship_apply_shipping_rules.state + if options.easyship_apply_shipping_rules.state is not None + else settings.connection_config.apply_shipping_rules.state + ), + show_courier_logo_url=options.easyship_show_courier_logo_url.state, + ) + if any( + [ + settings.connection_config.apply_shipping_rules.state, + options.easyship_apply_shipping_rules.state, + options.easyship_show_courier_logo_url.state, + ] + ) + else None + ), + destination_address=easyship.NAddressType( + country_alpha2=recipient.country_code, + city=recipient.city, + company_name=recipient.company_name, + contact_email=recipient.email, + contact_name=recipient.person_name, + contact_phone=recipient.phone_number, + line_1=recipient.address_line1, + line_2=recipient.address_line2, + postal_code=recipient.postal_code, + state=recipient.state_code, + ), + incoterms=incoterms, + insurance=easyship.InsuranceType( + insured_amount=options.insurance.state, + insured_currency=lib.identity( + options.currency.state if options.insurance.state is not None else None + ), + is_insured=options.insurance.state is not None, + ), + origin_address=easyship.NAddressType( + country_alpha2=shipper.country_code, + city=shipper.city, + company_name=shipper.company_name, + contact_email=shipper.email, + contact_name=shipper.person_name, + contact_phone=shipper.phone_number, + line_1=shipper.address_line1, + line_2=shipper.address_line2, + postal_code=shipper.postal_code, + state=shipper.state_code, + ), + parcels=[ + easyship.ParcelType( + box=easyship.BoxType( + height=package.height.value, + length=package.length.value, + width=package.width.value, + slug=package.options.easyship_box_slug.state, + ), + items=[ + easyship.ItemType( + contains_battery_pi966=item.metadata.get( + "contains_battery_pi966" + ), + contains_battery_pi967=item.metadata.get( + "contains_battery_pi967" + ), + contains_liquids=item.metadata.get("contains_liquids"), + declared_currency=lib.identity( + item.value_currency or options.currency.state or "USD" + ), + dimensions=None, + origin_country_alpha2=item.origin_country, + quantity=item.quantity, + actual_weight=item.weight, + category=item.category, + declared_customs_value=item.value_amount, + description=item.description or item.title or "N/A", + sku=item.sku or "N/A", + hs_code=item.hs_code or "N/A", + ) + for item in lib.identity( + package.items + if any(package.items) + else [ + models.Commodity( + title=lib.text(package.description, max=35), + description=package.description, + quantity=1, + hs_code="N/A", + value_amount=1.0, + value_currency=options.currency.state or "USD", + category="bags_luggages", + ) + ] + ) + ], + total_actual_weight=package.weight.value, + ) + for package in packages + ], + shipping_settings=easyship.ShippingSettingsType( + output_currency=options.currency.state, + units=easyship.UnitsType( + dimensions=provider_units.DimensionUnit.map(dimension_unit.name).value, + weight=provider_units.WeightUnit.map(weight_unit.name).value, + ), + ), + ) + + return lib.Serializable(request, lib.to_dict) diff --git a/modules/connectors/easyship/karrio/providers/easyship/shipment/__init__.py b/modules/connectors/easyship/karrio/providers/easyship/shipment/__init__.py new file mode 100644 index 0000000000..776ed2dc39 --- /dev/null +++ b/modules/connectors/easyship/karrio/providers/easyship/shipment/__init__.py @@ -0,0 +1,9 @@ + +from karrio.providers.easyship.shipment.create import ( + parse_shipment_response, + shipment_request, +) +from karrio.providers.easyship.shipment.cancel import ( + parse_shipment_cancel_response, + shipment_cancel_request, +) diff --git a/modules/connectors/easyship/karrio/providers/easyship/shipment/cancel.py b/modules/connectors/easyship/karrio/providers/easyship/shipment/cancel.py new file mode 100644 index 0000000000..8c18ccd4c5 --- /dev/null +++ b/modules/connectors/easyship/karrio/providers/easyship/shipment/cancel.py @@ -0,0 +1,39 @@ +import typing +import karrio.lib as lib +import karrio.core.models as models +import karrio.providers.easyship.error as error +import karrio.providers.easyship.utils as provider_utils +import karrio.providers.easyship.units as provider_units + + +def parse_shipment_cancel_response( + _response: lib.Deserializable[dict], + settings: provider_utils.Settings, +) -> typing.Tuple[models.ConfirmationDetails, typing.List[models.Message]]: + response = _response.deserialize() + messages = error.parse_error_response(response, settings) + success = response.get("success") is not None + + confirmation = ( + models.ConfirmationDetails( + carrier_id=settings.carrier_id, + carrier_name=settings.carrier_name, + operation="Cancel Shipment", + success=success, + ) + if success + else None + ) + + return confirmation, messages + + +def shipment_cancel_request( + payload: models.ShipmentCancelRequest, + settings: provider_utils.Settings, +) -> lib.Serializable: + + # map data to convert karrio model to easyship specific type + request = dict(easyship_shipment_id=payload.shipment_identifier) + + return lib.Serializable(request, lib.to_dict) diff --git a/modules/connectors/easyship/karrio/providers/easyship/shipment/create.py b/modules/connectors/easyship/karrio/providers/easyship/shipment/create.py new file mode 100644 index 0000000000..32dc5277d4 --- /dev/null +++ b/modules/connectors/easyship/karrio/providers/easyship/shipment/create.py @@ -0,0 +1,302 @@ +"""Karrio Easyship shipment API implementation.""" + +import karrio.schemas.easyship.shipment_request as easyship +import karrio.schemas.easyship.shipment_response as shipping + +import typing +import karrio.lib as lib +import karrio.core.units as units +import karrio.core.models as models +import karrio.providers.easyship.error as error +import karrio.providers.easyship.utils as provider_utils +import karrio.providers.easyship.units as provider_units + + +def parse_shipment_response( + _response: lib.Deserializable[dict], + settings: provider_utils.Settings, +) -> typing.Tuple[typing.List[models.RateDetails], typing.List[models.Message]]: + response = _response.deserialize() + + messages = error.parse_error_response(response, settings) + shipment = lib.identity( + _extract_details(response, settings, ctx=_response.ctx) + if response.get("shipment") + and any(response["shipment"]["shipping_documents"] or []) + else None + ) + + return shipment, messages + + +def _extract_details( + data: dict, + settings: provider_utils.Settings, + ctx: dict, +) -> models.ShipmentDetails: + details = lib.to_object(shipping.ShipmentType, data["shipment"]) + label_document = next( + (_ for _ in details.shipping_documents if _.category == "label"), None + ) + label_type = (label_document.format or ctx.get("label_type") or "PDF").upper() + label = lib.bundle_base64(label_document.base64_encoded_strings, label_type) + tracking_numbers = [tracking.tracking_number for tracking in details.trackings] + tracking_number, *__ = tracking_numbers + + return models.ShipmentDetails( + carrier_id=settings.carrier_id, + carrier_name=settings.carrier_name, + tracking_number=tracking_number, + shipment_identifier=details.easyship_shipment_id, + label_type=label_type, + docs=models.Documents(label=label), + meta=dict( + tracking_numbers=tracking_numbers, + rate_provider=ctx["rate_provider"], + easyship_courier_id=ctx["courier_id"], + easyship_shipment_id=details.easyship_shipment_id, + easyship_courier_account_id=details.courier.id, + ), + ) + + +def shipment_request( + payload: models.ShipmentRequest, + settings: provider_utils.Settings, +) -> lib.Serializable: + shipper = lib.to_address(payload.shipper) + recipient = lib.to_address(payload.recipient) + return_address = lib.to_address(payload.return_address or payload.shipper) + packages = lib.to_packages(payload.parcels, options=payload.options) + weight_unit, dimension_unit = packages.compatible_units + options = lib.to_shipping_options( + payload.options, + package_options=packages.options, + initializer=provider_units.shipping_options_initializer, + ) + service = lib.identity( + options.easyship_courier_id.state + or provider_units.ShippingServiceID.map(payload.service).name_or_key + ) + courier = provider_units.ShippingCourierID.find(service) + customs = lib.to_customs_info( + payload.customs, + shipper=payload.shipper, + recipient=payload.recipient, + weight_unit=weight_unit.name, + ) + incoterms = lib.identity( + options.easyship_incoterms.state or customs.options.incoterm.state or "DDU" + ) + label_type = provider_units.LabelFormat.map(payload.label_type) + + # map data to convert karrio model to easyship specific type + request = easyship.ShipmentRequestType( + buyer_regulatory_identifiers=lib.identity( + easyship.BuyerRegulatoryIdentifiersType( + ein=customs.duty_billing_address.tax_id, + vat_number=customs.options.vat_registration_number.state, + ) + if any( + [ + customs.options.vat_registration_number.state, + customs.duty_billing_address.tax_id, + ] + ) + else None + ), + courier_selection=easyship.CourierSelectionType( + allow_courier_fallback=lib.identity( + options.easyship_allow_courier_fallback.state + if options.easyship_allow_courier_fallback.state is not None + else settings.connection_config.allow_courier_fallback.state + ), + apply_shipping_rules=lib.identity( + options.easyship_apply_shipping_rules.state + if options.easyship_apply_shipping_rules.state is not None + else settings.connection_config.apply_shipping_rules.state + ), + list_unavailable_couriers=lib.identity( + options.easyship_list_unavailable_couriers.state + if options.easyship_list_unavailable_couriers.state is not None + else False + ), + selected_courier_id=service, + ), + destination_address=easyship.AddressType( + city=recipient.city, + company_name=recipient.company_name or "N/A", + contact_email=lib.identity( + recipient.email + or options.email_notification_to.state + or "user@mail.com" + ), + contact_name=recipient.person_name, + contact_phone=recipient.phone_number or "N/A", + country_alpha2=recipient.country_code, + line_1=recipient.address_line1, + line_2=recipient.address_line2, + postal_code=recipient.postal_code, + state=recipient.state_code, + ), + consignee_tax_id=recipient.tax_id, + eei_reference=options.easyship_eei_reference.state, + incoterms=incoterms, + metadata=payload.metadata, + insurance=easyship.InsuranceType( + is_insured=options.insurance.state is not None + ), + order_data=None, + origin_address=easyship.AddressType( + city=return_address.city, + company_name=return_address.company_name or "N/A", + contact_email=lib.identity( + return_address.email + or options.email_notification_to.state + or "user@mail.com" + ), + contact_name=return_address.person_name, + contact_phone=return_address.phone_number or "N/A", + country_alpha2=return_address.country_code, + line_1=return_address.address_line1, + line_2=return_address.address_line2, + postal_code=return_address.postal_code, + state=return_address.state_code, + ), + regulatory_identifiers=lib.identity( + easyship.RegulatoryIdentifiersType( + eori=customs.options.eori.state, + ioss=customs.options.ioss.state, + vat_number=customs.options.vat_registration_number.state, + ) + if any( + [ + customs.options.eori.state, + customs.options.vat_registration_number.state, + customs.duty_billing_address.tax_id, + ] + ) + else None + ), + shipment_request_return=options.is_return.state, + return_address=easyship.AddressType( + city=return_address.city, + company_name=return_address.company_name or "N/A", + contact_email=lib.identity( + return_address.email + or options.email_notification_to.state + or "user@mail.com" + ), + contact_name=return_address.person_name, + contact_phone=return_address.phone_number or "N/A", + country_alpha2=return_address.country_code, + line_1=return_address.address_line1, + line_2=return_address.address_line2, + postal_code=return_address.postal_code, + state=return_address.state_code, + ), + return_address_id=options.easyship_return_address_id.state, + sender_address=easyship.AddressType( + city=shipper.city, + company_name=shipper.company_name or "N/A", + contact_email=lib.identity( + shipper.email or options.email_notification_to.state or "user@mail.com" + ), + contact_name=shipper.person_name, + contact_phone=shipper.phone_number or "N/A", + country_alpha2=shipper.country_code, + line_1=shipper.address_line1, + line_2=shipper.address_line2, + postal_code=shipper.postal_code, + state=shipper.state_code, + ), + sender_address_id=options.easyship_sender_address_id.state, + set_as_residential=recipient.residential, + shipping_settings=easyship.ShippingSettingsType( + additional_services=lib.identity( + easyship.AdditionalServicesType( + delivery_confirmation=None, + qr_code=None, + ) + if any( + [ + options.easyship_delivery_confirmation.state, + options.easyship_qr_code.state, + ] + ) + else None + ), + b13_a_filing=None, + buy_label=True, + buy_label_synchronous=True, + printing_options=easyship.PrintingOptionsType( + commercial_invoice="A4", + format=label_type.value or "pdf", + label="4x6", + packing_slip=None, + remarks=payload.reference, + ), + units=easyship.UnitsType( + dimensions=provider_units.DimensionUnit.map(dimension_unit.name).value, + weight=provider_units.WeightUnit.map(weight_unit.name).value, + ), + ), + parcels=[ + easyship.ParcelType( + box=easyship.BoxType( + height=package.height.value, + length=package.length.value, + width=package.width.value, + slug=package.parcel.options.get("easyship_box_slug"), + ), + items=[ + easyship.ItemType( + dimensions=None, + declared_currency=lib.identity( + item.value_currency or options.currency.state or "USD" + ), + origin_country_alpha2=item.origin_country, + quantity=item.quantity, + actual_weight=item.weight, + category=item.category or "bags_luggages", + declared_customs_value=item.value_amount, + description=item.description or item.title or "Item", + sku=item.sku, + hs_code=item.hs_code or "N/A", + contains_liquids=item.metadata.get("contains_liquids"), + contains_battery_pi966=item.metadata.get( + "contains_battery_pi966" + ), + contains_battery_pi967=item.metadata.get( + "contains_battery_pi967" + ), + ) + for item in lib.identity( + (package.items if any(package.items) else customs.commodities) + if any(package.items) or any(payload.customs or "") + else [ + models.Commodity( + title=lib.text(package.description, max=35), + quantity=1, + value_amount=1.0, + ) + ] + ) + ], + total_actual_weight=package.weight.value, + ) + for package in packages + ], + ) + + return lib.Serializable( + request, + lambda _: lib.to_dict( + lib.to_json(_).replace("shipment_request_return", "return") + ), + ctx=dict( + courier_id=service, + rate_provider=courier.name, + label_type=label_type.name or "PDF", + ), + ) diff --git a/modules/connectors/easyship/karrio/providers/easyship/tracking.py b/modules/connectors/easyship/karrio/providers/easyship/tracking.py new file mode 100644 index 0000000000..90c0f1c17b --- /dev/null +++ b/modules/connectors/easyship/karrio/providers/easyship/tracking.py @@ -0,0 +1,89 @@ +"""Karrio Easyship tracking API implementation.""" + +# import karrio.schemas.easyship.tracking_request as easyship +# import karrio.schemas.easyship.tracking_response as tracking +import karrio.schemas.easyship.shipment_response as shipping + +import typing +import karrio.lib as lib +import karrio.core.units as units +import karrio.core.models as models +import karrio.providers.easyship.error as error +import karrio.providers.easyship.utils as provider_utils +import karrio.providers.easyship.units as provider_units + + +def parse_tracking_response( + _response: lib.Deserializable[typing.List[typing.Tuple[str, dict]]], + settings: provider_utils.Settings, +) -> typing.Tuple[typing.List[models.TrackingDetails], typing.List[models.Message]]: + responses = _response.deserialize() + + messages: typing.List[models.Message] = sum( + [ + error.parse_error_response(response, settings, shipment_id=_) + for _, response in responses + ], + start=[], + ) + tracking_details = [ + _extract_details(details, settings) + for _, details in responses + if details.get("shipment") is not None and any(details["shipment"]["trackings"]) + ] + + return tracking_details, messages + + +def _extract_details( + data: dict, + settings: provider_utils.Settings, +) -> models.TrackingDetails: + details = lib.to_object(shipping.ShipmentType, data["shipment"]) + master = details.trackings[0] + status = next( + ( + status.name + for status in list(provider_units.TrackingStatus) + if getattr(master, "tracking_state", None) in status.value + ), + provider_units.TrackingStatus.in_transit.name, + ) + + return models.TrackingDetails( + carrier_id=settings.carrier_id, + carrier_name=settings.carrier_name, + tracking_number=master.tracking_number, + delivered=status == "delivered", + status=status, + events=[ + models.TrackingEvent( + code=str(master.leg_number), + date=lib.ftime(details.updated_at, "%Y-%m-%dT%H:%M:%SZ"), + time=lib.ftime(details.updated_at, "%Y-%m-%dT%H:%M:%SZ"), + description="", + ) + ], + ) + + +def tracking_request( + payload: models.TrackingRequest, + settings: provider_utils.Settings, +) -> lib.Serializable: + shipment_ids = list( + set( + [ + payload.options.get("easyship_shipment_id"), + *(payload.options.get("shipment_ids") or []), + ] + ) + ) + + if len(shipment_ids) == 0: + raise Exception(f"easyship_shipment_id is required for tracking request") + + # map data to convert karrio model to easyship specific type + request = shipment_ids + + return lib.Serializable(request, lib.to_dict) diff --git a/modules/connectors/easyship/karrio/providers/easyship/units.py b/modules/connectors/easyship/karrio/providers/easyship/units.py new file mode 100644 index 0000000000..aa2241caea --- /dev/null +++ b/modules/connectors/easyship/karrio/providers/easyship/units.py @@ -0,0 +1,162 @@ +import typing +import pathlib +import karrio.lib as lib +import karrio.core.units as units + +METADATA_JSON = lib.load_json(pathlib.Path(__file__).resolve().parent / "metadata.json") +EASYSHIP_CARRIER_METADATA = [_ for sublist in METADATA_JSON for _ in sublist] +KARRIO_CARRIER_MAPPING = { + "canada_post": "canadapost", + "dhl": "dhl_express", +} + + +class LabelFormat(lib.StrEnum): + """Carrier specific label format""" + + pdf = "pdf" + png = "png" + zpl = "zpl" + url = "url" + + PDF = pdf + PNG = png + ZPL = zpl + + +class Incoterms(lib.StrEnum): + """Carrier specific incoterms""" + + DDU = "DDU" + DDP = "DDP" + + +class DimensionUnit(lib.StrEnum): + """Carrier specific dimension unit""" + + CM = "cm" + IN = "in" + + +class WeightUnit(lib.StrEnum): + """Carrier specific weight unit""" + + LB = "lb" + KG = "kg" + + +class PackagingType(lib.StrEnum): + """Carrier specific packaging type""" + + PACKAGE = "PACKAGE" + + """ Unified Packaging type mapping """ + envelope = PACKAGE + pak = PACKAGE + tube = PACKAGE + pallet = PACKAGE + small_box = PACKAGE + medium_box = PACKAGE + your_packaging = PACKAGE + + +class ShippingOption(lib.Enum): + """Carrier specific options""" + + # fmt: off + easyship_box_slug = lib.OptionEnum("box_slug") + easyship_courier_id = lib.OptionEnum("courier_id") + easyship_eei_reference = lib.OptionEnum("eei_reference") + easyship_incoterms = lib.OptionEnum("incoterms", Incoterms) + easyship_apply_shipping_rules = lib.OptionEnum("apply_shipping_rules", bool) + easyship_show_courier_logo_url = lib.OptionEnum("show_courier_logo_url", bool) + easyship_allow_courier_fallback = lib.OptionEnum("allow_courier_fallback", bool) + easyship_list_unavailable_couriers = lib.OptionEnum("list_unavailable_couriers", bool) + easyship_buyer_notes = lib.OptionEnum("buyer_notes") + easyship_seller_notes = lib.OptionEnum("seller_notes") + easyship_sender_address_id = lib.OptionEnum("sender_address_id") + easyship_return_address_id = lib.OptionEnum("return_address_id") + # fmt: on + + +def shipping_options_initializer( + options: dict, + package_options: units.ShippingOptions = None, +) -> units.ShippingOptions: + """ + Apply default values to the given options. + """ + + if package_options is not None: + options.update(package_options.content) + + def items_filter(key: str) -> bool: + return key in ShippingOption # type: ignore + + return units.ShippingOptions(options, ShippingOption, items_filter=items_filter) + + +class TrackingStatus(lib.Enum): + on_hold = ["on_hold"] + delivered = ["delivered"] + in_transit = ["in_transit"] + delivery_failed = ["delivery_failed"] + delivery_delayed = ["delivery_delayed"] + out_for_delivery = ["out_for_delivery"] + ready_for_pickup = ["ready_for_pickup"] + + +def to_service_code(service: typing.Dict[str, str]) -> str: + return lib.to_slug( + f'easyship_{to_carrier_code(service)}_{lib.to_snake_case(service["service_name"])}' + ) + + +def to_carrier_code(service: typing.Dict[str, str]) -> str: + code = lib.to_slug(service["umbrella_name"]) + return KARRIO_CARRIER_MAPPING.get(code, code) + + +def find_courier(search: str): + courier: dict = next( + ( + item + for item in EASYSHIP_CARRIER_METADATA + if item["name"] == search + or item["id"] == search + or item["umbrella_name"] == search + or to_service_code(item) == search + or to_carrier_code(item) == search + ), + {}, + ) + if courier: + return ShippingCourierID.map(to_carrier_code(courier)) + + return ShippingCourierID.map(search) + + +ShippingService = lib.StrEnum( + "ShippingService", + { + to_service_code(service): service["service_name"] + for service in EASYSHIP_CARRIER_METADATA + }, +) + +ShippingServiceID = lib.StrEnum( + "ShippingServiceID", + {service["id"]: to_service_code(service) for service in EASYSHIP_CARRIER_METADATA}, +) + +ShippingCourierID = lib.StrEnum( + "ShippingCourierID", + { + to_carrier_code(courier): courier["name"] + for courier in { + _["umbrella_name"]: _ for _ in EASYSHIP_CARRIER_METADATA + }.values() + }, +) + +setattr(ShippingCourierID, "find", find_courier) diff --git a/modules/connectors/easyship/karrio/providers/easyship/utils.py b/modules/connectors/easyship/karrio/providers/easyship/utils.py new file mode 100644 index 0000000000..7adfda079a --- /dev/null +++ b/modules/connectors/easyship/karrio/providers/easyship/utils.py @@ -0,0 +1,98 @@ +import base64 +import datetime +import karrio.lib as lib +import karrio.core as core +import karrio.core.errors as errors + + +class Settings(core.Settings): + """Easyship connection settings.""" + + # Add carrier specific api connection properties here + access_token: str + + @property + def carrier_name(self): + return "easyship" + + @property + def server_url(self): + return "https://api.easyship.com" + + # """uncomment the following code block to expose a carrier tracking url.""" + # @property + # def tracking_url(self): + # return "https://www.carrier.com/tracking?tracking-id={}" + + # """uncomment the following code block to implement the Basic auth.""" + # @property + # def authorization(self): + # pair = "%s:%s" % (self.username, self.password) + # return base64.b64encode(pair.encode("utf-8")).decode("ascii") + + @property + def connection_config(self) -> lib.units.Options: + return lib.to_connection_config( + self.config or {}, + option_type=ConnectionConfig, + ) + + +# """uncomment the following code block to implement the oauth login.""" +# @property +# def access_token(self): +# """Retrieve the access_token using the client_id|client_secret pair +# or collect it from the cache if an unexpired access_token exist. +# """ +# cache_key = f"{self.carrier_name}|{self.client_id}|{self.client_secret}" +# now = datetime.datetime.now() + datetime.timedelta(minutes=30) + +# auth = self.connection_cache.get(cache_key) or {} +# token = auth.get("access_token") +# expiry = lib.to_date(auth.get("expiry"), current_format="%Y-%m-%d %H:%M:%S") + +# if token is not None and expiry is not None and expiry > now: +# return token + +# self.connection_cache.set(cache_key, lambda: login(self)) +# new_auth = self.connection_cache.get(cache_key) + +# return new_auth["access_token"] + +# """uncomment the following code block to implement the oauth login.""" +# def login(settings: Settings): +# import karrio.providers.easyship.error as error + +# result = lib.request( +# url=f"{settings.server_url}/oauth/token", +# method="POST", +# headers={"content-Type": "application/x-www-form-urlencoded"}, +# data=lib.to_query_string( +# dict( +# grant_type="client_credentials", +# client_id=settings.client_id, +# client_secret=settings.client_secret, +# ) +# ), +# ) + +# response = lib.to_dict(result) +# messages = error.parse_error_response(response, settings) + +# if any(messages): +# raise errors.ShippingSDKError(messages) + +# expiry = datetime.datetime.now() + datetime.timedelta( +# seconds=float(response.get("expires_in", 0)) +# ) +# return {**response, "expiry": lib.fdatetime(expiry)} + + +class ConnectionConfig(lib.Enum): + """Carrier specific connection configs""" + + platform_name = lib.OptionEnum("platform_name") + apply_shipping_rules = lib.OptionEnum("apply_shipping_rules", bool) + allow_courier_fallback = lib.OptionEnum("allow_courier_fallback", bool) + shipping_options = lib.OptionEnum("shipping_options", list) + shipping_services = lib.OptionEnum("shipping_services", list) diff --git a/modules/connectors/easyship/karrio/schemas/easyship/__init__.py b/modules/connectors/easyship/karrio/schemas/easyship/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/modules/connectors/easyship/karrio/schemas/easyship/error_response.py b/modules/connectors/easyship/karrio/schemas/easyship/error_response.py new file mode 100644 index 0000000000..7f12e5a40b --- /dev/null +++ b/modules/connectors/easyship/karrio/schemas/easyship/error_response.py @@ -0,0 +1,17 @@ +from attr import s +from typing import Optional, List +from jstruct import JStruct + + +@s(auto_attribs=True) +class ErrorType: + code: Optional[str] = None + details: List[str] = [] + message: Optional[str] = None + request_id: Optional[str] = None + type: Optional[str] = None + + +@s(auto_attribs=True) +class ErrorResponseType: + error: Optional[ErrorType] = JStruct[ErrorType] diff --git a/modules/connectors/easyship/karrio/schemas/easyship/manifest_request.py b/modules/connectors/easyship/karrio/schemas/easyship/manifest_request.py new file mode 100644 index 0000000000..a548f96820 --- /dev/null +++ b/modules/connectors/easyship/karrio/schemas/easyship/manifest_request.py @@ -0,0 +1,8 @@ +from attr import s +from typing import Optional, List + + +@s(auto_attribs=True) +class ManifestRequestType: + courier_account_id: Optional[str] = None + shipment_ids: List[str] = [] diff --git a/modules/connectors/easyship/karrio/schemas/easyship/manifest_response.py b/modules/connectors/easyship/karrio/schemas/easyship/manifest_response.py new file mode 100644 index 0000000000..1ee1f190f3 --- /dev/null +++ b/modules/connectors/easyship/karrio/schemas/easyship/manifest_response.py @@ -0,0 +1,31 @@ +from attr import s +from typing import Optional +from jstruct import JStruct + + +@s(auto_attribs=True) +class DocumentType: + format: Optional[str] = None + url: Optional[str] = None + + +@s(auto_attribs=True) +class ManifestType: + courier_account_id: Optional[str] = None + courier_umbrella_name: Optional[str] = None + created_at: Optional[str] = None + document: Optional[DocumentType] = JStruct[DocumentType] + id: Optional[str] = None + ref_number: Optional[str] = None + shipments_count: Optional[int] = None + + +@s(auto_attribs=True) +class MetaType: + request_id: Optional[str] = None + + +@s(auto_attribs=True) +class ManifestResponseType: + manifest: Optional[ManifestType] = JStruct[ManifestType] + meta: Optional[MetaType] = JStruct[MetaType] diff --git a/modules/connectors/easyship/karrio/schemas/easyship/pickup_cancel_response.py b/modules/connectors/easyship/karrio/schemas/easyship/pickup_cancel_response.py new file mode 100644 index 0000000000..75d4e59fc1 --- /dev/null +++ b/modules/connectors/easyship/karrio/schemas/easyship/pickup_cancel_response.py @@ -0,0 +1,19 @@ +from attr import s +from typing import Optional +from jstruct import JStruct + + +@s(auto_attribs=True) +class MetaType: + request_id: Optional[str] = None + + +@s(auto_attribs=True) +class SuccessType: + message: Optional[str] = None + + +@s(auto_attribs=True) +class PickupCancelResponseType: + meta: Optional[MetaType] = JStruct[MetaType] + success: Optional[SuccessType] = JStruct[SuccessType] diff --git a/modules/connectors/easyship/karrio/schemas/easyship/pickup_request.py b/modules/connectors/easyship/karrio/schemas/easyship/pickup_request.py new file mode 100644 index 0000000000..698f406fbf --- /dev/null +++ b/modules/connectors/easyship/karrio/schemas/easyship/pickup_request.py @@ -0,0 +1,12 @@ +from attr import s +from typing import Optional, List + + +@s(auto_attribs=True) +class PickupRequestType: + courier_id: Optional[str] = None + easyship_shipment_ids: List[str] = [] + selected_date: Optional[str] = None + selected_from_time: Optional[str] = None + selected_to_time: Optional[str] = None + time_slot_id: Optional[str] = None diff --git a/modules/connectors/easyship/karrio/schemas/easyship/pickup_response.py b/modules/connectors/easyship/karrio/schemas/easyship/pickup_response.py new file mode 100644 index 0000000000..3cb4880124 --- /dev/null +++ b/modules/connectors/easyship/karrio/schemas/easyship/pickup_response.py @@ -0,0 +1,85 @@ +from attr import s +from typing import Optional, List +from jstruct import JStruct + + +@s(auto_attribs=True) +class MetaType: + available_balance: Optional[int] = None + easyship_shipment_ids: List[str] = [] + request_id: Optional[str] = None + + +@s(auto_attribs=True) +class DefaultForType: + billing: Optional[bool] = None + pickup: Optional[bool] = None + default_for_return: Optional[bool] = None + sender: Optional[bool] = None + + +@s(auto_attribs=True) +class HkDistrictType: + area: Optional[str] = None + district: Optional[str] = None + id: Optional[int] = None + zone: Optional[str] = None + + +@s(auto_attribs=True) +class ComparisonType: + changes: Optional[str] = None + post: Optional[str] = None + pre: Optional[str] = None + + +@s(auto_attribs=True) +class ValidationType: + detail: Optional[str] = None + status: Optional[str] = None + comparison: Optional[ComparisonType] = JStruct[ComparisonType] + + +@s(auto_attribs=True) +class AddressType: + city: Optional[str] = None + company_name: Optional[str] = None + contact_email: Optional[str] = None + contact_name: Optional[str] = None + contact_phone: Optional[str] = None + country_alpha2: Optional[str] = None + default_for: Optional[DefaultForType] = JStruct[DefaultForType] + hk_district: Optional[HkDistrictType] = JStruct[HkDistrictType] + id: Optional[str] = None + line_1: Optional[str] = None + line_2: Optional[str] = None + postal_code: Optional[str] = None + state: Optional[str] = None + validation: Optional[ValidationType] = JStruct[ValidationType] + + +@s(auto_attribs=True) +class CourierType: + id: Optional[str] = None + name: Optional[str] = None + + +@s(auto_attribs=True) +class PickupType: + address: Optional[AddressType] = JStruct[AddressType] + courier: Optional[CourierType] = JStruct[CourierType] + easyship_pickup_id: Optional[str] = None + pickup_fee: Optional[int] = None + pickup_reference_number: Optional[str] = None + pickup_state: Optional[str] = None + provider_name: Optional[str] = None + selected_from_time: Optional[str] = None + selected_to_time: Optional[str] = None + shipments_count: Optional[int] = None + total_actual_weight: Optional[float] = None + + +@s(auto_attribs=True) +class PickupResponseType: + meta: Optional[MetaType] = JStruct[MetaType] + pickup: Optional[PickupType] = JStruct[PickupType] diff --git a/modules/connectors/easyship/karrio/schemas/easyship/rate_request.py b/modules/connectors/easyship/karrio/schemas/easyship/rate_request.py new file mode 100644 index 0000000000..79127f84f9 --- /dev/null +++ b/modules/connectors/easyship/karrio/schemas/easyship/rate_request.py @@ -0,0 +1,100 @@ +from attr import s +from typing import Optional, List +from jstruct import JStruct, JList + + +@s(auto_attribs=True) +class CourierSelectionType: + apply_shipping_rules: Optional[bool] = None + show_courier_logo_url: Optional[bool] = None + + +@s(auto_attribs=True) +class ComparisonType: + changes: Optional[str] = None + post: Optional[str] = None + pre: Optional[str] = None + + +@s(auto_attribs=True) +class ValidationType: + detail: Optional[str] = None + status: Optional[str] = None + comparison: Optional[ComparisonType] = JStruct[ComparisonType] + + +@s(auto_attribs=True) +class NAddressType: + country_alpha2: Optional[str] = None + city: Optional[str] = None + company_name: Optional[str] = None + contact_email: Optional[str] = None + contact_name: Optional[str] = None + contact_phone: Optional[str] = None + line_1: Optional[str] = None + line_2: Optional[str] = None + postal_code: Optional[str] = None + state: Optional[str] = None + validation: Optional[ValidationType] = JStruct[ValidationType] + + +@s(auto_attribs=True) +class InsuranceType: + insured_amount: Optional[float] = None + insured_currency: Optional[str] = None + is_insured: Optional[bool] = None + + +@s(auto_attribs=True) +class BoxType: + height: Optional[int] = None + length: Optional[int] = None + width: Optional[int] = None + slug: Optional[str] = None + + +@s(auto_attribs=True) +class ItemType: + contains_battery_pi966: Optional[bool] = None + contains_battery_pi967: Optional[bool] = None + contains_liquids: Optional[bool] = None + declared_currency: Optional[str] = None + dimensions: Optional[BoxType] = JStruct[BoxType] + origin_country_alpha2: Optional[str] = None + quantity: Optional[int] = None + actual_weight: Optional[int] = None + category: Optional[str] = None + declared_customs_value: Optional[int] = None + description: Optional[str] = None + sku: Optional[str] = None + hs_code: Optional[str] = None + + +@s(auto_attribs=True) +class ParcelType: + box: Optional[BoxType] = JStruct[BoxType] + items: List[ItemType] = JList[ItemType] + total_actual_weight: Optional[int] = None + + +@s(auto_attribs=True) +class UnitsType: + dimensions: Optional[str] = None + weight: Optional[str] = None + + +@s(auto_attribs=True) +class ShippingSettingsType: + output_currency: Optional[str] = None + units: Optional[UnitsType] = JStruct[UnitsType] + + +@s(auto_attribs=True) +class RateRequestType: + courier_selection: Optional[CourierSelectionType] = JStruct[CourierSelectionType] + destination_address: Optional[NAddressType] = JStruct[NAddressType] + incoterms: Optional[str] = None + insurance: Optional[InsuranceType] = JStruct[InsuranceType] + origin_address: Optional[NAddressType] = JStruct[NAddressType] + parcels: List[ParcelType] = JList[ParcelType] + shipping_settings: Optional[ShippingSettingsType] = JStruct[ShippingSettingsType] diff --git a/modules/connectors/easyship/karrio/schemas/easyship/rate_response.py b/modules/connectors/easyship/karrio/schemas/easyship/rate_response.py new file mode 100644 index 0000000000..0dedc0bee1 --- /dev/null +++ b/modules/connectors/easyship/karrio/schemas/easyship/rate_response.py @@ -0,0 +1,124 @@ +from attr import s +from typing import Optional, List, Any +from jstruct import JStruct, JList + + +@s(auto_attribs=True) +class PaginationType: + count: Optional[int] = None + next: Optional[str] = None + page: Optional[int] = None + + +@s(auto_attribs=True) +class MetaType: + pagination: Optional[PaginationType] = JStruct[PaginationType] + request_id: Optional[str] = None + + +@s(auto_attribs=True) +class DiscountType: + amount: Optional[int] = None + origin_amount: Optional[int] = None + + +@s(auto_attribs=True) +class DetailType: + fee: Optional[int] = None + name: Optional[str] = None + origin_fee: Optional[int] = None + + +@s(auto_attribs=True) +class OtherSurchargesType: + details: List[DetailType] = JList[DetailType] + total_fee: Optional[int] = None + + +@s(auto_attribs=True) +class RatesInOriginCurrencyType: + additional_services_surcharge: Optional[int] = None + currency: Optional[str] = None + ddp_handling_fee: Optional[int] = None + estimated_import_duty: Optional[int] = None + estimated_import_tax: Optional[float] = None + fuel_surcharge: Optional[int] = None + import_duty_charge: Optional[int] = None + import_tax_charge: Optional[int] = None + import_tax_non_chargeable: Optional[int] = None + insurance_fee: Optional[int] = None + minimum_pickup_fee: Optional[int] = None + oversized_surcharge: Optional[int] = None + provincial_sales_tax: Optional[int] = None + remote_area_surcharge: Optional[int] = None + residential_discounted_fee: Optional[int] = None + residential_full_fee: Optional[int] = None + sales_tax: Optional[int] = None + shipment_charge: Optional[int] = None + shipment_charge_total: Optional[int] = None + total_charge: Optional[int] = None + warehouse_handling_fee: Optional[int] = None + + +@s(auto_attribs=True) +class DestinationType: + base: Optional[int] = None + name: Optional[str] = None + + +@s(auto_attribs=True) +class RemoteAreaSurchargesType: + destination: Optional[DestinationType] = JStruct[DestinationType] + origin: Optional[DestinationType] = JStruct[DestinationType] + + +@s(auto_attribs=True) +class RateType: + additional_services_surcharge: Optional[int] = None + available_handover_options: List[Any] = [] + cost_rank: Optional[int] = None + courier_id: Optional[str] = None + courier_logo_url: Optional[str] = None + courier_name: Optional[str] = None + courier_remarks: Optional[str] = None + currency: Optional[str] = None + ddp_handling_fee: Optional[int] = None + delivery_time_rank: Optional[int] = None + description: Optional[str] = None + discount: Optional[DiscountType] = JStruct[DiscountType] + easyship_rating: Optional[int] = None + estimated_import_duty: Optional[int] = None + estimated_import_tax: Optional[float] = None + fuel_surcharge: Optional[int] = None + full_description: Optional[str] = None + import_duty_charge: Optional[int] = None + import_tax_charge: Optional[int] = None + import_tax_non_chargeable: Optional[int] = None + incoterms: Optional[str] = None + insurance_fee: Optional[int] = None + is_above_threshold: Optional[bool] = None + max_delivery_time: Optional[int] = None + min_delivery_time: Optional[int] = None + minimum_pickup_fee: Optional[int] = None + other_surcharges: Optional[OtherSurchargesType] = JStruct[OtherSurchargesType] + oversized_surcharge: Optional[int] = None + payment_recipient: Optional[str] = None + provincial_sales_tax: Optional[int] = None + rates_in_origin_currency: Optional[RatesInOriginCurrencyType] = JStruct[RatesInOriginCurrencyType] + remote_area_surcharge: Optional[int] = None + remote_area_surcharges: Optional[RemoteAreaSurchargesType] = JStruct[RemoteAreaSurchargesType] + residential_discounted_fee: Optional[int] = None + residential_full_fee: Optional[int] = None + sales_tax: Optional[int] = None + shipment_charge: Optional[int] = None + shipment_charge_total: Optional[int] = None + total_charge: Optional[int] = None + tracking_rating: Optional[int] = None + value_for_money_rank: Optional[int] = None + warehouse_handling_fee: Optional[int] = None + + +@s(auto_attribs=True) +class RateResponseType: + meta: Optional[MetaType] = JStruct[MetaType] + rates: List[RateType] = JList[RateType] diff --git a/modules/connectors/easyship/karrio/schemas/easyship/shipment_cancel_response.py b/modules/connectors/easyship/karrio/schemas/easyship/shipment_cancel_response.py new file mode 100644 index 0000000000..f097127a22 --- /dev/null +++ b/modules/connectors/easyship/karrio/schemas/easyship/shipment_cancel_response.py @@ -0,0 +1,19 @@ +from attr import s +from typing import Optional +from jstruct import JStruct + + +@s(auto_attribs=True) +class MetaType: + request_id: Optional[str] = None + + +@s(auto_attribs=True) +class SuccessType: + message: Optional[str] = None + + +@s(auto_attribs=True) +class ShipmentCancelResponseType: + meta: Optional[MetaType] = JStruct[MetaType] + success: Optional[SuccessType] = JStruct[SuccessType] diff --git a/modules/connectors/easyship/karrio/schemas/easyship/shipment_request.py b/modules/connectors/easyship/karrio/schemas/easyship/shipment_request.py new file mode 100644 index 0000000000..5e8a5816f1 --- /dev/null +++ b/modules/connectors/easyship/karrio/schemas/easyship/shipment_request.py @@ -0,0 +1,147 @@ +from attr import s +from typing import Optional, List, Any +from jstruct import JStruct, JList + + +@s(auto_attribs=True) +class BuyerRegulatoryIdentifiersType: + ein: Optional[str] = None + vat_number: Optional[str] = None + + +@s(auto_attribs=True) +class CourierSelectionType: + allow_courier_fallback: Optional[bool] = None + apply_shipping_rules: Optional[bool] = None + list_unavailable_couriers: Optional[bool] = None + selected_courier_id: Optional[str] = None + + +@s(auto_attribs=True) +class AddressType: + city: Optional[str] = None + company_name: Optional[str] = None + contact_email: Optional[str] = None + contact_name: Optional[str] = None + contact_phone: Optional[str] = None + country_alpha2: Optional[str] = None + line_1: Optional[str] = None + line_2: Optional[str] = None + postal_code: Optional[str] = None + state: Optional[str] = None + + +@s(auto_attribs=True) +class InsuranceType: + is_insured: Optional[bool] = None + + +@s(auto_attribs=True) +class OrderDataType: + buyer_notes: Optional[str] = None + buyer_selected_courier_name: Optional[str] = None + order_created_at: Optional[str] = None + platform_name: Optional[str] = None + platform_order_number: Optional[str] = None + order_tag_list: List[str] = [] + seller_notes: Optional[str] = None + + +@s(auto_attribs=True) +class BoxType: + height: Optional[int] = None + length: Optional[int] = None + width: Optional[int] = None + slug: Optional[str] = None + + +@s(auto_attribs=True) +class ItemType: + actual_weight: Optional[int] = None + category: Any = None + contains_battery_pi966: Optional[bool] = None + contains_battery_pi967: Optional[bool] = None + contains_liquids: Optional[bool] = None + declared_currency: Optional[str] = None + declared_customs_value: Optional[int] = None + description: Optional[str] = None + dimensions: Optional[BoxType] = JStruct[BoxType] + hs_code: Optional[int] = None + origin_country_alpha2: Optional[str] = None + quantity: Optional[int] = None + sku: Optional[str] = None + + +@s(auto_attribs=True) +class ParcelType: + box: Optional[BoxType] = JStruct[BoxType] + items: List[ItemType] = JList[ItemType] + total_actual_weight: Optional[int] = None + + +@s(auto_attribs=True) +class RegulatoryIdentifiersType: + eori: Optional[str] = None + ioss: Optional[str] = None + vat_number: Optional[str] = None + + +@s(auto_attribs=True) +class AdditionalServicesType: + delivery_confirmation: Optional[str] = None + qr_code: Optional[str] = None + + +@s(auto_attribs=True) +class B13AFilingType: + option: Optional[str] = None + option_export_compliance_statement: Optional[str] = None + permit_number: Optional[str] = None + + +@s(auto_attribs=True) +class PrintingOptionsType: + commercial_invoice: Optional[str] = None + format: Optional[str] = None + label: Optional[str] = None + packing_slip: Optional[str] = None + remarks: Optional[str] = None + + +@s(auto_attribs=True) +class UnitsType: + dimensions: Optional[str] = None + weight: Optional[str] = None + + +@s(auto_attribs=True) +class ShippingSettingsType: + additional_services: Optional[AdditionalServicesType] = JStruct[AdditionalServicesType] + b13_a_filing: Optional[B13AFilingType] = JStruct[B13AFilingType] + buy_label: Optional[bool] = None + buy_label_synchronous: Optional[bool] = None + printing_options: Optional[PrintingOptionsType] = JStruct[PrintingOptionsType] + units: Optional[UnitsType] = JStruct[UnitsType] + + +@s(auto_attribs=True) +class ShipmentRequestType: + buyer_regulatory_identifiers: Optional[BuyerRegulatoryIdentifiersType] = JStruct[BuyerRegulatoryIdentifiersType] + courier_selection: Optional[CourierSelectionType] = JStruct[CourierSelectionType] + destination_address: Optional[AddressType] = JStruct[AddressType] + consignee_tax_id: Optional[int] = None + eei_reference: Optional[int] = None + incoterms: Optional[str] = None + metadata: List[Any] = [] + insurance: Optional[InsuranceType] = JStruct[InsuranceType] + order_data: Optional[OrderDataType] = JStruct[OrderDataType] + origin_address: Optional[AddressType] = JStruct[AddressType] + regulatory_identifiers: Optional[RegulatoryIdentifiersType] = JStruct[RegulatoryIdentifiersType] + shipment_request_return: Optional[bool] = None + return_address: Optional[AddressType] = JStruct[AddressType] + return_address_id: Optional[str] = None + sender_address: Optional[AddressType] = JStruct[AddressType] + sender_address_id: Optional[str] = None + set_as_residential: Optional[bool] = None + shipping_settings: Optional[ShippingSettingsType] = JStruct[ShippingSettingsType] + parcels: List[ParcelType] = JList[ParcelType] diff --git a/modules/connectors/easyship/karrio/schemas/easyship/shipment_response.py b/modules/connectors/easyship/karrio/schemas/easyship/shipment_response.py new file mode 100644 index 0000000000..92020216ce --- /dev/null +++ b/modules/connectors/easyship/karrio/schemas/easyship/shipment_response.py @@ -0,0 +1,273 @@ +from attr import s +from typing import Optional, List, Any +from jstruct import JList, JStruct + + +@s(auto_attribs=True) +class UnavailableCourierType: + id: Optional[str] = None + name: Optional[str] = None + message: Optional[str] = None + + +@s(auto_attribs=True) +class MetaType: + request_id: Optional[str] = None + status: Optional[str] = None + unavailable_couriers: List[UnavailableCourierType] = JList[UnavailableCourierType] + errors: List[str] = [] + + +@s(auto_attribs=True) +class BuyerRegulatoryIdentifiersType: + ein: Optional[str] = None + vat_number: Optional[str] = None + + +@s(auto_attribs=True) +class CourierType: + id: Optional[str] = None + name: Optional[str] = None + + +@s(auto_attribs=True) +class AddressType: + city: Optional[str] = None + company_name: Optional[str] = None + contact_email: Optional[str] = None + contact_name: Optional[str] = None + contact_phone: Optional[str] = None + country_alpha2: Optional[str] = None + line_1: Optional[str] = None + line_2: Optional[str] = None + postal_code: Optional[str] = None + state: Optional[str] = None + + +@s(auto_attribs=True) +class InsuranceType: + insured_amount: Optional[int] = None + insured_currency: Optional[str] = None + is_insured: Optional[bool] = None + + +@s(auto_attribs=True) +class LastFailureHTTPResponseMessageType: + code: Optional[str] = None + message: Optional[str] = None + + +@s(auto_attribs=True) +class OrderDataType: + buyer_notes: Optional[str] = None + buyer_selected_courier_name: Optional[str] = None + order_created_at: Optional[str] = None + order_tag_list: List[str] = [] + platform_name: Optional[str] = None + platform_order_number: Optional[str] = None + seller_notes: Optional[str] = None + + +@s(auto_attribs=True) +class DimensionsType: + height: Optional[int] = None + length: Optional[int] = None + width: Optional[int] = None + + +@s(auto_attribs=True) +class BoxType: + id: Optional[str] = None + name: Optional[str] = None + outer_dimensions: Optional[DimensionsType] = JStruct[DimensionsType] + slug: Optional[str] = None + type: Optional[str] = None + weight: Optional[int] = None + + +@s(auto_attribs=True) +class ItemType: + actual_weight: Optional[int] = None + category: Optional[str] = None + contains_battery_pi966: Optional[bool] = None + contains_battery_pi967: Optional[bool] = None + contains_liquids: Optional[bool] = None + declared_currency: Optional[str] = None + declared_customs_value: Optional[int] = None + description: Optional[str] = None + dimensions: Optional[DimensionsType] = JStruct[DimensionsType] + hs_code: Optional[int] = None + id: Optional[str] = None + origin_country_alpha2: Optional[str] = None + origin_currency: Optional[str] = None + origin_customs_value: Optional[int] = None + quantity: Optional[int] = None + sku: Optional[str] = None + + +@s(auto_attribs=True) +class ParcelType: + box: Optional[BoxType] = JStruct[BoxType] + id: Optional[str] = None + items: List[ItemType] = JList[ItemType] + total_actual_weight: Optional[int] = None + + +@s(auto_attribs=True) +class DetailType: + fee: Optional[int] = None + name: Optional[str] = None + origin_fee: Optional[int] = None + + +@s(auto_attribs=True) +class OtherSurchargesType: + details: List[DetailType] = JList[DetailType] + total_fee: Optional[int] = None + + +@s(auto_attribs=True) +class RatesInOriginCurrencyType: + additional_services_surcharge: Optional[int] = None + currency: Optional[str] = None + ddp_handling_fee: Optional[str] = None + estimated_import_duty: Optional[str] = None + estimated_import_tax: Optional[str] = None + fuel_surcharge: Optional[int] = None + import_duty_charge: Optional[str] = None + import_tax_charge: Optional[str] = None + import_tax_non_chargeable: Optional[str] = None + insurance_fee: Optional[int] = None + minimum_pickup_fee: Optional[int] = None + oversized_surcharge: Optional[int] = None + provincial_sales_tax: Optional[int] = None + remote_area_surcharge: Optional[int] = None + residential_discounted_fee: Optional[int] = None + residential_full_fee: Optional[int] = None + sales_tax: Optional[int] = None + shipment_charge: Optional[int] = None + shipment_charge_total: Optional[int] = None + total_charge: Optional[int] = None + warehouse_handling_fee: Optional[int] = None + + +@s(auto_attribs=True) +class RateType: + additional_services_surcharge: Optional[int] = None + available_handover_options: List[str] = [] + cost_rank: Optional[int] = None + courier_id: Optional[str] = None + courier_logo_url: Optional[str] = None + courier_name: Optional[str] = None + courier_remarks: Optional[str] = None + currency: Optional[str] = None + ddp_handling_fee: Optional[str] = None + delivery_time_rank: Optional[int] = None + description: Optional[str] = None + discount: Optional[str] = None + easyship_rating: Optional[int] = None + estimated_import_duty: Optional[str] = None + estimated_import_tax: Optional[str] = None + fuel_surcharge: Optional[int] = None + full_description: Optional[str] = None + import_duty_charge: Optional[str] = None + import_tax_charge: Optional[str] = None + import_tax_non_chargeable: Optional[str] = None + incoterms: Optional[str] = None + insurance_fee: Optional[int] = None + is_above_threshold: Optional[bool] = None + max_delivery_time: Optional[int] = None + min_delivery_time: Optional[int] = None + minimum_pickup_fee: Optional[int] = None + other_surcharges: Optional[OtherSurchargesType] = JStruct[OtherSurchargesType] + oversized_surcharge: Optional[int] = None + payment_recipient: Optional[str] = None + provincial_sales_tax: Optional[int] = None + rates_in_origin_currency: Optional[RatesInOriginCurrencyType] = JStruct[RatesInOriginCurrencyType] + remote_area_surcharge: Optional[int] = None + remote_area_surcharges: Optional[str] = None + residential_discounted_fee: Optional[int] = None + residential_full_fee: Optional[int] = None + sales_tax: Optional[int] = None + shipment_charge: Optional[int] = None + shipment_charge_total: Optional[int] = None + total_charge: Optional[int] = None + tracking_rating: Optional[int] = None + value_for_money_rank: Optional[int] = None + warehouse_handling_fee: Optional[int] = None + + +@s(auto_attribs=True) +class RegulatoryIdentifiersType: + eori: Optional[str] = None + ioss: Optional[str] = None + vat_number: Optional[str] = None + + +@s(auto_attribs=True) +class ShippingDocumentType: + base64_encoded_strings: List[str] = [] + category: Optional[str] = None + format: Optional[str] = None + page_size: Optional[str] = None + required: Optional[bool] = None + url: Any = None + + +@s(auto_attribs=True) +class ShippingSettingsType: + b13_a_filing: Optional[str] = None + + +@s(auto_attribs=True) +class TrackingType: + alternate_tracking_number: Optional[str] = None + handler: Optional[str] = None + leg_number: Optional[int] = None + local_tracking_number: Optional[str] = None + tracking_number: Optional[str] = None + tracking_state: Optional[str] = None + + +@s(auto_attribs=True) +class ShipmentType: + buyer_regulatory_identifiers: Optional[BuyerRegulatoryIdentifiersType] = JStruct[BuyerRegulatoryIdentifiersType] + consignee_tax_id: Optional[str] = None + courier: Optional[CourierType] = JStruct[CourierType] + created_at: Optional[str] = None + currency: Optional[str] = None + delivery_state: Optional[str] = None + destination_address: Optional[AddressType] = JStruct[AddressType] + easyship_shipment_id: Optional[str] = None + eei_reference: Optional[str] = None + incoterms: Optional[str] = None + insurance: Optional[InsuranceType] = JStruct[InsuranceType] + label_generated_at: Optional[str] = None + label_paid_at: Optional[str] = None + label_state: Optional[str] = None + last_failure_http_response_messages: List[LastFailureHTTPResponseMessageType] = JList[LastFailureHTTPResponseMessageType] + metadata: List[Any] = [] + order_created_at: Optional[str] = None + order_data: Optional[OrderDataType] = JStruct[OrderDataType] + origin_address: Optional[AddressType] = JStruct[AddressType] + parcels: List[ParcelType] = JList[ParcelType] + pickup_state: Optional[str] = None + rates: List[RateType] = JList[RateType] + regulatory_identifiers: Optional[RegulatoryIdentifiersType] = JStruct[RegulatoryIdentifiersType] + shipment_return: Optional[bool] = None + return_address: Optional[AddressType] = JStruct[AddressType] + sender_address: Optional[AddressType] = JStruct[AddressType] + set_as_residential: Optional[bool] = None + shipment_state: Optional[str] = None + shipping_documents: List[ShippingDocumentType] = JList[ShippingDocumentType] + shipping_settings: Optional[ShippingSettingsType] = JStruct[ShippingSettingsType] + tracking_page_url: Optional[str] = None + trackings: List[TrackingType] = JList[TrackingType] + updated_at: Optional[str] = None + warehouse_state: Optional[str] = None + + +@s(auto_attribs=True) +class ShipmentResponseType: + meta: Optional[MetaType] = JStruct[MetaType] + shipment: Optional[ShipmentType] = JStruct[ShipmentType] diff --git a/modules/connectors/easyship/karrio/schemas/easyship/tracking_request.py b/modules/connectors/easyship/karrio/schemas/easyship/tracking_request.py new file mode 100644 index 0000000000..eece612766 --- /dev/null +++ b/modules/connectors/easyship/karrio/schemas/easyship/tracking_request.py @@ -0,0 +1,49 @@ +from attr import s +from typing import Optional, List +from jstruct import JStruct, JList + + +@s(auto_attribs=True) +class ComparisonType: + changes: Optional[str] = None + post: Optional[str] = None + pre: Optional[str] = None + + +@s(auto_attribs=True) +class ValidationType: + detail: Optional[str] = None + status: Optional[str] = None + comparison: Optional[ComparisonType] = JStruct[ComparisonType] + + +@s(auto_attribs=True) +class NAddressType: + city: Optional[str] = None + company_name: Optional[str] = None + contact_email: Optional[str] = None + contact_name: Optional[str] = None + contact_phone: Optional[str] = None + country_alpha2: Optional[str] = None + line_1: Optional[str] = None + line_2: Optional[str] = None + postal_code: Optional[str] = None + state: Optional[str] = None + validation: Optional[ValidationType] = JStruct[ValidationType] + + +@s(auto_attribs=True) +class ItemType: + description: Optional[str] = None + quantity: Optional[int] = None + + +@s(auto_attribs=True) +class TrackingRequestType: + destination_address: Optional[NAddressType] = JStruct[NAddressType] + origin_address: Optional[NAddressType] = JStruct[NAddressType] + courier_id: Optional[str] = None + origin_address_id: Optional[str] = None + platform_order_number: Optional[int] = None + items: List[ItemType] = JList[ItemType] + tracking_number: Optional[int] = None diff --git a/modules/connectors/easyship/karrio/schemas/easyship/tracking_response.py b/modules/connectors/easyship/karrio/schemas/easyship/tracking_response.py new file mode 100644 index 0000000000..db0ac94a28 --- /dev/null +++ b/modules/connectors/easyship/karrio/schemas/easyship/tracking_response.py @@ -0,0 +1,54 @@ +from attr import s +from typing import Optional, List +from jstruct import JStruct, JList + + +@s(auto_attribs=True) +class MetaType: + request_id: Optional[str] = None + + +@s(auto_attribs=True) +class CheckpointType: + checkpoint_time: Optional[str] = None + city: Optional[str] = None + country_iso3: Optional[str] = None + country_name: Optional[str] = None + handler: Optional[str] = None + location: Optional[str] = None + message: Optional[str] = None + order_number: Optional[str] = None + postal_code: Optional[str] = None + country_alpha2: Optional[str] = None + description: Optional[str] = None + primary_status: Optional[str] = None + state: Optional[str] = None + + +@s(auto_attribs=True) +class CourierType: + id: Optional[str] = None + umbrella_name: Optional[str] = None + + +@s(auto_attribs=True) +class TrackingType: + courier: Optional[CourierType] = JStruct[CourierType] + destination_country_alpha2: Optional[str] = None + easyship_shipment_id: Optional[str] = None + eta_date: Optional[str] = None + id: Optional[str] = None + origin_country_alpha2: Optional[str] = None + platform_order_number: Optional[str] = None + source: Optional[str] = None + status: Optional[str] = None + tracking_number: Optional[str] = None + tracking_status: Optional[str] = None + tracking_page_url: Optional[str] = None + checkpoints: List[CheckpointType] = JList[CheckpointType] + + +@s(auto_attribs=True) +class TrackingResponseType: + meta: Optional[MetaType] = JStruct[MetaType] + tracking: Optional[TrackingType] = JStruct[TrackingType] diff --git a/modules/connectors/easyship/schemas/error_response.json b/modules/connectors/easyship/schemas/error_response.json new file mode 100644 index 0000000000..e5f5534709 --- /dev/null +++ b/modules/connectors/easyship/schemas/error_response.json @@ -0,0 +1,11 @@ +{ + "error": { + "code": "over_limit", + "details": [ + "We were unable to generate a label as your maximum balance limit has been reached. Please contact your account manager." + ], + "message": "You have reached your plan limit. Please upgrade your subscription plan.", + "request_id": "01563646-58c1-4607-8fe0-cae3e92c4477", + "type": "invalid_request_error" + } +} diff --git a/modules/connectors/easyship/schemas/label_request.json b/modules/connectors/easyship/schemas/label_request.json new file mode 100644 index 0000000000..ff24e77a77 --- /dev/null +++ b/modules/connectors/easyship/schemas/label_request.json @@ -0,0 +1,8 @@ +{ + "shipments": [ + { + "courier_id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "easyship_shipment_id": "ESSG10006001" + } + ] +} diff --git a/modules/connectors/easyship/schemas/label_response.json b/modules/connectors/easyship/schemas/label_response.json new file mode 100644 index 0000000000..bc3629cce7 --- /dev/null +++ b/modules/connectors/easyship/schemas/label_response.json @@ -0,0 +1,18 @@ +{ + "labels": [ + { + "easyship_shipment_id": "ESSG10006001", + "label_state": "pending", + "label_url": "http://localhost:9003/shipment-tracking/ESSG10006001", + "platform_order_number": "", + "status": "success", + "tracking_number": "1Z12345E0292024000", + "tracking_page_url": "http://localhost:9003/shipment-tracking/ESSG10006001" + } + ], + "meta": { + "available_balance": -10, + "request_id": "01563646-58c1-4607-8fe0-cae3e92c4477", + "total_cost": 10 + } +} diff --git a/modules/connectors/easyship/schemas/manifest_request.json b/modules/connectors/easyship/schemas/manifest_request.json new file mode 100644 index 0000000000..ef67ad708c --- /dev/null +++ b/modules/connectors/easyship/schemas/manifest_request.json @@ -0,0 +1,4 @@ +{ + "courier_account_id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "shipment_ids": ["ESSG10006001"] +} diff --git a/modules/connectors/easyship/schemas/manifest_response.json b/modules/connectors/easyship/schemas/manifest_response.json new file mode 100644 index 0000000000..f117fd5ed1 --- /dev/null +++ b/modules/connectors/easyship/schemas/manifest_response.json @@ -0,0 +1,17 @@ +{ + "manifest": { + "courier_account_id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "courier_umbrella_name": "USPS", + "created_at": "2022-02-22T12:21:00Z", + "document": { + "format": "url", + "url": "http://document.url" + }, + "id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "ref_number": "ABC123", + "shipments_count": 1 + }, + "meta": { + "request_id": "01563646-58c1-4607-8fe0-cae3e92c4477" + } +} diff --git a/modules/connectors/easyship/schemas/pickup_cancel_response.json b/modules/connectors/easyship/schemas/pickup_cancel_response.json new file mode 100644 index 0000000000..e07d559aa3 --- /dev/null +++ b/modules/connectors/easyship/schemas/pickup_cancel_response.json @@ -0,0 +1,8 @@ +{ + "meta": { + "request_id": "01563646-58c1-4607-8fe0-cae3e92c4477" + }, + "success": { + "message": "Pickup successfully cancelled" + } +} diff --git a/modules/connectors/easyship/schemas/pickup_request.json b/modules/connectors/easyship/schemas/pickup_request.json new file mode 100644 index 0000000000..9f5605463e --- /dev/null +++ b/modules/connectors/easyship/schemas/pickup_request.json @@ -0,0 +1,8 @@ +{ + "courier_id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "easyship_shipment_ids": ["ESSG10006001"], + "selected_date": "2022-02-23", + "selected_from_time": "12:00", + "selected_to_time": "16:00", + "time_slot_id": "01563646-58c1-4607-8fe0-cae3e33c0001" +} diff --git a/modules/connectors/easyship/schemas/pickup_response.json b/modules/connectors/easyship/schemas/pickup_response.json new file mode 100644 index 0000000000..77b6bb17b8 --- /dev/null +++ b/modules/connectors/easyship/schemas/pickup_response.json @@ -0,0 +1,56 @@ +{ + "meta": { + "available_balance": 0, + "easyship_shipment_ids": ["ESSG10006001"], + "request_id": "01563646-58c1-4607-8fe0-cae3e92c4477" + }, + "pickup": { + "address": { + "city": "City", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+852-1234-5678", + "country_alpha2": "HK", + "default_for": { + "billing": false, + "pickup": true, + "return": true, + "sender": true + }, + "hk_district": { + "area": "Admiralty", + "district": "Central and Western", + "id": 1, + "zone": "Hong Kong Island" + }, + "id": "01563646-58c1-4607-8fe0-cae3e33c0005", + "line_1": "123 Test Street", + "line_2": "Block 3", + "postal_code": "ABC123", + "state": "State", + "validation": { + "detail": "Address is not valid", + "status": "invalid_address", + "comparison": { + "changes": "", + "post": "", + "pre": "" + } + } + }, + "courier": { + "id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "name": "USPS" + }, + "easyship_pickup_id": "PHK10000001", + "pickup_fee": 0, + "pickup_reference_number": "string", + "pickup_state": "pending-confirmation", + "provider_name": "Standard Pickup", + "selected_from_time": "2022-02-23T12:00", + "selected_to_time": "2022-02-23T16:00", + "shipments_count": 1, + "total_actual_weight": 30.0 + } +} diff --git a/modules/connectors/easyship/schemas/rate_request.json b/modules/connectors/easyship/schemas/rate_request.json new file mode 100644 index 0000000000..582e28d2d9 --- /dev/null +++ b/modules/connectors/easyship/schemas/rate_request.json @@ -0,0 +1,84 @@ +{ + "courier_selection": { + "apply_shipping_rules": true, + "show_courier_logo_url": false + }, + "destination_address": { + "country_alpha2": "HK", + "city": "Hong Kong", + "company_name": "", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long" + }, + "incoterms": "DDU", + "insurance": { + "insured_amount": 10.0, + "insured_currency": "USD", + "is_insured": false + }, + "origin_address": { + "city": "Hong Kong", + "company_name": "", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "", + "country_alpha2": "HK", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long", + "validation": { + "detail": "Address is not valid", + "status": "invalid_address", + "comparison": { + "changes": "", + "post": "", + "pre": "" + } + } + }, + "parcels": [ + { + "box": { + "height": 10, + "length": 10, + "width": 10, + "slug": "custom" + }, + "items": [ + { + "contains_battery_pi966": true, + "contains_battery_pi967": true, + "contains_liquids": true, + "declared_currency": "USD", + "dimensions": { + "height": 3, + "length": 1, + "width": 2 + }, + "origin_country_alpha2": "HK", + "quantity": 2, + "actual_weight": 10, + "category": "fashion", + "declared_customs_value": 20, + "description": "item", + "sku": "sku", + "hs_code": "sku" + } + ], + "total_actual_weight": 1 + } + ], + "shipping_settings": { + "output_currency": "USD", + "units": { + "dimensions": "cm", + "weight": "kg" + } + } +} diff --git a/modules/connectors/easyship/schemas/rate_response.json b/modules/connectors/easyship/schemas/rate_response.json new file mode 100644 index 0000000000..e07d65a5b8 --- /dev/null +++ b/modules/connectors/easyship/schemas/rate_response.json @@ -0,0 +1,99 @@ +{ + "meta": { + "pagination": { + "count": 1, + "next": "string", + "page": 1 + }, + "request_id": "01563646-58c1-4607-8fe0-cae3e92c4477" + }, + "rates": [ + { + "additional_services_surcharge": 0, + "available_handover_options": [], + "cost_rank": 1, + "courier_id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "courier_logo_url": "string", + "courier_name": "Courier 1", + "courier_remarks": "string", + "currency": "HKD", + "ddp_handling_fee": 0, + "delivery_time_rank": 2, + "description": "Estimated 65.96 tax & duty due on delivery (Tax handling fees may apply)", + "discount": { + "amount": 1, + "origin_amount": 1 + }, + "easyship_rating": 2, + "estimated_import_duty": 0, + "estimated_import_tax": 65.96, + "fuel_surcharge": 1400, + "full_description": "Courier 1 (19-39 working days) Estimated 65.96 tax & duty due on delivery (Tax handling fees may apply)", + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "incoterms": "DDU", + "insurance_fee": 0, + "is_above_threshold": true, + "max_delivery_time": 39, + "min_delivery_time": 19, + "minimum_pickup_fee": 0, + "other_surcharges": { + "details": [ + { + "fee": 1, + "name": "Surcharge Name", + "origin_fee": 1 + } + ], + "total_fee": 2 + }, + "oversized_surcharge": 0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0, + "rates_in_origin_currency": { + "additional_services_surcharge": 0, + "currency": "HKD", + "ddp_handling_fee": 0, + "estimated_import_duty": 0, + "estimated_import_tax": 65.96, + "fuel_surcharge": 1400, + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "insurance_fee": 0, + "minimum_pickup_fee": 0, + "oversized_surcharge": 0, + "provincial_sales_tax": 0, + "remote_area_surcharge": 2, + "residential_discounted_fee": 0, + "residential_full_fee": 0, + "sales_tax": 0, + "shipment_charge": 140, + "shipment_charge_total": 1544, + "total_charge": 1544, + "warehouse_handling_fee": 0 + }, + "remote_area_surcharge": 2, + "remote_area_surcharges": { + "destination": { + "base": 1, + "name": "Destination Surcharge Name" + }, + "origin": { + "base": 1, + "name": "Origin Surcharge Name" + } + }, + "residential_discounted_fee": 0, + "residential_full_fee": 0, + "sales_tax": 0, + "shipment_charge": 140, + "shipment_charge_total": 1544, + "total_charge": 1544, + "tracking_rating": 2, + "value_for_money_rank": 1, + "warehouse_handling_fee": 0 + } + ] +} diff --git a/modules/connectors/easyship/schemas/shipment_cancel_response.json b/modules/connectors/easyship/schemas/shipment_cancel_response.json new file mode 100644 index 0000000000..446e183b54 --- /dev/null +++ b/modules/connectors/easyship/schemas/shipment_cancel_response.json @@ -0,0 +1,8 @@ +{ + "meta": { + "request_id": "01563646-58c1-4607-8fe0-cae3e92c4477" + }, + "success": { + "message": "Shipment successfully cancelled" + } +} diff --git a/modules/connectors/easyship/schemas/shipment_request.json b/modules/connectors/easyship/schemas/shipment_request.json new file mode 100644 index 0000000000..21de0c26bd --- /dev/null +++ b/modules/connectors/easyship/schemas/shipment_request.json @@ -0,0 +1,141 @@ +{ + "buyer_regulatory_identifiers": { + "ein": "12-3456789", + "vat_number": "EU1234567890" + }, + "courier_selection": { + "allow_courier_fallback": false, + "apply_shipping_rules": true, + "list_unavailable_couriers": true, + "selected_courier_id": "courier_id" + }, + "destination_address": { + "city": "Hong Kong", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+852-3008-5678", + "country_alpha2": "HK", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long" + }, + "consignee_tax_id": "1234567890", + "eei_reference": "1234567890", + "incoterms": "DDU", + "metadata": [], + "insurance": { + "is_insured": false + }, + "order_data": { + "buyer_notes": "test_notes", + "buyer_selected_courier_name": "test_courier", + "order_created_at": "2024-01-31T18:00:00Z", + "platform_name": "test plat_form", + "platform_order_number": "test_order_number", + "order_tag_list": ["test_tag"], + "seller_notes": "test_seller_notes" + }, + "origin_address": { + "city": "Hong Kong", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+852-3008-5678", + "country_alpha2": "HK", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long" + }, + "regulatory_identifiers": { + "eori": "DE 123456789 12345", + "ioss": "IM1234567890", + "vat_number": "EU1234567890" + }, + "return": false, + "return_address": { + "city": "Hong Kong", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+852-3008-5678", + "country_alpha2": "HK", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long" + }, + "return_address_id": "return_address_id", + "sender_address": { + "city": "Hong Kong", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+852-3008-5678", + "country_alpha2": "HK", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long" + }, + "sender_address_id": "sender_address_id", + "set_as_residential": false, + "shipping_settings": { + "additional_services": { + "delivery_confirmation": "string", + "qr_code": "none" + }, + "b13a_filing": { + "option": "string", + "option_export_compliance_statement": "string", + "permit_number": "string" + }, + "buy_label": false, + "buy_label_synchronous": false, + "printing_options": { + "commercial_invoice": "A4", + "format": "png", + "label": "4x6", + "packing_slip": "4x6", + "remarks": "string" + }, + "units": { + "dimensions": "cm", + "weight": "kg" + } + }, + "parcels": [ + { + "box": { + "height": 10, + "length": 10, + "width": 10, + "slug": "custom" + }, + "items": [ + { + "actual_weight": 10, + "category": null, + "contains_battery_pi966": true, + "contains_battery_pi967": true, + "contains_liquids": true, + "declared_currency": "USD", + "declared_customs_value": 20, + "description": "item", + "dimensions": { + "height": 3, + "length": 1, + "width": 2 + }, + "hs_code": "123456", + "origin_country_alpha2": "HK", + "quantity": 2, + "sku": "sku" + } + ], + "total_actual_weight": 1 + } + ] +} diff --git a/modules/connectors/easyship/schemas/shipment_response.json b/modules/connectors/easyship/schemas/shipment_response.json new file mode 100644 index 0000000000..1834613f33 --- /dev/null +++ b/modules/connectors/easyship/schemas/shipment_response.json @@ -0,0 +1,266 @@ +{ + "meta": { + "request_id": "01563646-58c1-4607-8fe0-cae3e92c4477", + "status": "success", + "unavailable_couriers": [ + { + "id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "name": "Courier 1", + "message": "message" + } + ], + "errors": ["string"] + }, + "shipment": { + "buyer_regulatory_identifiers": { + "ein": "", + "vat_number": "" + }, + "consignee_tax_id": "", + "courier": { + "id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "name": "Courier 1" + }, + "created_at": "2022-02-22T12:21:00Z", + "currency": "HKD", + "delivery_state": "not_created", + "destination_address": { + "city": "Hong Kong", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+85230085678", + "country_alpha2": "HK", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long" + }, + "easyship_shipment_id": "ESSG10006002", + "eei_reference": "", + "incoterms": "DDU", + "insurance": { + "insured_amount": 0, + "insured_currency": "HKD", + "is_insured": false + }, + "label_generated_at": "", + "label_paid_at": "", + "label_state": "not_created", + "last_failure_http_response_messages": [ + { + "code": "string", + "message": "string" + } + ], + "metadata": [], + "order_created_at": "", + "order_data": { + "buyer_notes": "", + "buyer_selected_courier_name": "", + "order_created_at": "", + "order_tag_list": [""], + "platform_name": "", + "platform_order_number": "", + "seller_notes": "" + }, + "origin_address": { + "city": "Hong Kong", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+852-3008-5678", + "country_alpha2": "HK", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long" + }, + "parcels": [ + { + "box": { + "id": "", + "name": "", + "outer_dimensions": { + "height": 2, + "length": 3, + "width": 2 + }, + "slug": "", + "type": "box", + "weight": 0 + }, + "id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "items": [ + { + "actual_weight": 10, + "category": "", + "contains_battery_pi966": true, + "contains_battery_pi967": true, + "contains_liquids": true, + "declared_currency": "USD", + "declared_customs_value": 20, + "description": "item", + "dimensions": { + "height": 3, + "length": 1, + "width": 2 + }, + "hs_code": "12345600", + "id": "12663646-58c1-4607-8fe0-cae3e33c0001", + "origin_country_alpha2": "HK", + "origin_currency": "HKD", + "origin_customs_value": 140, + "quantity": 2, + "sku": "sku" + } + ], + "total_actual_weight": 1 + } + ], + "pickup_state": "not_requested", + "rates": [ + { + "additional_services_surcharge": 0, + "available_handover_options": ["dropoff", "free_pickup"], + "cost_rank": 2, + "courier_id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "courier_logo_url": "", + "courier_name": "Courier 1", + "courier_remarks": "", + "currency": "USD", + "ddp_handling_fee": "", + "delivery_time_rank": 4, + "description": "description", + "discount": "", + "easyship_rating": 2, + "estimated_import_duty": "", + "estimated_import_tax": "", + "fuel_surcharge": 1000, + "full_description": "full description", + "import_duty_charge": "", + "import_tax_charge": "", + "import_tax_non_chargeable": "", + "incoterms": "DDU", + "insurance_fee": 0, + "is_above_threshold": true, + "max_delivery_time": 39, + "min_delivery_time": 19, + "minimum_pickup_fee": 0, + "other_surcharges": { + "details": [ + { + "fee": 0, + "name": "Peak Surcharge", + "origin_fee": 0 + } + ], + "total_fee": 0 + }, + "oversized_surcharge": 0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0, + "rates_in_origin_currency": { + "additional_services_surcharge": 0, + "currency": "HKD", + "ddp_handling_fee": "", + "estimated_import_duty": "", + "estimated_import_tax": "", + "fuel_surcharge": 1400, + "import_duty_charge": "", + "import_tax_charge": "", + "import_tax_non_chargeable": "", + "insurance_fee": 0, + "minimum_pickup_fee": 0, + "oversized_surcharge": 0, + "provincial_sales_tax": 0, + "remote_area_surcharge": 0, + "residential_discounted_fee": 0, + "residential_full_fee": 0, + "sales_tax": 0, + "shipment_charge": 140, + "shipment_charge_total": 1540, + "total_charge": 1540, + "warehouse_handling_fee": 0 + }, + "remote_area_surcharge": 0, + "remote_area_surcharges": "", + "residential_discounted_fee": 0, + "residential_full_fee": 0, + "sales_tax": 0, + "shipment_charge": 100, + "shipment_charge_total": 1100, + "total_charge": 1100, + "tracking_rating": 2, + "value_for_money_rank": 4, + "warehouse_handling_fee": 0 + } + ], + "regulatory_identifiers": { + "eori": "", + "ioss": "", + "vat_number": "" + }, + "return": false, + "return_address": { + "city": "Hong Kong", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+852-3008-5678", + "country_alpha2": "HK", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long" + }, + "sender_address": { + "city": "Hong Kong", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+852-3008-5678", + "country_alpha2": "HK", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long" + }, + "set_as_residential": false, + "shipment_state": "created", + "shipping_documents": [ + { + "base64_encoded_strings": ["base64_encoded"], + "category": "label", + "format": "png", + "page_size": "4x6", + "required": true, + "url": null + }, + { + "base64_encoded_strings": ["base64_encoded"], + "category": "packing_slip", + "format": "png", + "page_size": "4x6", + "required": true, + "url": null + } + ], + "shipping_settings": { + "b13a_filing": "" + }, + "tracking_page_url": "http://localhost:9003/shipment-tracking/ESSG10006002", + "trackings": [ + { + "alternate_tracking_number": "Courier 1", + "handler": "easyship", + "leg_number": 1, + "local_tracking_number": "Courier 1", + "tracking_number": "Courier 1", + "tracking_state": "in_transit" + } + ], + "updated_at": "2022-02-22T12:21:00Z", + "warehouse_state": "none" + } +} diff --git a/modules/connectors/easyship/schemas/tracking_request.json b/modules/connectors/easyship/schemas/tracking_request.json new file mode 100644 index 0000000000..793de69b74 --- /dev/null +++ b/modules/connectors/easyship/schemas/tracking_request.json @@ -0,0 +1,48 @@ +{ + "destination_address": { + "city": "Singapore", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+65 6910 1185", + "country_alpha2": "SG", + "line_1": "123 Test Street", + "line_2": "Block 3", + "postal_code": "247964", + "state": "Singapore" + }, + "origin_address": { + "city": "City", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+852-1234-5678", + "country_alpha2": "SG", + "line_1": "123 Test Street", + "line_2": "Block 3", + "postal_code": "ABC123", + "state": "State", + "validation": { + "detail": "Address is not valid", + "status": "invalid_address", + "comparison": { + "changes": "", + "post": "", + "pre": "" + } + } + }, + "courier_id": "01563646-58c1-4607-8fe0-cae3e33c0002", + "origin_address_id": "01563646-58c1-4607-8fe0-cae3e33c0002", + "platform_order_number": "1234567890", + "items": [ + { + "description": "iPhone", + "quantity": 1 + }, + { + "description": "Macbook" + } + ], + "tracking_number": "13213213" +} diff --git a/modules/connectors/easyship/schemas/tracking_response.json b/modules/connectors/easyship/schemas/tracking_response.json new file mode 100644 index 0000000000..6663cc8af2 --- /dev/null +++ b/modules/connectors/easyship/schemas/tracking_response.json @@ -0,0 +1,39 @@ +{ + "meta": { + "request_id": "01563646-58c1-4607-8fe0-cae3e92c4477" + }, + "tracking": { + "courier": { + "id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "umbrella_name": "DHL" + }, + "destination_country_alpha2": "SG", + "easyship_shipment_id": "ESSG10006002", + "eta_date": "string", + "id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "origin_country_alpha2": "HK", + "platform_order_number": "string", + "source": "external", + "status": "string", + "tracking_number": "Z5400000001", + "tracking_status": "created", + "tracking_page_url": "http://localhost:9003/shipment-tracking/ESSG10006002", + "checkpoints": [ + { + "checkpoint_time": "2024-05-01T00:00:00Z", + "city": "City", + "country_iso3": "string", + "country_name": "string", + "handler": "string", + "location": "string", + "message": "string", + "order_number": "string", + "postal_code": "string", + "country_alpha2": "SG", + "description": "Description", + "primary_status": "string", + "state": "State" + } + ] + } +} diff --git a/modules/connectors/easyship/setup.py b/modules/connectors/easyship/setup.py new file mode 100644 index 0000000000..96a445285c --- /dev/null +++ b/modules/connectors/easyship/setup.py @@ -0,0 +1,27 @@ + +"""Warning: This setup.py is only there for git install until poetry support git subdirectory""" +from setuptools import setup, find_namespace_packages + +with open("README.md", "r") as fh: + long_description = fh.read() + +setup( + name="karrio.easyship", + version="2024.9", + description="Karrio - Easyship Shipping Extension", + long_description=long_description, + long_description_content_type="text/markdown", + url="https://github.com/karrioapi/karrio", + author="karrio", + author_email="hello@karrio.io", + license="Apache-2.0", + packages=find_namespace_packages(exclude=["tests.*", "tests"]), + install_requires=["karrio"], + classifiers=[ + "Intended Audience :: Developers", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3", + ], + zip_safe=False, + include_package_data=True, +) diff --git a/modules/connectors/easyship/tests/__init__.py b/modules/connectors/easyship/tests/__init__.py new file mode 100644 index 0000000000..1fd026b5ca --- /dev/null +++ b/modules/connectors/easyship/tests/__init__.py @@ -0,0 +1,6 @@ + +from tests.easyship.test_rate import * +from tests.easyship.test_pickup import * +from tests.easyship.test_tracking import * +from tests.easyship.test_shipment import * +from tests.easyship.test_manifest import * diff --git a/modules/connectors/easyship/tests/easyship/__init__.py b/modules/connectors/easyship/tests/easyship/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/modules/connectors/easyship/tests/easyship/fixture.py b/modules/connectors/easyship/tests/easyship/fixture.py new file mode 100644 index 0000000000..8c04d83dfc --- /dev/null +++ b/modules/connectors/easyship/tests/easyship/fixture.py @@ -0,0 +1,7 @@ +import karrio + +gateway = karrio.gateway["easyship"].create( + dict( + access_token="access_token", + ) +) diff --git a/modules/connectors/easyship/tests/easyship/test_manifest.py b/modules/connectors/easyship/tests/easyship/test_manifest.py new file mode 100644 index 0000000000..7e99f500ff --- /dev/null +++ b/modules/connectors/easyship/tests/easyship/test_manifest.py @@ -0,0 +1,98 @@ +import unittest +from unittest.mock import patch, ANY +from .fixture import gateway +from tests import logger + +import karrio +import karrio.lib as lib +import karrio.core.models as models + + +class TestEasyshipManifest(unittest.TestCase): + def setUp(self): + self.maxDiff = None + self.ManifestRequest = models.ManifestRequest(**ManifestPayload) + + def test_create_tracking_request(self): + request = gateway.mapper.create_manifest_request(self.ManifestRequest) + + self.assertEqual(request.serialize(), ManifestRequest) + + def test_create_manifest(self): + with patch("karrio.mappers.easyship.proxy.lib.request") as mock: + mock.return_value = "{}" + karrio.Manifest.create(self.ManifestRequest).from_(gateway) + + self.assertEqual( + mock.call_args[1]["url"], + f"{gateway.settings.server_url}/2023-01/manifests", + ) + + def test_parse_manifest_response(self): + with patch("karrio.mappers.easyship.proxy.lib.request") as mock: + mock.side_effect = [ManifestResponse, "base64_encoded_file"] + parsed_response = ( + karrio.Manifest.create(self.ManifestRequest).from_(gateway).parse() + ) + + self.assertListEqual(lib.to_dict(parsed_response), ParsedManifestResponse) + + +if __name__ == "__main__": + unittest.main() + + +ManifestPayload = { + "shipment_identifiers": ["ESSG10006001"], + "address": { + "city": "Los Angeles", + "state_code": "CA", + "postal_code": "90001", + "country_code": "US", + }, + "options": { + "easyship_courier_account_id": "01563646-58c1-4607-8fe0-cae3e33c0001", + }, +} + +ParsedManifestResponse = [ + { + "carrier_id": "easyship", + "carrier_name": "easyship", + "doc": {"manifest": ANY}, + "meta": { + "courier_account_id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "courier_umbrella_name": "USPS", + "manifest_id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "manifest_url": "http://document.url", + "reference": "ABC123", + }, + }, + [], +] + + +ManifestRequest = { + "courier_account_id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "shipment_ids": ["ESSG10006001"], +} + + +ManifestResponse = """{ + "manifest": { + "courier_account_id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "courier_umbrella_name": "USPS", + "created_at": "2022-02-22T12:21:00Z", + "document": { + "format": "url", + "url": "http://document.url" + }, + "id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "ref_number": "ABC123", + "shipments_count": 1 + }, + "meta": { + "request_id": "01563646-58c1-4607-8fe0-cae3e92c4477" + } +} +""" diff --git a/modules/connectors/easyship/tests/easyship/test_pickup.py b/modules/connectors/easyship/tests/easyship/test_pickup.py new file mode 100644 index 0000000000..cf95b7d926 --- /dev/null +++ b/modules/connectors/easyship/tests/easyship/test_pickup.py @@ -0,0 +1,312 @@ +import unittest +from unittest.mock import patch, ANY +from .fixture import gateway +from tests import logger + +import karrio +import karrio.lib as lib +import karrio.core.models as models + + +class TestEasyshipPickup(unittest.TestCase): + def setUp(self): + self.maxDiff = None + self.PickupRequest = models.PickupRequest(**PickupPayload) + self.PickupUpdateRequest = models.PickupUpdateRequest(**PickupUpdatePayload) + self.PickupCancelRequest = models.PickupCancelRequest(**PickupCancelPayload) + + def test_create_pickup_request(self): + request = gateway.mapper.create_pickup_request(self.PickupRequest) + + self.assertEqual(request.serialize(), PickupRequest) + + def test_create_update_pickup_request(self): + request = gateway.mapper.create_pickup_update_request(self.PickupUpdateRequest) + + self.assertEqual(request.serialize(), PickupUpdateRequest) + + def test_create_cancel_pickup_request(self): + request = gateway.mapper.create_cancel_pickup_request(self.PickupCancelRequest) + + self.assertEqual(request.serialize(), PickupCancelRequest) + + def test_create_pickup(self): + with patch("karrio.mappers.easyship.proxy.lib.request") as mock: + mock.return_value = "{}" + karrio.Pickup.schedule(self.PickupRequest).from_(gateway) + + self.assertEqual( + mock.call_args[1]["url"], + f"{gateway.settings.server_url}/2023-01/pickups", + ) + + def test_update_pickup(self): + with patch("karrio.mappers.easyship.proxy.lib.request") as mock: + mock.side_effect = ["{}", "{}"] + karrio.Pickup.update(self.PickupUpdateRequest).from_(gateway) + + self.assertEqual( + mock.call_args_list[0][1]["url"], + f"{gateway.settings.server_url}/2023-01/pickups/PHK10000001/cancel", + ) + self.assertEqual( + mock.call_args_list[1][1]["url"], + f"{gateway.settings.server_url}/2023-01/pickups", + ) + + def test_cancel_pickup(self): + with patch("karrio.mappers.easyship.proxy.lib.request") as mock: + mock.return_value = "{}" + karrio.Pickup.cancel(self.PickupCancelRequest).from_(gateway) + + self.assertEqual( + mock.call_args[1]["url"], + f"{gateway.settings.server_url}/2023-01/pickups/PHK10000001/cancel", + ) + + def test_parse_pickup_response(self): + with patch("karrio.mappers.easyship.proxy.lib.request") as mock: + mock.return_value = PickupResponse + parsed_response = ( + karrio.Pickup.schedule(self.PickupRequest).from_(gateway).parse() + ) + + self.assertListEqual(lib.to_dict(parsed_response), ParsedPickupResponse) + + def test_parse_cancel_pickup_response(self): + with patch("karrio.mappers.easyship.proxy.lib.request") as mock: + mock.return_value = PickupCancelResponse + parsed_response = ( + karrio.Pickup.cancel(self.PickupCancelRequest).from_(gateway).parse() + ) + + self.assertListEqual( + lib.to_dict(parsed_response), ParsedCancelPickupResponse + ) + + +if __name__ == "__main__": + unittest.main() + + +PickupPayload = { + "pickup_date": "2022-02-23", + "ready_time": "12:00", + "closing_time": "16:00", + "instruction": "behind the front desk", + "address": { + "company_name": "ABC Corp.", + "address_line1": "1098 N Fraser Street", + "city": "Georgetown", + "postal_code": "29440", + "country_code": "US", + "person_name": "Tall Tom", + "phone_number": "8005554526", + "state_code": "SC", + }, + "parcels": [{"weight": 20, "weight_unit": "LB"}], + "options": { + "shipment_identifiers": ["ESSG10006001"], + "easyship_courier_account_id": "01563646-58c1-4607-8fe0-cae3e33c0001", + }, +} + +PickupUpdatePayload = { + "confirmation_number": "PHK10000001", + "pickup_date": "2022-02-23", + "ready_time": "12:00", + "closing_time": "16:00", + "instruction": "behind the front desk", + "address": { + "company_name": "ABC Corp.", + "address_line1": "1098 N Fraser Street", + "city": "Georgetown", + "postal_code": "29440", + "country_code": "US", + "person_name": "Tall Tom", + "phone_number": "8005554526", + "state_code": "SC", + }, + "parcels": [{"weight": 20, "weight_unit": "LB"}], + "options": { + "shipment_identifiers": ["ESSG10006001"], + "easyship_courier_account_id": "01563646-58c1-4607-8fe0-cae3e33c0001", + }, +} + +PickupCancelPayload = {"confirmation_number": "PHK10000001"} + +ParsedPickupResponse = [ + { + "carrier_id": "easyship", + "carrier_name": "easyship", + "closing_time": "16:00", + "confirmation_number": "PHK10000001", + "meta": { + "easyship_courier_id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "easyship_pickup_id": "PHK10000001", + "easyship_shipment_ids": ["ESSG10006001"], + }, + "pickup_date": "2022-02-23", + "ready_time": "12:00", + }, + [], +] + +ParsedCancelPickupResponse = [ + { + "carrier_id": "easyship", + "carrier_name": "easyship", + "operation": "Cancel Pickup", + "success": True, + }, + [], +] + + +PickupRequest = { + "courier_id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "easyship_shipment_ids": ["ESSG10006001"], + "selected_date": "2022-02-23", + "selected_from_time": "12:00", + "selected_to_time": "16:00", +} + + +PickupUpdateRequest = { + "courier_id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "easyship_shipment_ids": ["ESSG10006001"], + "selected_date": "2022-02-23", + "selected_from_time": "12:00", + "selected_to_time": "16:00", +} + + +PickupCancelRequest = {"easyship_pickup_id": "PHK10000001"} + + +PickupResponse = """{ + "meta": { + "available_balance": 0, + "easyship_shipment_ids": ["ESSG10006001"], + "request_id": "01563646-58c1-4607-8fe0-cae3e92c4477" + }, + "pickup": { + "address": { + "city": "City", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+852-1234-5678", + "country_alpha2": "HK", + "default_for": { + "billing": false, + "pickup": true, + "return": true, + "sender": true + }, + "hk_district": { + "area": "Admiralty", + "district": "Central and Western", + "id": 1, + "zone": "Hong Kong Island" + }, + "id": "01563646-58c1-4607-8fe0-cae3e33c0005", + "line_1": "123 Test Street", + "line_2": "Block 3", + "postal_code": "ABC123", + "state": "State", + "validation": { + "detail": "Address is not valid", + "status": "invalid_address", + "comparison": { + "changes": "", + "post": "", + "pre": "" + } + } + }, + "courier": { + "id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "name": "USPS" + }, + "easyship_pickup_id": "PHK10000001", + "pickup_fee": 0, + "pickup_reference_number": "string", + "pickup_state": "pending-confirmation", + "provider_name": "Standard Pickup", + "selected_from_time": "2022-02-23T12:00", + "selected_to_time": "2022-02-23T16:00", + "shipments_count": 1, + "total_actual_weight": 30.0 + } +} +""" + +PickupUpdateResponse = """{ + "meta": { + "available_balance": 0, + "easyship_shipment_ids": ["ESSG10006001"], + "request_id": "01563646-58c1-4607-8fe0-cae3e92c4477" + }, + "pickup": { + "address": { + "city": "City", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+852-1234-5678", + "country_alpha2": "HK", + "default_for": { + "billing": false, + "pickup": true, + "return": true, + "sender": true + }, + "hk_district": { + "area": "Admiralty", + "district": "Central and Western", + "id": 1, + "zone": "Hong Kong Island" + }, + "id": "01563646-58c1-4607-8fe0-cae3e33c0005", + "line_1": "123 Test Street", + "line_2": "Block 3", + "postal_code": "ABC123", + "state": "State", + "validation": { + "detail": "Address is not valid", + "status": "invalid_address", + "comparison": { + "changes": "", + "post": "", + "pre": "" + } + } + }, + "courier": { + "id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "name": "USPS" + }, + "easyship_pickup_id": "PHK10000001", + "pickup_fee": 0, + "pickup_reference_number": "string", + "pickup_state": "pending-confirmation", + "provider_name": "Standard Pickup", + "selected_from_time": "2022-02-23T12:00", + "selected_to_time": "2022-02-23T16:00", + "shipments_count": 1, + "total_actual_weight": 30.0 + } +} +""" + +PickupCancelResponse = """{ + "meta": { + "request_id": "01563646-58c1-4607-8fe0-cae3e92c4477" + }, + "success": { + "message": "Pickup successfully cancelled" + } +} +""" diff --git a/modules/connectors/easyship/tests/easyship/test_rate.py b/modules/connectors/easyship/tests/easyship/test_rate.py new file mode 100644 index 0000000000..5e6f8e46ea --- /dev/null +++ b/modules/connectors/easyship/tests/easyship/test_rate.py @@ -0,0 +1,1401 @@ +import unittest +from unittest.mock import patch, ANY +from .fixture import gateway +from tests import logger + +import karrio +import karrio.lib as lib +import karrio.core.models as models + + +class TestEasyshipRating(unittest.TestCase): + def setUp(self): + self.maxDiff = None + self.RateRequest = models.RateRequest(**RatePayload) + + def test_create_rate_request(self): + request = gateway.mapper.create_rate_request(self.RateRequest) + + self.assertEqual(request.serialize(), RateRequest) + + def test_get_rate(self): + with patch("karrio.mappers.easyship.proxy.lib.request") as mock: + mock.return_value = "{}" + karrio.Rating.fetch(self.RateRequest).from_(gateway) + + self.assertEqual( + mock.call_args[1]["url"], + f"{gateway.settings.server_url}/2023-01/rates", + ) + + def test_parse_rate_response(self): + with patch("karrio.mappers.easyship.proxy.lib.request") as mock: + mock.return_value = RateResponse + parsed_response = ( + karrio.Rating.fetch(self.RateRequest).from_(gateway).parse() + ) + self.assertListEqual(lib.to_dict(parsed_response), ParsedRateResponse) + + +if __name__ == "__main__": + unittest.main() + + +RatePayload = { + "shipper": { + "company_name": None, + "address_line1": "Kennedy Town", + "address_line2": "Block 3", + "city": "Hong Kong", + "postal_code": "0000", + "country_code": "HK", + "person_name": "Foo Bar", + "state_code": "Yuen Long", + "email": "asd@asd.com", + "phone_number": None, + }, + "recipient": { + "company_name": None, + "address_line1": "Kennedy Town", + "address_line2": "Block 3", + "city": "Hong Kong", + "postal_code": "0000", + "country_code": "HK", + "person_name": "Foo Bar", + "state_code": "Yuen Long", + "email": "asd@asd.com", + "phone_number": None, + }, + "parcels": [ + { + "height": 3, + "length": 1, + "width": 2, + "weight": 1, + "weight_unit": "KG", + "dimension_unit": "CM", + "items": [ + { + "sku": "sku", + "quantity": 2, + "weight": 10, + "weight_unit": "KG", + "origin_country": "HK", + "value_amount": 20, + "value_currency": "USD", + "description": "item", + "category": "fashion", + "metadata": { + "contains_battery_pi966": True, + "contains_battery_pi967": True, + "contains_liquids": True, + }, + } + ], + } + ], + "options": { + "easyship_apply_shipping_rules": True, + "easyship_show_courier_logo_url": False, + "easyship_incoterms": "DDU", + }, +} + +ParsedRateResponse = [ + [ + { + "carrier_id": "easyship", + "carrier_name": "easyship", + "currency": "USD", + "extra_charges": [ + {"amount": 34.96, "currency": "USD", "name": "Shipment Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Insurance"}, + {"amount": 5.59, "currency": "USD", "name": "Fuel Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Additional Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Duty Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Tax Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Minimum Pickup Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Oversized Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Provincial Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Remote Area Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Warehouse Handling Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Discount"}, + ], + "meta": { + "available_handover_options": ["dropoff"], + "cost_rank": 2, + "delivery_time_rank": 6, + "easyship_courier_id": "4cf66d63-4e4a-456b-86c1-50964ad9f7b7", + "easyship_incoterms": "DDU", + "max_delivery_time": 3, + "min_delivery_time": 1, + "rate_provider": "fedex", + "service_name": "easyship_fedex_ground", + "tracking_rating": 3, + "value_for_money_rank": 1, + }, + "service": "easyship_fedex_ground", + "total_charge": 40.55, + "transit_days": 3, + }, + { + "carrier_id": "easyship", + "carrier_name": "easyship", + "currency": "USD", + "extra_charges": [ + {"amount": 76.2, "currency": "USD", "name": "Shipment Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Insurance"}, + {"amount": 0.0, "currency": "USD", "name": "Fuel Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Additional Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Duty Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Tax Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Minimum Pickup Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Oversized Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Provincial Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Remote Area Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Warehouse Handling Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Discount"}, + ], + "meta": { + "available_handover_options": ["dropoff", "free_pickup"], + "cost_rank": 5, + "delivery_time_rank": 8, + "easyship_courier_id": "7505df80-af51-46a0-b2ee-ac9eacfcd3e4", + "easyship_incoterms": "DDU", + "max_delivery_time": 3, + "min_delivery_time": 1, + "rate_provider": "usps", + "service_name": "easyship_usps_priority_mail", + "tracking_rating": 2, + "value_for_money_rank": 2, + }, + "service": "easyship_usps_priority_mail", + "total_charge": 76.2, + "transit_days": 3, + }, + { + "carrier_id": "easyship", + "carrier_name": "easyship", + "currency": "USD", + "extra_charges": [ + {"amount": 79.9, "currency": "USD", "name": "Shipment Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Insurance"}, + {"amount": 0.0, "currency": "USD", "name": "Fuel Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Additional Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Duty Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Tax Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Minimum Pickup Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Oversized Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Provincial Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Remote Area Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Warehouse Handling Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Discount"}, + ], + "meta": { + "available_handover_options": ["dropoff", "free_pickup"], + "cost_rank": 6, + "delivery_time_rank": 7, + "easyship_courier_id": "137a79e8-ae1c-4369-9855-44cf8ff784c4", + "easyship_incoterms": "DDU", + "max_delivery_time": 3, + "min_delivery_time": 1, + "rate_provider": "usps", + "service_name": "easyship_usps_priority_mail_signature", + "tracking_rating": 2, + "value_for_money_rank": 3, + }, + "service": "easyship_usps_priority_mail_signature", + "total_charge": 79.9, + "transit_days": 3, + }, + { + "carrier_id": "easyship", + "carrier_name": "easyship", + "currency": "USD", + "extra_charges": [ + {"amount": 26.29, "currency": "USD", "name": "Shipment Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Insurance"}, + {"amount": 0.0, "currency": "USD", "name": "Fuel Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Additional Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Duty Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Tax Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Minimum Pickup Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Oversized Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Provincial Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Remote Area Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Warehouse Handling Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Discount"}, + ], + "meta": { + "available_handover_options": ["dropoff"], + "cost_rank": 1, + "delivery_time_rank": 10, + "easyship_courier_id": "eac604a4-34c9-41b6-b5b1-231fb785d071", + "easyship_incoterms": "DDU", + "max_delivery_time": 5, + "min_delivery_time": 2, + "rate_provider": "fedex", + "service_name": "easyship_fedex_smart_post", + "tracking_rating": 3, + "value_for_money_rank": 4, + }, + "service": "easyship_fedex_smart_post", + "total_charge": 26.29, + "transit_days": 5, + }, + { + "carrier_id": "easyship", + "carrier_name": "easyship", + "currency": "USD", + "extra_charges": [ + {"amount": 48.56, "currency": "USD", "name": "Shipment Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Insurance"}, + {"amount": 0.0, "currency": "USD", "name": "Fuel Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Additional Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Duty Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Tax Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Minimum Pickup Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Oversized Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Provincial Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Remote Area Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Warehouse Handling Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Discount"}, + ], + "meta": { + "available_handover_options": ["dropoff", "free_pickup"], + "cost_rank": 3, + "delivery_time_rank": 12, + "easyship_courier_id": "c3e97b11-2842-44f1-84d1-afaa6b3f0a7c", + "easyship_incoterms": "DDU", + "max_delivery_time": 5, + "min_delivery_time": 2, + "rate_provider": "usps", + "service_name": "easyship_usps_ground_advantage", + "tracking_rating": 2, + "value_for_money_rank": 5, + }, + "service": "easyship_usps_ground_advantage", + "total_charge": 48.56, + "transit_days": 5, + }, + { + "carrier_id": "easyship", + "carrier_name": "easyship", + "currency": "USD", + "extra_charges": [ + {"amount": 52.26, "currency": "USD", "name": "Shipment Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Insurance"}, + {"amount": 0.0, "currency": "USD", "name": "Fuel Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Additional Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Duty Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Tax Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Minimum Pickup Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Oversized Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Provincial Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Remote Area Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Warehouse Handling Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Discount"}, + ], + "meta": { + "available_handover_options": ["dropoff", "free_pickup"], + "cost_rank": 4, + "delivery_time_rank": 11, + "easyship_courier_id": "7a1424ff-0d4e-4d55-bdfe-e4c6661debbf", + "easyship_incoterms": "DDU", + "max_delivery_time": 5, + "min_delivery_time": 2, + "rate_provider": "usps", + "service_name": "easyship_usps_ground_advantage", + "tracking_rating": 2, + "value_for_money_rank": 6, + }, + "service": "easyship_usps_ground_advantage", + "total_charge": 52.26, + "transit_days": 5, + }, + { + "carrier_id": "easyship", + "carrier_name": "easyship", + "currency": "USD", + "extra_charges": [ + {"amount": 91.69, "currency": "USD", "name": "Shipment Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Insurance"}, + {"amount": 0.0, "currency": "USD", "name": "Fuel Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Additional Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Duty Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Tax Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Minimum Pickup Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Oversized Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Provincial Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Remote Area Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Warehouse Handling Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Discount"}, + ], + "meta": { + "available_handover_options": ["dropoff"], + "cost_rank": 7, + "delivery_time_rank": 5, + "easyship_courier_id": "84135827-1538-4be2-b26e-afd8b3f3b4bd", + "easyship_incoterms": "DDU", + "max_delivery_time": 2, + "min_delivery_time": 2, + "rate_provider": "fedex", + "service_name": "easyship_fedex_2_day", + "tracking_rating": 3, + "value_for_money_rank": 7, + }, + "service": "easyship_fedex_2_day", + "total_charge": 91.69, + "transit_days": 2, + }, + { + "carrier_id": "easyship", + "carrier_name": "easyship", + "currency": "USD", + "extra_charges": [ + {"amount": 180.55, "currency": "USD", "name": "Shipment Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Insurance"}, + {"amount": 0.0, "currency": "USD", "name": "Fuel Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Additional Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Duty Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Tax Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Minimum Pickup Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Oversized Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Provincial Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Remote Area Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Warehouse Handling Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Discount"}, + ], + "meta": { + "available_handover_options": ["dropoff", "free_pickup"], + "cost_rank": 9, + "delivery_time_rank": 3, + "easyship_courier_id": "a623a62b-5631-4dce-ae15-bbcf89e49c52", + "easyship_incoterms": "DDU", + "max_delivery_time": 2, + "min_delivery_time": 1, + "rate_provider": "usps", + "service_name": "easyship_usps_priority_mail_express", + "tracking_rating": 2, + "value_for_money_rank": 8, + }, + "service": "easyship_usps_priority_mail_express", + "total_charge": 180.55, + "transit_days": 2, + }, + { + "carrier_id": "easyship", + "carrier_name": "easyship", + "currency": "USD", + "extra_charges": [ + {"amount": 120.64, "currency": "USD", "name": "Shipment Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Insurance"}, + {"amount": 19.0, "currency": "USD", "name": "Fuel Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Additional Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Duty Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Tax Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Minimum Pickup Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Oversized Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Provincial Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Remote Area Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Warehouse Handling Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Discount"}, + ], + "meta": { + "available_handover_options": ["dropoff"], + "cost_rank": 8, + "delivery_time_rank": 9, + "easyship_courier_id": "a9e3f424-713c-4efa-b445-71cd60c88ccd", + "easyship_incoterms": "DDU", + "max_delivery_time": 3, + "min_delivery_time": 2, + "rate_provider": "fedex", + "service_name": "easyship_fedex_express_saver", + "tracking_rating": 3, + "value_for_money_rank": 9, + }, + "service": "easyship_fedex_express_saver", + "total_charge": 139.64, + "transit_days": 3, + }, + { + "carrier_id": "easyship", + "carrier_name": "easyship", + "currency": "USD", + "extra_charges": [ + {"amount": 202.79, "currency": "USD", "name": "Shipment Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Insurance"}, + {"amount": 31.94, "currency": "USD", "name": "Fuel Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Additional Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Duty Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Tax Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Minimum Pickup Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Oversized Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Provincial Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Remote Area Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Warehouse Handling Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Discount"}, + ], + "meta": { + "available_handover_options": ["dropoff"], + "cost_rank": 11, + "delivery_time_rank": 2, + "easyship_courier_id": "de8835b8-17c5-4878-b636-9f9fdbab9265", + "easyship_incoterms": "DDU", + "max_delivery_time": 1, + "min_delivery_time": 1, + "rate_provider": "fedex", + "service_name": "easyship_fedex_standard_overnight", + "tracking_rating": 3, + "value_for_money_rank": 10, + }, + "service": "easyship_fedex_standard_overnight", + "total_charge": 234.73, + "transit_days": 1, + }, + { + "carrier_id": "easyship", + "carrier_name": "easyship", + "currency": "USD", + "extra_charges": [ + {"amount": 210.72, "currency": "USD", "name": "Shipment Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Insurance"}, + {"amount": 33.19, "currency": "USD", "name": "Fuel Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Additional Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Duty Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Tax Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Minimum Pickup Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Oversized Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Provincial Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Remote Area Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Warehouse Handling Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Discount"}, + ], + "meta": { + "available_handover_options": ["dropoff"], + "cost_rank": 12, + "delivery_time_rank": 1, + "easyship_courier_id": "8fb58899-7c4d-43b3-be2c-ec4c2d3ba375", + "easyship_incoterms": "DDU", + "max_delivery_time": 1, + "min_delivery_time": 1, + "rate_provider": "fedex", + "service_name": "easyship_fedex_priority_overnight", + "tracking_rating": 3, + "value_for_money_rank": 11, + }, + "service": "easyship_fedex_priority_overnight", + "total_charge": 243.91, + "transit_days": 1, + }, + { + "carrier_id": "easyship", + "carrier_name": "easyship", + "currency": "USD", + "extra_charges": [ + {"amount": 170.04, "currency": "USD", "name": "Shipment Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Insurance"}, + {"amount": 26.78, "currency": "USD", "name": "Fuel Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Additional Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Duty Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Import Tax Charge"}, + {"amount": 0.0, "currency": "USD", "name": "Minimum Pickup Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Oversized Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Provincial Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Remote Area Surcharge"}, + {"amount": 0.0, "currency": "USD", "name": "Sales Tax"}, + {"amount": 0.0, "currency": "USD", "name": "Warehouse Handling Fee"}, + {"amount": 0.0, "currency": "USD", "name": "Discount"}, + ], + "meta": { + "available_handover_options": ["dropoff"], + "cost_rank": 10, + "delivery_time_rank": 4, + "easyship_courier_id": "5eee483f-1416-42bb-8f7d-3ad384f3ee36", + "easyship_incoterms": "DDU", + "max_delivery_time": 2, + "min_delivery_time": 2, + "rate_provider": "fedex", + "service_name": "easyship_fedex_2_day_a_m", + "tracking_rating": 3, + "value_for_money_rank": 12, + }, + "service": "easyship_fedex_2_day_a_m", + "total_charge": 196.82, + "transit_days": 2, + }, + ], + [], +] + + +RateRequest = { + "courier_selection": { + "apply_shipping_rules": True, + "show_courier_logo_url": False, + }, + "destination_address": { + "country_alpha2": "HK", + "city": "Hong Kong", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long", + }, + "incoterms": "DDU", + "insurance": { + "is_insured": False, + }, + "origin_address": { + "city": "Hong Kong", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "country_alpha2": "HK", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long", + }, + "parcels": [ + { + "box": { + "height": 3.0, + "length": 1.0, + "width": 2.0, + }, + "items": [ + { + "contains_battery_pi966": True, + "contains_battery_pi967": True, + "contains_liquids": True, + "declared_currency": "USD", + "origin_country_alpha2": "HK", + "quantity": 2, + "actual_weight": 10.0, + "category": "fashion", + "declared_customs_value": 20, + "description": "item", + "sku": "sku", + "hs_code": "N/A", + } + ], + "total_actual_weight": 1.0, + } + ], + "shipping_settings": {"units": {"dimensions": "cm", "weight": "kg"}}, +} + +RateResponse = """{ + "rates": [ + { + "additional_services_surcharge": 0, + "available_handover_options": ["dropoff"], + "cost_rank": 2, + "courier_id": "4cf66d63-4e4a-456b-86c1-50964ad9f7b7", + "courier_logo_url": null, + "courier_name": "FedEx Ground®", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0, + "delivery_time_rank": 6, + "description": "No additional taxes to be paid at delivery", + "discount": { "amount": 0, "origin_amount": 0 }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 5.59, + "full_description": "FedEx Ground® (1-3 working days) No additional taxes to be paid at delivery", + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "incoterms": "DDU", + "insurance_fee": 0, + "is_above_threshold": false, + "max_delivery_time": 3, + "min_delivery_time": 1, + "minimum_pickup_fee": 0, + "other_surcharges": null, + "oversized_surcharge": 0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0, + "rates_in_origin_currency": { + "additional_services_surcharge": 0, + "currency": "USD", + "ddp_handling_fee": 0, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 5.59, + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "insurance_fee": 0, + "minimum_pickup_fee": 0, + "oversized_surcharge": 0, + "provincial_sales_tax": 0, + "remote_area_surcharge": 0, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 34.96, + "shipment_charge_total": 40.55, + "total_charge": 40.55, + "warehouse_handling_fee": 0 + }, + "remote_area_surcharge": 0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 34.96, + "shipment_charge_total": 40.55, + "total_charge": 40.55, + "tracking_rating": 3, + "value_for_money_rank": 1, + "warehouse_handling_fee": 0 + }, + { + "additional_services_surcharge": 0, + "available_handover_options": ["dropoff", "free_pickup"], + "cost_rank": 5, + "courier_id": "7505df80-af51-46a0-b2ee-ac9eacfcd3e4", + "courier_logo_url": null, + "courier_name": "USPS - Priority Mail", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0, + "delivery_time_rank": 8, + "description": "No additional taxes to be paid at delivery", + "discount": { "amount": 0, "origin_amount": 0 }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0, + "full_description": "USPS - Priority Mail (1-3 working days) No additional taxes to be paid at delivery", + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "incoterms": "DDU", + "insurance_fee": 0, + "is_above_threshold": false, + "max_delivery_time": 3, + "min_delivery_time": 1, + "minimum_pickup_fee": 0, + "other_surcharges": null, + "oversized_surcharge": 0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0, + "rates_in_origin_currency": { + "additional_services_surcharge": 0, + "currency": "USD", + "ddp_handling_fee": 0, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0, + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "insurance_fee": 0, + "minimum_pickup_fee": 0, + "oversized_surcharge": 0, + "provincial_sales_tax": 0, + "remote_area_surcharge": 0, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 76.2, + "shipment_charge_total": 76.2, + "total_charge": 76.2, + "warehouse_handling_fee": 0 + }, + "remote_area_surcharge": 0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 76.2, + "shipment_charge_total": 76.2, + "total_charge": 76.2, + "tracking_rating": 2, + "value_for_money_rank": 2, + "warehouse_handling_fee": 0 + }, + { + "additional_services_surcharge": 0, + "available_handover_options": ["dropoff", "free_pickup"], + "cost_rank": 6, + "courier_id": "137a79e8-ae1c-4369-9855-44cf8ff784c4", + "courier_logo_url": null, + "courier_name": "USPS - Priority Mail Signature", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0, + "delivery_time_rank": 7, + "description": "No additional taxes to be paid at delivery", + "discount": { "amount": 0, "origin_amount": 0 }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0, + "full_description": "USPS - Priority Mail Signature (1-3 working days) No additional taxes to be paid at delivery", + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "incoterms": "DDU", + "insurance_fee": 0, + "is_above_threshold": false, + "max_delivery_time": 3, + "min_delivery_time": 1, + "minimum_pickup_fee": 0, + "other_surcharges": null, + "oversized_surcharge": 0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0, + "rates_in_origin_currency": { + "additional_services_surcharge": 0, + "currency": "USD", + "ddp_handling_fee": 0, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0, + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "insurance_fee": 0, + "minimum_pickup_fee": 0, + "oversized_surcharge": 0, + "provincial_sales_tax": 0, + "remote_area_surcharge": 0, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 79.9, + "shipment_charge_total": 79.9, + "total_charge": 79.9, + "warehouse_handling_fee": 0 + }, + "remote_area_surcharge": 0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 79.9, + "shipment_charge_total": 79.9, + "total_charge": 79.9, + "tracking_rating": 2, + "value_for_money_rank": 3, + "warehouse_handling_fee": 0 + }, + { + "additional_services_surcharge": 0, + "available_handover_options": ["dropoff"], + "cost_rank": 1, + "courier_id": "eac604a4-34c9-41b6-b5b1-231fb785d071", + "courier_logo_url": null, + "courier_name": "FedEx Ground® Economy", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0, + "delivery_time_rank": 10, + "description": "No additional taxes to be paid at delivery", + "discount": { "amount": 0, "origin_amount": 0 }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0, + "full_description": "FedEx Ground® Economy (2-5 working days) No additional taxes to be paid at delivery", + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "incoterms": "DDU", + "insurance_fee": 0, + "is_above_threshold": false, + "max_delivery_time": 5, + "min_delivery_time": 2, + "minimum_pickup_fee": 0, + "other_surcharges": null, + "oversized_surcharge": 0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0, + "rates_in_origin_currency": { + "additional_services_surcharge": 0, + "currency": "USD", + "ddp_handling_fee": 0, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0, + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "insurance_fee": 0, + "minimum_pickup_fee": 0, + "oversized_surcharge": 0, + "provincial_sales_tax": 0, + "remote_area_surcharge": 0, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 26.29, + "shipment_charge_total": 26.29, + "total_charge": 26.29, + "warehouse_handling_fee": 0 + }, + "remote_area_surcharge": 0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 26.29, + "shipment_charge_total": 26.29, + "total_charge": 26.29, + "tracking_rating": 3, + "value_for_money_rank": 4, + "warehouse_handling_fee": 0 + }, + { + "additional_services_surcharge": 0, + "available_handover_options": ["dropoff", "free_pickup"], + "cost_rank": 3, + "courier_id": "c3e97b11-2842-44f1-84d1-afaa6b3f0a7c", + "courier_logo_url": null, + "courier_name": "USPS - Ground Advantage", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0, + "delivery_time_rank": 12, + "description": "No additional taxes to be paid at delivery", + "discount": { "amount": 0, "origin_amount": 0 }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0, + "full_description": "USPS - Ground Advantage (2-5 working days) No additional taxes to be paid at delivery", + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "incoterms": "DDU", + "insurance_fee": 0, + "is_above_threshold": false, + "max_delivery_time": 5, + "min_delivery_time": 2, + "minimum_pickup_fee": 0, + "other_surcharges": null, + "oversized_surcharge": 0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0, + "rates_in_origin_currency": { + "additional_services_surcharge": 0, + "currency": "USD", + "ddp_handling_fee": 0, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0, + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "insurance_fee": 0, + "minimum_pickup_fee": 0, + "oversized_surcharge": 0, + "provincial_sales_tax": 0, + "remote_area_surcharge": 0, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 48.56, + "shipment_charge_total": 48.56, + "total_charge": 48.56, + "warehouse_handling_fee": 0 + }, + "remote_area_surcharge": 0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 48.56, + "shipment_charge_total": 48.56, + "total_charge": 48.56, + "tracking_rating": 2, + "value_for_money_rank": 5, + "warehouse_handling_fee": 0 + }, + { + "additional_services_surcharge": 0, + "available_handover_options": ["dropoff", "free_pickup"], + "cost_rank": 4, + "courier_id": "7a1424ff-0d4e-4d55-bdfe-e4c6661debbf", + "courier_logo_url": null, + "courier_name": "USPS - Ground Advantage Signature", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0, + "delivery_time_rank": 11, + "description": "No additional taxes to be paid at delivery", + "discount": { "amount": 0, "origin_amount": 0 }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0, + "full_description": "USPS - Ground Advantage Signature (2-5 working days) No additional taxes to be paid at delivery", + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "incoterms": "DDU", + "insurance_fee": 0, + "is_above_threshold": false, + "max_delivery_time": 5, + "min_delivery_time": 2, + "minimum_pickup_fee": 0, + "other_surcharges": null, + "oversized_surcharge": 0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0, + "rates_in_origin_currency": { + "additional_services_surcharge": 0, + "currency": "USD", + "ddp_handling_fee": 0, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0, + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "insurance_fee": 0, + "minimum_pickup_fee": 0, + "oversized_surcharge": 0, + "provincial_sales_tax": 0, + "remote_area_surcharge": 0, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 52.26, + "shipment_charge_total": 52.26, + "total_charge": 52.26, + "warehouse_handling_fee": 0 + }, + "remote_area_surcharge": 0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 52.26, + "shipment_charge_total": 52.26, + "total_charge": 52.26, + "tracking_rating": 2, + "value_for_money_rank": 6, + "warehouse_handling_fee": 0 + }, + { + "additional_services_surcharge": 0, + "available_handover_options": ["dropoff"], + "cost_rank": 7, + "courier_id": "84135827-1538-4be2-b26e-afd8b3f3b4bd", + "courier_logo_url": null, + "courier_name": "FedEx 2Day®", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0, + "delivery_time_rank": 5, + "description": "No additional taxes to be paid at delivery", + "discount": { "amount": 0, "origin_amount": 0 }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0, + "full_description": "FedEx 2Day® (2 working days) No additional taxes to be paid at delivery", + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "incoterms": "DDU", + "insurance_fee": 0, + "is_above_threshold": false, + "max_delivery_time": 2, + "min_delivery_time": 2, + "minimum_pickup_fee": 0, + "other_surcharges": null, + "oversized_surcharge": 0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0, + "rates_in_origin_currency": { + "additional_services_surcharge": 0, + "currency": "USD", + "ddp_handling_fee": 0, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0, + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "insurance_fee": 0, + "minimum_pickup_fee": 0, + "oversized_surcharge": 0, + "provincial_sales_tax": 0, + "remote_area_surcharge": 0, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 91.69, + "shipment_charge_total": 91.69, + "total_charge": 91.69, + "warehouse_handling_fee": 0 + }, + "remote_area_surcharge": 0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 91.69, + "shipment_charge_total": 91.69, + "total_charge": 91.69, + "tracking_rating": 3, + "value_for_money_rank": 7, + "warehouse_handling_fee": 0 + }, + { + "additional_services_surcharge": 0, + "available_handover_options": ["dropoff", "free_pickup"], + "cost_rank": 9, + "courier_id": "a623a62b-5631-4dce-ae15-bbcf89e49c52", + "courier_logo_url": null, + "courier_name": "USPS - Priority Mail Express", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0, + "delivery_time_rank": 3, + "description": "No additional taxes to be paid at delivery", + "discount": { "amount": 0, "origin_amount": 0 }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0, + "full_description": "USPS - Priority Mail Express (1-2 working days) No additional taxes to be paid at delivery", + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "incoterms": "DDU", + "insurance_fee": 0, + "is_above_threshold": false, + "max_delivery_time": 2, + "min_delivery_time": 1, + "minimum_pickup_fee": 0, + "other_surcharges": null, + "oversized_surcharge": 0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0, + "rates_in_origin_currency": { + "additional_services_surcharge": 0, + "currency": "USD", + "ddp_handling_fee": 0, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0, + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "insurance_fee": 0, + "minimum_pickup_fee": 0, + "oversized_surcharge": 0, + "provincial_sales_tax": 0, + "remote_area_surcharge": 0, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 180.55, + "shipment_charge_total": 180.55, + "total_charge": 180.55, + "warehouse_handling_fee": 0 + }, + "remote_area_surcharge": 0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 180.55, + "shipment_charge_total": 180.55, + "total_charge": 180.55, + "tracking_rating": 2, + "value_for_money_rank": 8, + "warehouse_handling_fee": 0 + }, + { + "additional_services_surcharge": 0, + "available_handover_options": ["dropoff"], + "cost_rank": 8, + "courier_id": "a9e3f424-713c-4efa-b445-71cd60c88ccd", + "courier_logo_url": null, + "courier_name": "FedEx Express Saver®", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0, + "delivery_time_rank": 9, + "description": "No additional taxes to be paid at delivery", + "discount": { "amount": 0, "origin_amount": 0 }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 19, + "full_description": "FedEx Express Saver® (2-3 working days) No additional taxes to be paid at delivery", + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "incoterms": "DDU", + "insurance_fee": 0, + "is_above_threshold": false, + "max_delivery_time": 3, + "min_delivery_time": 2, + "minimum_pickup_fee": 0, + "other_surcharges": null, + "oversized_surcharge": 0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0, + "rates_in_origin_currency": { + "additional_services_surcharge": 0, + "currency": "USD", + "ddp_handling_fee": 0, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 19, + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "insurance_fee": 0, + "minimum_pickup_fee": 0, + "oversized_surcharge": 0, + "provincial_sales_tax": 0, + "remote_area_surcharge": 0, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 120.64, + "shipment_charge_total": 139.64, + "total_charge": 139.64, + "warehouse_handling_fee": 0 + }, + "remote_area_surcharge": 0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 120.64, + "shipment_charge_total": 139.64, + "total_charge": 139.64, + "tracking_rating": 3, + "value_for_money_rank": 9, + "warehouse_handling_fee": 0 + }, + { + "additional_services_surcharge": 0, + "available_handover_options": ["dropoff"], + "cost_rank": 11, + "courier_id": "de8835b8-17c5-4878-b636-9f9fdbab9265", + "courier_logo_url": null, + "courier_name": "FedEx Standard Overnight®", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0, + "delivery_time_rank": 2, + "description": "No additional taxes to be paid at delivery", + "discount": { "amount": 0, "origin_amount": 0 }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 31.94, + "full_description": "FedEx Standard Overnight® (1 working day) No additional taxes to be paid at delivery", + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "incoterms": "DDU", + "insurance_fee": 0, + "is_above_threshold": false, + "max_delivery_time": 1, + "min_delivery_time": 1, + "minimum_pickup_fee": 0, + "other_surcharges": null, + "oversized_surcharge": 0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0, + "rates_in_origin_currency": { + "additional_services_surcharge": 0, + "currency": "USD", + "ddp_handling_fee": 0, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 31.94, + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "insurance_fee": 0, + "minimum_pickup_fee": 0, + "oversized_surcharge": 0, + "provincial_sales_tax": 0, + "remote_area_surcharge": 0, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 202.79, + "shipment_charge_total": 234.73, + "total_charge": 234.73, + "warehouse_handling_fee": 0 + }, + "remote_area_surcharge": 0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 202.79, + "shipment_charge_total": 234.73, + "total_charge": 234.73, + "tracking_rating": 3, + "value_for_money_rank": 10, + "warehouse_handling_fee": 0 + }, + { + "additional_services_surcharge": 0, + "available_handover_options": ["dropoff"], + "cost_rank": 12, + "courier_id": "8fb58899-7c4d-43b3-be2c-ec4c2d3ba375", + "courier_logo_url": null, + "courier_name": "FedEx Priority Overnight®", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0, + "delivery_time_rank": 1, + "description": "No additional taxes to be paid at delivery", + "discount": { "amount": 0, "origin_amount": 0 }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 33.19, + "full_description": "FedEx Priority Overnight® (1 working day) No additional taxes to be paid at delivery", + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "incoterms": "DDU", + "insurance_fee": 0, + "is_above_threshold": false, + "max_delivery_time": 1, + "min_delivery_time": 1, + "minimum_pickup_fee": 0, + "other_surcharges": null, + "oversized_surcharge": 0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0, + "rates_in_origin_currency": { + "additional_services_surcharge": 0, + "currency": "USD", + "ddp_handling_fee": 0, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 33.19, + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "insurance_fee": 0, + "minimum_pickup_fee": 0, + "oversized_surcharge": 0, + "provincial_sales_tax": 0, + "remote_area_surcharge": 0, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 210.72, + "shipment_charge_total": 243.91, + "total_charge": 243.91, + "warehouse_handling_fee": 0 + }, + "remote_area_surcharge": 0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 210.72, + "shipment_charge_total": 243.91, + "total_charge": 243.91, + "tracking_rating": 3, + "value_for_money_rank": 11, + "warehouse_handling_fee": 0 + }, + { + "additional_services_surcharge": 0, + "available_handover_options": ["dropoff"], + "cost_rank": 10, + "courier_id": "5eee483f-1416-42bb-8f7d-3ad384f3ee36", + "courier_logo_url": null, + "courier_name": "FedEx 2Day® A.M.", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0, + "delivery_time_rank": 4, + "description": "No additional taxes to be paid at delivery", + "discount": { "amount": 0, "origin_amount": 0 }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 26.78, + "full_description": "FedEx 2Day® A.M. (2 working days) No additional taxes to be paid at delivery", + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "incoterms": "DDU", + "insurance_fee": 0, + "is_above_threshold": false, + "max_delivery_time": 2, + "min_delivery_time": 2, + "minimum_pickup_fee": 0, + "other_surcharges": null, + "oversized_surcharge": 0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0, + "rates_in_origin_currency": { + "additional_services_surcharge": 0, + "currency": "USD", + "ddp_handling_fee": 0, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 26.78, + "import_duty_charge": 0, + "import_tax_charge": 0, + "import_tax_non_chargeable": 0, + "insurance_fee": 0, + "minimum_pickup_fee": 0, + "oversized_surcharge": 0, + "provincial_sales_tax": 0, + "remote_area_surcharge": 0, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 170.04, + "shipment_charge_total": 196.82, + "total_charge": 196.82, + "warehouse_handling_fee": 0 + }, + "remote_area_surcharge": 0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0, + "shipment_charge": 170.04, + "shipment_charge_total": 196.82, + "total_charge": 196.82, + "tracking_rating": 3, + "value_for_money_rank": 12, + "warehouse_handling_fee": 0 + } + ], + "meta": { + "pagination": { "page": 1, "next": null, "count": 12 }, + "request_id": "269d0680c54e55d25df3fa09191f07ad" + } +} +""" diff --git a/modules/connectors/easyship/tests/easyship/test_shipment.py b/modules/connectors/easyship/tests/easyship/test_shipment.py new file mode 100644 index 0000000000..81ff230f8d --- /dev/null +++ b/modules/connectors/easyship/tests/easyship/test_shipment.py @@ -0,0 +1,1092 @@ +import unittest +from unittest.mock import patch, ANY +from .fixture import gateway +from tests import logger + +import karrio +import karrio.lib as lib +import karrio.core.models as models + + +class TestEasyshipShipping(unittest.TestCase): + def setUp(self): + self.maxDiff = None + self.ShipmentRequest = models.ShipmentRequest(**ShipmentPayload) + self.ShipmentCancelRequest = models.ShipmentCancelRequest( + **ShipmentCancelPayload + ) + + def test_create_shipment_request(self): + request = gateway.mapper.create_shipment_request(self.ShipmentRequest) + + self.assertEqual(request.serialize(), ShipmentRequest) + + def test_create_cancel_shipment_request(self): + request = gateway.mapper.create_cancel_shipment_request( + self.ShipmentCancelRequest + ) + + self.assertEqual(request.serialize(), ShipmentCancelRequest) + + def test_create_shipment(self): + with patch("karrio.mappers.easyship.proxy.lib.request") as mock: + mock.return_value = "{}" + karrio.Shipment.create(self.ShipmentRequest).from_(gateway) + + self.assertEqual( + mock.call_args[1]["url"], + f"{gateway.settings.server_url}/2023-01/shipments", + ) + + def test_cancel_shipment(self): + with patch("karrio.mappers.easyship.proxy.lib.request") as mock: + mock.return_value = "{}" + karrio.Shipment.cancel(self.ShipmentCancelRequest).from_(gateway) + + self.assertEqual( + mock.call_args[1]["url"], + f"{gateway.settings.server_url}/2023-01/shipments/ESUS220509144/cancel", + ) + + def test_parse_shipment_response(self): + with patch("karrio.mappers.easyship.proxy.lib.request") as mock: + mock.return_value = ShipmentResponse + parsed_response = ( + karrio.Shipment.create(self.ShipmentRequest).from_(gateway).parse() + ) + + self.assertListEqual(lib.to_dict(parsed_response), ParsedShipmentResponse) + + def test_parse_cancel_shipment_response(self): + with patch("karrio.mappers.easyship.proxy.lib.request") as mock: + mock.return_value = ShipmentCancelResponse + parsed_response = ( + karrio.Shipment.cancel(self.ShipmentCancelRequest) + .from_(gateway) + .parse() + ) + + self.assertListEqual( + lib.to_dict(parsed_response), ParsedCancelShipmentResponse + ) + + +if __name__ == "__main__": + unittest.main() + + +ShipmentPayload = { + "shipper": { + "company_name": "Test Plc.", + "address_line1": "Kennedy Town", + "address_line2": "Block 3", + "city": "Hong Kong", + "postal_code": "0000", + "country_code": "HK", + "person_name": "Foo Bar", + "state_code": "Yuen Long", + "email": "asd@asd.com", + "phone_number": "+852-3008-5678", + }, + "recipient": { + "company_name": "Test Plc.", + "address_line1": "Kennedy Town", + "address_line2": "Block 3", + "city": "Hong Kong", + "postal_code": "0000", + "country_code": "HK", + "person_name": "Foo Bar", + "state_code": "Yuen Long", + "email": "asd@asd.com", + "phone_number": "+852-3008-5678", + }, + "parcels": [ + { + "height": 10.0, + "length": 10.0, + "weight": 1.0, + "width": 10.0, + "dimension_unit": "CM", + "weight_unit": "KG", + "options": { + "easyship_box_slug": "custom", + }, + "items": [ + { + "sku": "sku", + "quantity": 2, + "weight": 10, + "weight_unit": "KG", + "origin_country": "HK", + "value_amount": 20, + "value_currency": "USD", + "description": "item", + "hs_code": "123456", + "metadata": { + "contains_battery_pi966": True, + "contains_battery_pi967": True, + "contains_liquids": True, + }, + } + ], + } + ], + "service": "easyship_ups_ground_saver", + "reference": "string", + "options": { + "easyship_signature_required": True, + "easyship_allow_courier_fallback": False, + "easyship_apply_shipping_rules": True, + "easyship_list_unavailable_couriers": True, + "easyship_incoterms": "DDU", + "easyship_courier_id": "b85683b8-1d32-41d7-b9af-63ae712ef3fe", + }, +} + +ShipmentCancelPayload = { + "shipment_identifier": "ESUS220509144", +} + +ParsedShipmentResponse = [ + { + "carrier_id": "easyship", + "carrier_name": "easyship", + "docs": {"label": ANY}, + "label_type": "PNG", + "meta": { + "easyship_courier_account_id": "7505df80-af51-46a0-b2ee-ac9eacfcd3e4", + "easyship_courier_id": "b85683b8-1d32-41d7-b9af-63ae712ef3fe", + "easyship_shipment_id": "ESUS220509144", + "tracking_numbers": ["9405509104250026972189"], + "rate_provider": "ups", + }, + "shipment_identifier": "ESUS220509144", + "tracking_number": "9405509104250026972189", + }, + [], +] + +ParsedCancelShipmentResponse = ParsedCancelShipmentResponse = [ + { + "carrier_id": "easyship", + "carrier_name": "easyship", + "operation": "Cancel Shipment", + "success": True, + }, + [], +] + + +ShipmentRequest = { + "courier_selection": { + "allow_courier_fallback": False, + "apply_shipping_rules": True, + "list_unavailable_couriers": True, + "selected_courier_id": "b85683b8-1d32-41d7-b9af-63ae712ef3fe", + }, + "destination_address": { + "city": "Hong Kong", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+852-3008-5678", + "country_alpha2": "HK", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long", + }, + "incoterms": "DDU", + "metadata": {}, + "insurance": {"is_insured": False}, + "origin_address": { + "city": "Hong Kong", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+852-3008-5678", + "country_alpha2": "HK", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long", + }, + "return_address": { + "city": "Hong Kong", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+852-3008-5678", + "country_alpha2": "HK", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long", + }, + "sender_address": { + "city": "Hong Kong", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+852-3008-5678", + "country_alpha2": "HK", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long", + }, + "set_as_residential": False, + "shipping_settings": { + "buy_label": True, + "buy_label_synchronous": True, + "printing_options": { + "commercial_invoice": "A4", + "format": "pdf", + "label": "4x6", + "remarks": "string", + }, + "units": { + "dimensions": "cm", + "weight": "kg", + }, + }, + "parcels": [ + { + "box": { + "height": 10.0, + "length": 10.0, + "width": 10.0, + "slug": "custom", + }, + "items": [ + { + "category": "bags_luggages", + "actual_weight": 10.0, + "contains_battery_pi966": True, + "contains_battery_pi967": True, + "contains_liquids": True, + "declared_currency": "USD", + "declared_customs_value": 20, + "description": "item", + "hs_code": "123456", + "origin_country_alpha2": "HK", + "quantity": 2, + "sku": "sku", + } + ], + "total_actual_weight": 1.0, + } + ], +} + + +ShipmentCancelRequest = {"easyship_shipment_id": "ESUS220509144"} + +ShipmentResponse = """{ + "shipment": { + "easyship_shipment_id": "ESUS220509144", + "buyer_regulatory_identifiers": { + "ein": null, + "ssn": null, + "vat_number": null + }, + "consignee_tax_id": null, + "courier": { + "id": "7505df80-af51-46a0-b2ee-ac9eacfcd3e4", + "name": "USPS - Priority Mail" + }, + "created_at": "2024-09-27T12:52:39Z", + "currency": "USD", + "delivery_state": "not_created", + "destination_address": { + "city": "Los Angeles", + "company_name": "Destination Company", + "contact_email": "destination@example.com", + "contact_name": "John Doe", + "contact_phone": "+13101234567", + "country_alpha2": "US", + "line_1": "1234 Sunset Blvd", + "line_2": "Suite 101", + "postal_code": "90026", + "state": "CA" + }, + "incoterms": "DDU", + "insurance": { + "is_insured": false, + "insured_amount": 960.85, + "insured_currency": "USD" + }, + "label_generated_at": "2024-09-27T12:52:43Z", + "label_paid_at": "2024-09-27T12:52:41Z", + "label_state": "generated", + "last_failure_http_response_messages": [], + "metadata": {}, + "order_created_at": null, + "order_data": { + "buyer_notes": null, + "buyer_selected_courier_name": null, + "order_created_at": null, + "order_tag_list": [], + "platform_name": null, + "platform_order_number": null, + "seller_notes": null + }, + "origin_address": { + "city": "New York", + "company_name": "Origin Company", + "contact_email": "origin@example.com", + "contact_name": "Jane Smith", + "contact_phone": "+1 212-987-6543", + "country_alpha2": "US", + "line_1": "5678 Broadway St", + "line_2": "Floor 5", + "postal_code": "10036", + "state": "NY" + }, + "parcels": [ + { + "box": { + "id": null, + "name": null, + "outer_dimensions": { + "length": 15.0, + "width": 20.0, + "height": 10.0 + }, + "slug": null, + "type": "box", + "weight": 0.0 + }, + "id": "d69117bd-e78a-48e5-8e21-1a41300e4c7e", + "items": [ + { + "actual_weight": 0.5143650953055422, + "category": null, + "contains_battery_pi966": null, + "contains_battery_pi967": null, + "contains_liquids": null, + "declared_currency": "USD", + "declared_customs_value": 500.0, + "description": "Smartphone", + "dimensions": { + "length": 0.0, + "width": 0.0, + "height": 0.0 + }, + "hs_code": "1000000000", + "id": "0e763da2-7aff-479e-89ef-d93751b9f9a1", + "origin_country_alpha2": "US", + "origin_currency": "USD", + "origin_customs_value": 500.0, + "quantity": 1, + "sku": "ELEC-001" + }, + { + "actual_weight": 0.2468952457466602, + "category": null, + "contains_battery_pi966": null, + "contains_battery_pi967": null, + "contains_liquids": true, + "declared_currency": "USD", + "declared_customs_value": 150.0, + "description": "Shampoo Bottle", + "dimensions": { + "length": 0.0, + "width": 0.0, + "height": 0.0 + }, + "hs_code": "1000000001", + "id": "a037b58a-8055-41b6-9687-4084f85649e5", + "origin_country_alpha2": "US", + "origin_currency": "USD", + "origin_customs_value": 150.0, + "quantity": 3, + "sku": "BEAUTY-002" + } + ], + "total_actual_weight": 0.761260341052 + } + ], + "pickup_state": "not_requested", + "rates": [ + { + "additional_services_surcharge": 0.0, + "available_handover_options": [ + "dropoff", + "free_pickup" + ], + "cost_rank": 3.0, + "courier_id": "7505df80-af51-46a0-b2ee-ac9eacfcd3e4", + "courier_logo_url": null, + "courier_name": "USPS - Priority Mail", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0.0, + "delivery_time_rank": 10.0, + "description": null, + "discount": { + "amount": 0, + "origin_amount": 0 + }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0.0, + "full_description": null, + "import_duty_charge": 0.0, + "import_tax_charge": 0.0, + "import_tax_non_chargeable": 0.0, + "incoterms": "DDU", + "insurance_fee": 0.0, + "is_above_threshold": false, + "max_delivery_time": 3, + "min_delivery_time": 1, + "minimum_pickup_fee": 0.0, + "other_surcharges": null, + "oversized_surcharge": 0.0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0.0, + "rates_in_origin_currency": null, + "remote_area_surcharge": 0.0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0.0, + "shipment_charge": 10.85, + "shipment_charge_total": 10.85, + "total_charge": 10.85, + "tracking_rating": 2.0, + "value_for_money_rank": 1.0, + "warehouse_handling_fee": 0.0 + }, + { + "additional_services_surcharge": 0.0, + "available_handover_options": [ + "dropoff", + "free_pickup" + ], + "cost_rank": 8.0, + "courier_id": "137a79e8-ae1c-4369-9855-44cf8ff784c4", + "courier_logo_url": null, + "courier_name": "USPS - Priority Mail Signature", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0.0, + "delivery_time_rank": 9.0, + "description": null, + "discount": { + "amount": 0, + "origin_amount": 0 + }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0.0, + "full_description": null, + "import_duty_charge": 0.0, + "import_tax_charge": 0.0, + "import_tax_non_chargeable": 0.0, + "incoterms": "DDU", + "insurance_fee": 0.0, + "is_above_threshold": false, + "max_delivery_time": 3, + "min_delivery_time": 1, + "minimum_pickup_fee": 0.0, + "other_surcharges": null, + "oversized_surcharge": 0.0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0.0, + "rates_in_origin_currency": null, + "remote_area_surcharge": 0.0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0.0, + "shipment_charge": 14.55, + "shipment_charge_total": 14.55, + "total_charge": 14.55, + "tracking_rating": 2.0, + "value_for_money_rank": 3.0, + "warehouse_handling_fee": 0.0 + }, + { + "additional_services_surcharge": 0.0, + "available_handover_options": [ + "dropoff" + ], + "cost_rank": 9.0, + "courier_id": "4cf66d63-4e4a-456b-86c1-50964ad9f7b7", + "courier_logo_url": null, + "courier_name": "FedEx Ground®", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0.0, + "delivery_time_rank": 6.0, + "description": null, + "discount": { + "amount": 0, + "origin_amount": 0 + }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 2.13, + "full_description": null, + "import_duty_charge": 0.0, + "import_tax_charge": 0.0, + "import_tax_non_chargeable": 0.0, + "incoterms": "DDU", + "insurance_fee": 0.0, + "is_above_threshold": false, + "max_delivery_time": 3, + "min_delivery_time": 1, + "minimum_pickup_fee": 0.0, + "other_surcharges": null, + "oversized_surcharge": 0.0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0.0, + "rates_in_origin_currency": null, + "remote_area_surcharge": 0.0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0.0, + "shipment_charge": 13.29, + "shipment_charge_total": 15.42, + "total_charge": 15.42, + "tracking_rating": 3.0, + "value_for_money_rank": 4.0, + "warehouse_handling_fee": 0.0 + }, + { + "additional_services_surcharge": 0.0, + "available_handover_options": [ + "dropoff", + "free_pickup" + ], + "cost_rank": 1.0, + "courier_id": "c3e97b11-2842-44f1-84d1-afaa6b3f0a7c", + "courier_logo_url": null, + "courier_name": "USPS - Ground Advantage", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0.0, + "delivery_time_rank": 16.0, + "description": null, + "discount": { + "amount": 0, + "origin_amount": 0 + }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0.0, + "full_description": null, + "import_duty_charge": 0.0, + "import_tax_charge": 0.0, + "import_tax_non_chargeable": 0.0, + "incoterms": "DDU", + "insurance_fee": 0.0, + "is_above_threshold": false, + "max_delivery_time": 5, + "min_delivery_time": 2, + "minimum_pickup_fee": 0.0, + "other_surcharges": null, + "oversized_surcharge": 0.0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0.0, + "rates_in_origin_currency": null, + "remote_area_surcharge": 0.0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0.0, + "shipment_charge": 8.0, + "shipment_charge_total": 8.0, + "total_charge": 8.0, + "tracking_rating": 2.0, + "value_for_money_rank": 6.0, + "warehouse_handling_fee": 0.0 + }, + { + "additional_services_surcharge": 0.0, + "available_handover_options": [ + "dropoff", + "free_pickup" + ], + "cost_rank": 4.0, + "courier_id": "7a1424ff-0d4e-4d55-bdfe-e4c6661debbf", + "courier_logo_url": null, + "courier_name": "USPS - Ground Advantage Signature", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0.0, + "delivery_time_rank": 15.0, + "description": null, + "discount": { + "amount": 0, + "origin_amount": 0 + }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0.0, + "full_description": null, + "import_duty_charge": 0.0, + "import_tax_charge": 0.0, + "import_tax_non_chargeable": 0.0, + "incoterms": "DDU", + "insurance_fee": 0.0, + "is_above_threshold": false, + "max_delivery_time": 5, + "min_delivery_time": 2, + "minimum_pickup_fee": 0.0, + "other_surcharges": null, + "oversized_surcharge": 0.0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0.0, + "rates_in_origin_currency": null, + "remote_area_surcharge": 0.0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0.0, + "shipment_charge": 11.7, + "shipment_charge_total": 11.7, + "total_charge": 11.7, + "tracking_rating": 2.0, + "value_for_money_rank": 8.0, + "warehouse_handling_fee": 0.0 + }, + { + "additional_services_surcharge": 0.0, + "available_handover_options": [ + "dropoff" + ], + "cost_rank": 7.0, + "courier_id": "eac604a4-34c9-41b6-b5b1-231fb785d071", + "courier_logo_url": null, + "courier_name": "FedEx Ground® Economy", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0.0, + "delivery_time_rank": 12.0, + "description": null, + "discount": { + "amount": 0, + "origin_amount": 0 + }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0.0, + "full_description": null, + "import_duty_charge": 0.0, + "import_tax_charge": 0.0, + "import_tax_non_chargeable": 0.0, + "incoterms": "DDU", + "insurance_fee": 0.0, + "is_above_threshold": false, + "max_delivery_time": 5, + "min_delivery_time": 2, + "minimum_pickup_fee": 0.0, + "other_surcharges": null, + "oversized_surcharge": 0.0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0.0, + "rates_in_origin_currency": null, + "remote_area_surcharge": 0.0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0.0, + "shipment_charge": 14.09, + "shipment_charge_total": 14.09, + "total_charge": 14.09, + "tracking_rating": 3.0, + "value_for_money_rank": 10.0, + "warehouse_handling_fee": 0.0 + }, + { + "additional_services_surcharge": 0.0, + "available_handover_options": [ + "dropoff", + "free_pickup" + ], + "cost_rank": 14.0, + "courier_id": "a623a62b-5631-4dce-ae15-bbcf89e49c52", + "courier_logo_url": null, + "courier_name": "USPS - Priority Mail Express", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0.0, + "delivery_time_rank": 3.0, + "description": null, + "discount": { + "amount": 0, + "origin_amount": 0 + }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0.0, + "full_description": null, + "import_duty_charge": 0.0, + "import_tax_charge": 0.0, + "import_tax_non_chargeable": 0.0, + "incoterms": "DDU", + "insurance_fee": 0.0, + "is_above_threshold": false, + "max_delivery_time": 2, + "min_delivery_time": 1, + "minimum_pickup_fee": 0.0, + "other_surcharges": null, + "oversized_surcharge": 0.0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0.0, + "rates_in_origin_currency": null, + "remote_area_surcharge": 0.0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0.0, + "shipment_charge": 54.15, + "shipment_charge_total": 54.15, + "total_charge": 54.15, + "tracking_rating": 2.0, + "value_for_money_rank": 11.0, + "warehouse_handling_fee": 0.0 + }, + { + "additional_services_surcharge": 0.0, + "available_handover_options": [ + "dropoff" + ], + "cost_rank": 11.0, + "courier_id": "a9e3f424-713c-4efa-b445-71cd60c88ccd", + "courier_logo_url": null, + "courier_name": "FedEx Express Saver®", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0.0, + "delivery_time_rank": 11.0, + "description": null, + "discount": { + "amount": 0, + "origin_amount": 0 + }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 4.75, + "full_description": null, + "import_duty_charge": 0.0, + "import_tax_charge": 0.0, + "import_tax_non_chargeable": 0.0, + "incoterms": "DDU", + "insurance_fee": 0.0, + "is_above_threshold": false, + "max_delivery_time": 3, + "min_delivery_time": 2, + "minimum_pickup_fee": 0.0, + "other_surcharges": null, + "oversized_surcharge": 0.0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0.0, + "rates_in_origin_currency": null, + "remote_area_surcharge": 0.0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0.0, + "shipment_charge": 30.15, + "shipment_charge_total": 34.9, + "total_charge": 34.9, + "tracking_rating": 3.0, + "value_for_money_rank": 12.0, + "warehouse_handling_fee": 0.0 + }, + { + "additional_services_surcharge": 0.0, + "available_handover_options": [ + "dropoff" + ], + "cost_rank": 12.0, + "courier_id": "84135827-1538-4be2-b26e-afd8b3f3b4bd", + "courier_logo_url": null, + "courier_name": "FedEx 2Day®", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0.0, + "delivery_time_rank": 5.0, + "description": null, + "discount": { + "amount": 0, + "origin_amount": 0 + }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 0.0, + "full_description": null, + "import_duty_charge": 0.0, + "import_tax_charge": 0.0, + "import_tax_non_chargeable": 0.0, + "incoterms": "DDU", + "insurance_fee": 0.0, + "is_above_threshold": false, + "max_delivery_time": 2, + "min_delivery_time": 2, + "minimum_pickup_fee": 0.0, + "other_surcharges": null, + "oversized_surcharge": 0.0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0.0, + "rates_in_origin_currency": null, + "remote_area_surcharge": 0.0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0.0, + "shipment_charge": 41.67, + "shipment_charge_total": 41.67, + "total_charge": 41.67, + "tracking_rating": 3.0, + "value_for_money_rank": 13.0, + "warehouse_handling_fee": 0.0 + }, + { + "additional_services_surcharge": 0.0, + "available_handover_options": [ + "dropoff" + ], + "cost_rank": 13.0, + "courier_id": "5eee483f-1416-42bb-8f7d-3ad384f3ee36", + "courier_logo_url": null, + "courier_name": "FedEx 2Day® A.M.", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0.0, + "delivery_time_rank": 4.0, + "description": null, + "discount": { + "amount": 0, + "origin_amount": 0 + }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 6.27, + "full_description": null, + "import_duty_charge": 0.0, + "import_tax_charge": 0.0, + "import_tax_non_chargeable": 0.0, + "incoterms": "DDU", + "insurance_fee": 0.0, + "is_above_threshold": false, + "max_delivery_time": 2, + "min_delivery_time": 2, + "minimum_pickup_fee": 0.0, + "other_surcharges": null, + "oversized_surcharge": 0.0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0.0, + "rates_in_origin_currency": null, + "remote_area_surcharge": 0.0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0.0, + "shipment_charge": 39.82, + "shipment_charge_total": 46.09, + "total_charge": 46.09, + "tracking_rating": 3.0, + "value_for_money_rank": 14.0, + "warehouse_handling_fee": 0.0 + }, + { + "additional_services_surcharge": 0.0, + "available_handover_options": [ + "dropoff" + ], + "cost_rank": 15.0, + "courier_id": "de8835b8-17c5-4878-b636-9f9fdbab9265", + "courier_logo_url": null, + "courier_name": "FedEx Standard Overnight®", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0.0, + "delivery_time_rank": 2.0, + "description": null, + "discount": { + "amount": 0, + "origin_amount": 0 + }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 11.62, + "full_description": null, + "import_duty_charge": 0.0, + "import_tax_charge": 0.0, + "import_tax_non_chargeable": 0.0, + "incoterms": "DDU", + "insurance_fee": 0.0, + "is_above_threshold": false, + "max_delivery_time": 1, + "min_delivery_time": 1, + "minimum_pickup_fee": 0.0, + "other_surcharges": null, + "oversized_surcharge": 0.0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0.0, + "rates_in_origin_currency": null, + "remote_area_surcharge": 0.0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0.0, + "shipment_charge": 73.77, + "shipment_charge_total": 85.39, + "total_charge": 85.39, + "tracking_rating": 3.0, + "value_for_money_rank": 15.0, + "warehouse_handling_fee": 0.0 + }, + { + "additional_services_surcharge": 0.0, + "available_handover_options": [ + "dropoff" + ], + "cost_rank": 16.0, + "courier_id": "8fb58899-7c4d-43b3-be2c-ec4c2d3ba375", + "courier_logo_url": null, + "courier_name": "FedEx Priority Overnight®", + "courier_remarks": null, + "currency": "USD", + "ddp_handling_fee": 0.0, + "delivery_time_rank": 1.0, + "description": null, + "discount": { + "amount": 0, + "origin_amount": 0 + }, + "easyship_rating": null, + "estimated_import_duty": 0, + "estimated_import_tax": 0, + "fuel_surcharge": 12.75, + "full_description": null, + "import_duty_charge": 0.0, + "import_tax_charge": 0.0, + "import_tax_non_chargeable": 0.0, + "incoterms": "DDU", + "insurance_fee": 0.0, + "is_above_threshold": false, + "max_delivery_time": 1, + "min_delivery_time": 1, + "minimum_pickup_fee": 0.0, + "other_surcharges": null, + "oversized_surcharge": 0.0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0.0, + "rates_in_origin_currency": null, + "remote_area_surcharge": 0.0, + "remote_area_surcharges": null, + "residential_discounted_fee": null, + "residential_full_fee": null, + "sales_tax": 0.0, + "shipment_charge": 80.96, + "shipment_charge_total": 93.71, + "total_charge": 93.71, + "tracking_rating": 3.0, + "value_for_money_rank": 16.0, + "warehouse_handling_fee": 0.0 + } + ], + "regulatory_identifiers": { + "eori": null, + "ioss": null, + "vat_number": null + }, + "return": false, + "return_address": { + "city": "Los Angeles", + "company_name": "company", + "contact_email": "shipper@company.com", + "contact_name": "Test shipper", + "contact_phone": "+13234747688", + "country_alpha2": "US", + "line_1": "6303 Eunice Ave", + "line_2": "", + "postal_code": "90042", + "state": "California" + }, + "sender_address": { + "city": "Los Angeles", + "company_name": "company", + "contact_email": "shipper@company.com", + "contact_name": "Test shipper", + "contact_phone": "+13234747688", + "country_alpha2": "US", + "line_1": "6303 Eunice Ave", + "line_2": "", + "postal_code": "90042", + "state": "California" + }, + "set_as_residential": false, + "shipment_state": "created", + "shipping_documents": [ + { + "base64_encoded_strings": [ + "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" + ], + "category": "label", + "format": "png", + "page_size": "4x6", + "required": true, + "url": null + }, + { + "base64_encoded_strings": [ + "iVBORw0KGgoAAAANSUhEUgAABLAAAAcICAAAAAAJO2eWAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAAASwAAAEsAHOI6VIAAAAHdElNRQfoCRsMNC7SLYb8AACAAElEQVR42uz9TY7zzOP2fR356ydG3EI+kRASE+R+NoDcAxbgLMEtMWDqXoKzhGQJzhKSBTCIBywgFoyY8MQzJghswT0CIZmB3+1y4nSnXyr9/Qyuq0/HKdvl8pHy+6oUANjhv6gCALYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1/vOVhWdJlhapJPmO6/u/vFgAv92qvGPcWyMMyip2x2zwqRME/myRpRZ+tKjYRpZJup5ot0YpjmmWFpLjub7vfLCWFxRSHNMskeQ7XuDSLgGjLwuszb6YjuBH/kyRSwNrWbGSVOyTpPrL8Wcy4PYo2W7f+5cTRKORkpma8Jw7CpmMYlyeWrqp/n+6sh7SY/vn9qNjAL9SudwdZZ29mVGi3FzklamV9xdblnk0HCG8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VHID6Zh1289KClxtNzvJ81UcCy+VAndrQWClr4N/OievXcq++lGf40ckjwNk8HzRQyAd3/qFXxxJyl57F310QeifjJ8Zxv4Q9hLwB3cJ++9EUPtuhurIVZk3R1i83Km3kd+/pcT9g1BO89C+fHgsPe6qoS+alBaNv9Mrvi08nhQsNbua08+mQz60AmnD+JOBVZbnyJPkhN3hm0voSCrLPPIk+XFZntxqC7Tgp/3SXtzphL1DRIcumLsl7WebH5ke/3mq+0Duoamtppxe4YfxSF1gTT8zDPkAdgmBJ1HdSuS64yftpakkx/PvKy1JJNfrnc7LjoXke854pLmSp59dG3shAguANbgOC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgsANYgsABYg8ACYA0CC4A1CCwA1iCwAFiDwAJgDQILgDUILADWILAAWIPAAmANAguANQgs4O9Ztf697R9R4Ga1XjBW9v5v9W//kW82/sO6A/6w4ng8nj5fzHHRtF4Lqcg+8M0WgQX8Rd5WkpQlRyWb7WdLS7IlY+0LBb7jfOCbLQIL+Iscv/p/mL0W+88GVvK2aLRMOnzsmy0CC/jT3O17cQw+/v0sS9OFu3XOh7/ZIrCAvy14V/qJwNrvvvObnCUE/ra237Nfv65W/zZtpyd7f1mt1kdtVqtqQLFbr1Yv7+nSkovderX691YXuFrtpFVT1getSlYY8Nes5LenBrMXRVspfWsOf4exJGn/Xv1zW+xUSt0Yzja8WmDj+F5UfwSxI6lJqvL2N+exSwj8bXvJk4p1odDxs3T//2/n7o4bhaEwDL8taEtQSiAl4BLkEnAJUIIpAUowJVglmBJCCVYJ2gsQSdaJl6w9s2b8PTdh/KPo6puDOMe0uQO6Haaw1rdVNn6u3wTrstC3YWeW3EJ2WyhM7ruhG07Aka7l5g6KKCLPBvJ0eTJwjrGBfYwxxj2UMcazwZzS+8QYz5Yixhjj0WCvLTg5G2hijPHs0tLlV3lz+c1rdIYl8oyC995731WbQGmghxKAEnqgCxwymBu26AYzXuUlw4Lu+DZQFgCmMdThTtvWLaHIM+rfB2KKPVCkuzyf/sydWlUYXyim4/mywhd//weYMQExZRW8u8+2VWGJPDOTNw1AludA31VTJ2fPHDHjGZanTvOHsKBg6nHp+aMbi7Z7UIUl8owuH81573vmLofhvd1hvPiUUQvy58MC9n7bVmCJCFDVkFlril9/vpOiqnD/f5cKLBGBqsbtP5VCl1VU/rMlw/cr/TOdYYkIdOQHC3PMZHPeBD+9kHInVNWCEcDs/Ydj+nQOdjsFlojAkDJlekqYkwaTp4k/Rz8lVlcv6VJwhJRY9Y+Ls28psEQE0o1bvxvLoQLGdoZ+6rlysA0AoWJJp7uDaepwN8wdETdTYIkI5Pht67tqA3gPtmR46byvNmFMJ9swvFTe169hUf7YhvC6875+befm09tp+Fnk+VxOHPupkdQcXxkHlHdTadX4bhxYTtPQaTr6+oIfPp8fxoCrauKib35PFZaIQH5yFmz5ljVmbJxqDs5g3LGY2xpOZQbGHZtlSxZvZQZkzdHcbZuqsETkqpchOz3KXtSHJSKX2oHp4MkPd2tKuJ0CS0QuDTW2ABh28AAt7hPdEorIpX4TcLnFtwF3eJhtKbBE5At+mw7bszsemt9KgSUiXwl13wdM5ooH2pQCS0RWQ31YIrIaCiwRWQ0FloishgJLRFZDgSUiq6HAEpHVUGCJyGoosERkNRRYIrIaCiwRWQ0FloishgJLRFZDgSUiq6HAEpHV+A3Be5DJeZSNiQAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAyNC0wOS0yN1QxMjo1Mjo0NiswMDowMMjQEx8AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMjQtMDktMjdUMTI6NTI6NDYrMDA6MDC5jaujAAAAIHRFWHRwZGY6SGlSZXNCb3VuZGluZ0JveAAyODh4NDMyKzArMNYMlnoAAAATdEVYdHBkZjpWZXJzaW9uAFBERi0xLjO6Vf/0AAAAAElFTkSuQmCC" + ], + "category": "packing_slip", + "format": "png", + "page_size": "4x6", + "required": true, + "url": null + } + ], + "shipping_settings": { + "b13a_filing": null + }, + "tracking_page_url": "https://www.trackmyshipment.co/shipment-tracking/ESUS220509144", + "trackings": [ + { + "alternate_tracking_number": null, + "handler": "usps", + "leg_number": 1, + "local_tracking_number": null, + "tracking_number": "9405509104250026972189", + "tracking_state": "active" + } + ], + "updated_at": "2024-09-27T12:52:43Z", + "warehouse_state": "none" + }, + "meta": { + "request_id": "78ce27105cd8fe897b0e7b343e0a0f45", + "unavailable_couriers": [] + } +} +""" + +ShipmentCancelResponse = """{ + "meta": { + "request_id": "01563646-58c1-4607-8fe0-cae3e92c4477" + }, + "success": { + "message": "Shipment successfully cancelled" + } +} +""" diff --git a/modules/connectors/easyship/tests/easyship/test_tracking.py b/modules/connectors/easyship/tests/easyship/test_tracking.py new file mode 100644 index 0000000000..c9d11e7752 --- /dev/null +++ b/modules/connectors/easyship/tests/easyship/test_tracking.py @@ -0,0 +1,378 @@ +import unittest +from unittest.mock import patch, ANY +from .fixture import gateway +from tests import logger + +import karrio +import karrio.lib as lib +import karrio.core.models as models + + +class TestEasyshipTracking(unittest.TestCase): + def setUp(self): + self.maxDiff = None + self.TrackingRequest = models.TrackingRequest(**TrackingPayload) + + def test_create_tracking_request(self): + request = gateway.mapper.create_tracking_request(self.TrackingRequest) + + self.assertEqual(request.serialize(), TrackingRequest) + + def test_get_tracking(self): + with patch("karrio.mappers.easyship.proxy.lib.request") as mock: + mock.return_value = "{}" + karrio.Tracking.fetch(self.TrackingRequest).from_(gateway) + + self.assertEqual( + mock.call_args[1]["url"], + f"{gateway.settings.server_url}/2023-01/shipments/ESSG10006002", + ) + + def test_parse_tracking_response(self): + with patch("karrio.mappers.easyship.proxy.lib.request") as mock: + mock.return_value = TrackingResponse + parsed_response = ( + karrio.Tracking.fetch(self.TrackingRequest).from_(gateway).parse() + ) + + self.assertListEqual(lib.to_dict(parsed_response), ParsedTrackingResponse) + + def test_parse_error_response(self): + with patch("karrio.mappers.easyship.proxy.lib.request") as mock: + mock.return_value = ErrorResponse + parsed_response = ( + karrio.Tracking.fetch(self.TrackingRequest).from_(gateway).parse() + ) + + self.assertListEqual(lib.to_dict(parsed_response), ParsedErrorResponse) + + +if __name__ == "__main__": + unittest.main() + + +TrackingPayload = { + "tracking_numbers": ["89108749065090"], + "options": {"easyship_shipment_id": "ESSG10006002"}, +} + +ParsedTrackingResponse = [ + [ + { + "carrier_id": "easyship", + "carrier_name": "easyship", + "delivered": False, + "events": [{"code": "1", "date": "12:21", "time": "12:21"}], + "status": "in_transit", + "tracking_number": "Courier 1", + } + ], + [], +] + +ParsedErrorResponse = [ + [], + [ + { + "carrier_id": "easyship", + "carrier_name": "easyship", + "code": "over_limit", + "details": { + "details": [ + "We were unable to generate a label as your maximum " + "balance limit has been reached. Please contact " + "your account manager." + ], + "request_id": "01563646-58c1-4607-8fe0-cae3e92c4477", + "shipment_id": "ESSG10006002", + "type": "invalid_request_error", + }, + "message": "You have reached your plan limit. Please upgrade your " + "subscription plan.", + } + ], +] + + +TrackingRequest = ["ESSG10006002"] + +TrackingResponse = """{ + "meta": { + "request_id": "01563646-58c1-4607-8fe0-cae3e92c4477", + "status": "success", + "unavailable_couriers": [ + { + "id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "name": "Courier 1", + "message": "message" + } + ], + "errors": ["string"] + }, + "shipment": { + "buyer_regulatory_identifiers": { + "ein": "", + "vat_number": "" + }, + "consignee_tax_id": "", + "courier": { + "id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "name": "Courier 1" + }, + "created_at": "2022-02-22T12:21:00Z", + "currency": "HKD", + "delivery_state": "not_created", + "destination_address": { + "city": "Hong Kong", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+85230085678", + "country_alpha2": "HK", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long" + }, + "easyship_shipment_id": "ESSG10006002", + "eei_reference": "", + "incoterms": "DDU", + "insurance": { + "insured_amount": 0, + "insured_currency": "HKD", + "is_insured": false + }, + "label_generated_at": "", + "label_paid_at": "", + "label_state": "not_created", + "last_failure_http_response_messages": [ + { + "code": "string", + "message": "string" + } + ], + "metadata": [], + "order_created_at": "", + "order_data": { + "buyer_notes": "", + "buyer_selected_courier_name": "", + "order_created_at": "", + "order_tag_list": [""], + "platform_name": "", + "platform_order_number": "", + "seller_notes": "" + }, + "origin_address": { + "city": "Hong Kong", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+852-3008-5678", + "country_alpha2": "HK", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long" + }, + "parcels": [ + { + "box": { + "id": "", + "name": "", + "outer_dimensions": { + "height": 2, + "length": 3, + "width": 2 + }, + "slug": "", + "type": "box", + "weight": 0 + }, + "id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "items": [ + { + "actual_weight": 10, + "category": "", + "contains_battery_pi966": true, + "contains_battery_pi967": true, + "contains_liquids": true, + "declared_currency": "USD", + "declared_customs_value": 20, + "description": "item", + "dimensions": { + "height": 3, + "length": 1, + "width": 2 + }, + "hs_code": "12345600", + "id": "12663646-58c1-4607-8fe0-cae3e33c0001", + "origin_country_alpha2": "HK", + "origin_currency": "HKD", + "origin_customs_value": 140, + "quantity": 2, + "sku": "sku" + } + ], + "total_actual_weight": 1 + } + ], + "pickup_state": "not_requested", + "rates": [ + { + "additional_services_surcharge": 0, + "available_handover_options": ["dropoff", "free_pickup"], + "cost_rank": 2, + "courier_id": "01563646-58c1-4607-8fe0-cae3e33c0001", + "courier_logo_url": "", + "courier_name": "Courier 1", + "courier_remarks": "", + "currency": "USD", + "ddp_handling_fee": "", + "delivery_time_rank": 4, + "description": "description", + "discount": "", + "easyship_rating": 2, + "estimated_import_duty": "", + "estimated_import_tax": "", + "fuel_surcharge": 1000, + "full_description": "full description", + "import_duty_charge": "", + "import_tax_charge": "", + "import_tax_non_chargeable": "", + "incoterms": "DDU", + "insurance_fee": 0, + "is_above_threshold": true, + "max_delivery_time": 39, + "min_delivery_time": 19, + "minimum_pickup_fee": 0, + "other_surcharges": { + "details": [ + { + "fee": 0, + "name": "Peak Surcharge", + "origin_fee": 0 + } + ], + "total_fee": 0 + }, + "oversized_surcharge": 0, + "payment_recipient": "Easyship", + "provincial_sales_tax": 0, + "rates_in_origin_currency": { + "additional_services_surcharge": 0, + "currency": "HKD", + "ddp_handling_fee": "", + "estimated_import_duty": "", + "estimated_import_tax": "", + "fuel_surcharge": 1400, + "import_duty_charge": "", + "import_tax_charge": "", + "import_tax_non_chargeable": "", + "insurance_fee": 0, + "minimum_pickup_fee": 0, + "oversized_surcharge": 0, + "provincial_sales_tax": 0, + "remote_area_surcharge": 0, + "residential_discounted_fee": 0, + "residential_full_fee": 0, + "sales_tax": 0, + "shipment_charge": 140, + "shipment_charge_total": 1540, + "total_charge": 1540, + "warehouse_handling_fee": 0 + }, + "remote_area_surcharge": 0, + "remote_area_surcharges": "", + "residential_discounted_fee": 0, + "residential_full_fee": 0, + "sales_tax": 0, + "shipment_charge": 100, + "shipment_charge_total": 1100, + "total_charge": 1100, + "tracking_rating": 2, + "value_for_money_rank": 4, + "warehouse_handling_fee": 0 + } + ], + "regulatory_identifiers": { + "eori": "", + "ioss": "", + "vat_number": "" + }, + "return": false, + "return_address": { + "city": "Hong Kong", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+852-3008-5678", + "country_alpha2": "HK", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long" + }, + "sender_address": { + "city": "Hong Kong", + "company_name": "Test Plc.", + "contact_email": "asd@asd.com", + "contact_name": "Foo Bar", + "contact_phone": "+852-3008-5678", + "country_alpha2": "HK", + "line_1": "Kennedy Town", + "line_2": "Block 3", + "postal_code": "0000", + "state": "Yuen Long" + }, + "set_as_residential": false, + "shipment_state": "created", + "shipping_documents": [ + { + "base64_encoded_strings": ["base64_encoded"], + "category": "label", + "format": "png", + "page_size": "4x6", + "required": true, + "url": null + }, + { + "base64_encoded_strings": ["base64_encoded"], + "category": "packing_slip", + "format": "png", + "page_size": "4x6", + "required": true, + "url": null + } + ], + "shipping_settings": { + "b13a_filing": "" + }, + "tracking_page_url": "http://localhost:9003/shipment-tracking/ESSG10006002", + "trackings": [ + { + "alternate_tracking_number": "Courier 1", + "handler": "easyship", + "leg_number": 1, + "local_tracking_number": "Courier 1", + "tracking_number": "Courier 1", + "tracking_state": "in_transit" + } + ], + "updated_at": "2022-02-22T12:21:00Z", + "warehouse_state": "none" + } +} +""" + +ErrorResponse = """{ + "error": { + "code": "over_limit", + "details": [ + "We were unable to generate a label as your maximum balance limit has been reached. Please contact your account manager." + ], + "message": "You have reached your plan limit. Please upgrade your subscription plan.", + "request_id": "01563646-58c1-4607-8fe0-cae3e92c4477", + "type": "invalid_request_error" + } +} +""" diff --git a/modules/connectors/eshipper/MANIFEST.in b/modules/connectors/eshipper/MANIFEST.in new file mode 100644 index 0000000000..e1d0f79259 --- /dev/null +++ b/modules/connectors/eshipper/MANIFEST.in @@ -0,0 +1 @@ +include karrio/providers/eshipper/metadata.json diff --git a/modules/connectors/eshipper/karrio/providers/eshipper/metadata.json b/modules/connectors/eshipper/karrio/providers/eshipper/metadata.json new file mode 100644 index 0000000000..dafa0a7025 --- /dev/null +++ b/modules/connectors/eshipper/karrio/providers/eshipper/metadata.json @@ -0,0 +1,13018 @@ +{ + "PROD_SERVICES": [ + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 1, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "FEDEX_2_DAY_FREIGHT", + "codeIntl": null, + "codeUs": null, + "description": "", + "disabled": null, + "esServicename": "2Day Freight", + "guaranteed": false, + "id": 33, + "mode": 1, + "modeOfTransport": "AIR", + "name": "2Day Freight", + "serviceIdentifier": "FEDEX_2_DAY_FREIGHT", + "serviceNameUS": "", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 1, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "FEDEX_3_DAY_FREIGHT", + "codeIntl": null, + "codeUs": null, + "description": "", + "disabled": null, + "esServicename": "3Day Freight", + "guaranteed": false, + "id": 34, + "mode": 1, + "modeOfTransport": "AIR", + "name": "3Day Freight", + "serviceIdentifier": "FEDEX_3_DAY_FREIGHT", + "serviceNameUS": "", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 36, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "D9", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "9:AM GUARANTEED", + "guaranteed": false, + "id": 3601, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "9:AM GUARANTEED", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "PYLE", + "codeIntl": null, + "codeUs": "PYLE", + "description": null, + "disabled": null, + "esServicename": "A Duie Pyle", + "guaranteed": false, + "id": 4052, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "A Duie Pyle", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "PYLE", + "codeIntl": null, + "codeUs": "WWEX", + "description": "A. Duie Pyle", + "disabled": null, + "esServicename": "A Duie Pyle", + "guaranteed": false, + "id": 5968, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "A. Duie Pyle``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "AACT", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "AAA Cooper Transportation`", + "guaranteed": false, + "id": 4030, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "AAA Cooper Transportation`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "AACT", + "codeIntl": null, + "codeUs": "WWEX", + "description": "AAA Cooper Transportation", + "disabled": null, + "esServicename": "AAA Cooper Transportation", + "guaranteed": false, + "id": 5955, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "AAA Cooper Transportation``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "ABNE", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Aberdeen Express`", + "guaranteed": false, + "id": 4041, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Aberdeen Express`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "ABFS", + "codeIntl": null, + "codeUs": "WWEX", + "description": "ABF Freight", + "disabled": null, + "esServicename": "ABF Freight", + "guaranteed": false, + "id": 5960, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "ABF Freight``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "ABFS", + "codeIntl": null, + "codeUs": "ABFS", + "description": null, + "disabled": null, + "esServicename": "ABFS", + "guaranteed": false, + "id": 4060, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "ABFS", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 36, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "AM", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "AM Service", + "guaranteed": false, + "id": 3600, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "AM Service", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 42, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Rail", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Apex Trucking", + "guaranteed": false, + "id": 4209, + "mode": 3, + "modeOfTransport": "GROUND", + "name": "Apex Trucking", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "AVRT", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Averitt Express`", + "guaranteed": false, + "id": 4028, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Averitt Express`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "BRTC", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "BROWN TRANSFER COMPANY`", + "guaranteed": false, + "id": 4051, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "BROWN TRANSFER COMPANY`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "eShipper", + "disclaimer": "", + "enabled": false, + "id": 3, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "eShipper" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Canada Worldwide Next Flight Out", + "guaranteed": false, + "id": 15, + "mode": 0, + "modeOfTransport": "AIR", + "name": "Canada Worldwide Next Flight Out", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "CENF", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Central Freight Lines`", + "guaranteed": false, + "id": 4015, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Central Freight Lines`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "CTII", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Central Transport`", + "guaranteed": false, + "id": 4034, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Central Transport`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "CTII", + "codeIntl": null, + "codeUs": "WWEX", + "description": "Central Transport", + "disabled": null, + "esServicename": "Central Transport", + "guaranteed": false, + "id": 5964, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Central Transport``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "CSEQ", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Chicago Suburban Express`", + "guaranteed": false, + "id": 4035, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Chicago Suburban Express`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "CLNI", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Clear Lane Freight`", + "guaranteed": false, + "id": 4044, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Clear Lane Freight`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "CNWY", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Con-way Freight`", + "guaranteed": false, + "id": 4006, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Con-way Freight`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "CNWY", + "codeIntl": null, + "codeUs": "WWEX", + "description": "Con-way Freight", + "disabled": null, + "esServicename": "Conway Freight", + "guaranteed": false, + "id": 5952, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Con-way Freight``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "CCYQ", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Crosscountry Courier`", + "guaranteed": false, + "id": 4032, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Crosscountry Courier`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "DAYR", + "codeIntl": null, + "codeUs": "DAYR", + "description": null, + "disabled": null, + "esServicename": "Day & Ross", + "guaranteed": false, + "id": 4048, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Day & Ross", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "e-Shipper Trucking", + "disclaimer": "", + "enabled": false, + "id": 18, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "e-Shipper Trucking" + }, + "code": "2407", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "DAY AND ROSS", + "guaranteed": false, + "id": 1813, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "DAY AND ROSS", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "e-Shipper Trucking", + "disclaimer": "", + "enabled": false, + "id": 18, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "e-Shipper Trucking" + }, + "code": "2408", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "DAY AND ROSS (R AND L)", + "guaranteed": false, + "id": 1814, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "DAY AND ROSS (R AND L)", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "DYLT", + "codeIntl": null, + "codeUs": "WWEX", + "description": "Daylight Transport", + "disabled": null, + "esServicename": "Daylight Transport", + "guaranteed": false, + "id": 5958, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Daylight Transport``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "DAFG", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Dayton Freight Lines`", + "guaranteed": false, + "id": 4021, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Dayton Freight Lines`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "DPHE", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Dependable Highway Express`", + "guaranteed": false, + "id": 4040, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Dependable Highway Express`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "DPHE", + "codeIntl": null, + "codeUs": "WWEX", + "description": "Dependable Highway Express", + "disabled": null, + "esServicename": "Dependable Highway Express", + "guaranteed": false, + "id": 5965, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Dependable Highway Express``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 4, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "DHL Ground", + "guaranteed": false, + "id": 108, + "mode": 1, + "modeOfTransport": "AIR", + "name": "DHL Ground", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "SmartePost Int'l", + "disclaimer": "", + "enabled": false, + "id": 50, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "SmartePost Int'l" + }, + "code": null, + "codeIntl": "27", + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "DHL Packet International", + "guaranteed": false, + "id": 5012, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "DHL Packet International", + "serviceIdentifier": null, + "serviceNameUS": "PKY", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "SmartePost Int'l", + "disclaimer": "", + "enabled": false, + "id": 50, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "SmartePost Int'l" + }, + "code": null, + "codeIntl": "60", + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "DHL Parcel International Direct", + "guaranteed": false, + "id": 5022, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "DHL Parcel International Direct", + "serviceIdentifier": null, + "serviceNameUS": "PLT", + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "SmartePost Int'l", + "disclaimer": "", + "enabled": false, + "id": 50, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "SmartePost Int'l" + }, + "code": null, + "codeIntl": "54", + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "DHL Parcel International Standard", + "guaranteed": false, + "id": 5018, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "DHL Parcel International Standard", + "serviceIdentifier": null, + "serviceNameUS": "PLY", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "DHRN", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Dohrn Transfer Company`", + "guaranteed": false, + "id": 4027, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Dohrn Transfer Company`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "DUBL", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Dugan Truck Line`", + "guaranteed": false, + "id": 4025, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Dugan Truck Line`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ARMX", + "defaultCarrierName": "Aramex", + "disclaimer": "Aramex, without liability, reserves the right to open and inspect all items delivered to their warehouse. Should the receiver abandon or not consent to pay the customs charges/duties owing, Aramex deems the right to bill us for the unpaid charges/duties. In addition, Aramex deems the right to charge us for disposal/return charges for any abandoned or undeliverable shipments.", + "enabled": false, + "id": 27, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Aramex.png", + "ltlcarrier": false, + "name": "Aramex" + }, + "code": "EDX", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Economy Document Express", + "guaranteed": false, + "id": 2703, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Economy Document Express", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ARMX", + "defaultCarrierName": "Aramex", + "disclaimer": "Aramex, without liability, reserves the right to open and inspect all items delivered to their warehouse. Should the receiver abandon or not consent to pay the customs charges/duties owing, Aramex deems the right to bill us for the unpaid charges/duties. In addition, Aramex deems the right to charge us for disposal/return charges for any abandoned or undeliverable shipments.", + "enabled": false, + "id": 27, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Aramex.png", + "ltlcarrier": false, + "name": "Aramex" + }, + "code": "EPX", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Economy Parcel Express", + "guaranteed": false, + "id": 2702, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Economy Parcel Express", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "Envoi", + "disclaimer": "", + "enabled": false, + "id": 49, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "Envoi" + }, + "code": null, + "codeIntl": "", + "codeUs": "", + "description": "", + "disabled": null, + "esServicename": "Envoi - Same Day Delivery", + "guaranteed": false, + "id": 4901, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Envoi - Same Day Delivery", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STN", + "transitCodeCA": "", + "transitCodeIntl": "", + "transitCodeUS": "", + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 4, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "ESI Export", + "guaranteed": false, + "id": 104, + "mode": 1, + "modeOfTransport": "AIR", + "name": "ESI Export", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "EXLA", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Estes Express Lines`", + "guaranteed": false, + "id": 4010, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Estes Express Lines`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "EXLA", + "codeIntl": null, + "codeUs": "WWEX", + "description": "Estes Express Lines", + "disabled": null, + "esServicename": "Estes Express Lines", + "guaranteed": false, + "id": 5950, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Estes``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 6, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "02", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Expedited", + "guaranteed": false, + "id": 601, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Expedited", + "serviceIdentifier": null, + "serviceNameUS": "Second Day Air - Delivery By 3:30 P.M.", + "serviceTypeCode": "STS", + "transitCodeCA": "19", + "transitCodeIntl": "", + "transitCodeUS": "2DA", + "type": "STS" + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "SmartePost DOM", + "disclaimer": "", + "enabled": false, + "id": 38, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "SmartePost DOM" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Expedited", + "guaranteed": false, + "id": 3801, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Expedited", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "EXDF", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Expedited Freight Systems`", + "guaranteed": false, + "id": 4026, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Expedited Freight Systems`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 6, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "01", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Express", + "guaranteed": false, + "id": 600, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Express", + "serviceIdentifier": null, + "serviceNameUS": "Next Day Air - Delivery By 10:30 A.M.", + "serviceTypeCode": "STS", + "transitCodeCA": "24", + "transitCodeIntl": "", + "transitCodeUS": "1DA", + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 4, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Express 1030AM", + "guaranteed": false, + "id": 102, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Express 1030AM", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 4, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Express 12PM", + "guaranteed": false, + "id": 103, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Express 12PM", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 4, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Express 9AM", + "guaranteed": false, + "id": 100, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Express 9AM", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 4, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Express Envelope", + "guaranteed": false, + "id": 109, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Express Envelope", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 45, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "C", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Express Letter", + "guaranteed": false, + "id": 4505, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Express Letter", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 45, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "D", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Express Pak", + "guaranteed": false, + "id": 4506, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Express Pak", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 45, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "E", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Express Parcel", + "guaranteed": false, + "id": 4507, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Express Parcel", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 4, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Express Worldwide", + "guaranteed": false, + "id": 101, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Express Worldwide", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 42, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Rail", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "FastFrate Rail", + "guaranteed": false, + "id": 4207, + "mode": 3, + "modeOfTransport": "GROUND", + "name": "FastFrate Rail", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 1, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "FEDEX_2_DAY", + "codeIntl": null, + "codeUs": null, + "description": "", + "disabled": null, + "esServicename": "Fedex 2nd Day", + "guaranteed": false, + "id": 29, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex 2nd Day", + "serviceIdentifier": "FEDEX_2_DAY", + "serviceNameUS": "Second Day - Delivery By 4:30 P.M.", + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 1, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "FEDEX_EXPRESS_SAVER", + "codeIntl": null, + "codeUs": null, + "description": "", + "disabled": null, + "esServicename": "Fedex Economy", + "guaranteed": false, + "id": 30, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex Economy", + "serviceIdentifier": "FEDEX_EXPRESS_SAVER", + "serviceNameUS": "", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 1, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "FIRST_OVERNIGHT", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Fedex First Overnight", + "guaranteed": false, + "id": 2, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex First Overnight", + "serviceIdentifier": "FIRST_OVERNIGHT", + "serviceNameUS": "", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "FXFE", + "codeIntl": null, + "codeUs": "FXFECA", + "description": null, + "disabled": null, + "esServicename": "Fedex Freight Canada", + "guaranteed": false, + "id": 4054, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Fedex Freight Canada", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "FXFC", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Fedex Freight Canada`", + "guaranteed": false, + "id": 4019, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Fedex Freight Canada`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "FXFE", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "FedEx Freight East`", + "guaranteed": false, + "id": 4008, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "FedEx Freight East`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDXLTL", + "defaultCarrierName": "Fedex Freight LTL", + "disclaimer": "", + "enabled": false, + "id": 71, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/fedexltl.png", + "ltlcarrier": true, + "name": "Fedex Freight LTL" + }, + "code": "FEDEX_FREIGHT_ECONOMY", + "codeIntl": null, + "codeUs": null, + "description": "FedEx Freight Economy", + "disabled": null, + "esServicename": "FedEx Freight Economy", + "guaranteed": false, + "id": 5936, + "mode": 1, + "modeOfTransport": "AIR", + "name": "FedEx Freight Economy", + "serviceIdentifier": "FedEx Freight Economy", + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "FXNL", + "codeIntl": null, + "codeUs": "FXFECA", + "description": null, + "disabled": null, + "esServicename": "FedEx Freight National Canada", + "guaranteed": false, + "id": 4056, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "FedEx Freight National Canada", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "FXNL", + "codeIntl": null, + "codeUs": "FXFEUS", + "description": null, + "disabled": null, + "esServicename": "FedEx Freight National USA", + "guaranteed": false, + "id": 4057, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "FedEx Freight National USA", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDXLTL", + "defaultCarrierName": "Fedex Freight LTL", + "disclaimer": "", + "enabled": false, + "id": 71, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/fedexltl.png", + "ltlcarrier": true, + "name": "Fedex Freight LTL" + }, + "code": "FEDEX_FREIGHT_PRIORITY", + "codeIntl": null, + "codeUs": null, + "description": "FedEx Freight Priority", + "disabled": null, + "esServicename": "FedEx Freight Priority", + "guaranteed": false, + "id": 5935, + "mode": 1, + "modeOfTransport": "AIR", + "name": "FedEx Freight Priority", + "serviceIdentifier": "FedEx Freight Priority", + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "FXFE", + "codeIntl": null, + "codeUs": "FXFEUS", + "description": null, + "disabled": null, + "esServicename": "Fedex Freight USA", + "guaranteed": false, + "id": 4055, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Fedex Freight USA", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 1, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "FEDEX_GROUND", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Fedex Ground", + "guaranteed": false, + "id": 3, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Fedex Ground", + "serviceIdentifier": "FEDEX_GROUND", + "serviceNameUS": "", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 1, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "FEDEX_INTERNATIONAL_CONNECT_PLUS", + "codeIntl": null, + "codeUs": null, + "description": "FedEx International Connect Plus", + "disabled": null, + "esServicename": "FedEx International Connect Plus", + "guaranteed": false, + "id": 5967, + "mode": 1, + "modeOfTransport": "AIR", + "name": "FedEx Intl Connect Plus", + "serviceIdentifier": "FEDEX_INTERNATIONAL_CONNECT_PLUS", + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 1, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "INTERNATIONAL_ECONOMY", + "codeIntl": "", + "codeUs": "", + "description": "", + "disabled": null, + "esServicename": "Fedex Intl Economy", + "guaranteed": false, + "id": 35, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex Intl Economy", + "serviceIdentifier": "INTERNATIONAL_ECONOMY", + "serviceNameUS": "", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 1, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "INTERNATIONAL_ECONOMY_FREIGHT", + "codeIntl": null, + "codeUs": null, + "description": "", + "disabled": null, + "esServicename": "Fedex Intl Economy Freight", + "guaranteed": false, + "id": 32, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex Intl Economy Freight", + "serviceIdentifier": "INTERNATIONAL_ECONOMY_FREIGHT", + "serviceNameUS": "", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 1, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "FEDEX_INTERNATIONAL_PRIORITY", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": null, + "guaranteed": false, + "id": 5926, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex Intl Priority", + "serviceIdentifier": "FEDEX_INTERNATIONAL_PRIORITY", + "serviceNameUS": "Priority", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 1, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "FEDEX_INTERNATIONAL_PRIORITY_EXPRESS", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": null, + "guaranteed": false, + "id": 5927, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex Intl Priority Express", + "serviceIdentifier": "FEDEX_INTERNATIONAL_PRIORITY_EXPRESS", + "serviceNameUS": "Priority Express", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 1, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "INTERNATIONAL_PRIORITY", + "codeIntl": null, + "codeUs": null, + "description": "", + "disabled": null, + "esServicename": "Fedex Intl Priority Freight", + "guaranteed": false, + "id": 31, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex Intl Priority Freight", + "serviceIdentifier": "INTERNATIONAL_PRIORITY", + "serviceNameUS": "", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "FXNL", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "FedEx National`", + "guaranteed": false, + "id": 4009, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "FedEx National`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 1, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "PRIORITY_OVERNIGHT", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Fedex Priority", + "guaranteed": false, + "id": 1, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex Priority", + "serviceIdentifier": "PRIORITY_OVERNIGHT", + "serviceNameUS": "Priority Overnight - Delivery By 10:30 A.M.", + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 1, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "STANDARD_OVERNIGHT", + "codeIntl": null, + "codeUs": null, + "description": "", + "disabled": null, + "esServicename": "Fedex Standard Overnight", + "guaranteed": false, + "id": 28, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex Standard Overnight", + "serviceIdentifier": "STANDARD_OVERNIGHT", + "serviceNameUS": "Standard Overnight - Delivery By 3:30 P.M.", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "FWDN", + "codeIntl": null, + "codeUs": "WWEX", + "description": "Forward Air", + "disabled": null, + "esServicename": "Forward Air", + "guaranteed": false, + "id": 5969, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Forward Air``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "FWDA", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "ForwardAir`", + "guaranteed": false, + "id": 4011, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "ForwardAir`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "FCSY", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Frontline Freight`", + "guaranteed": false, + "id": 4045, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Frontline Freight`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 6, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "03", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Ground", + "guaranteed": false, + "id": 608, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Ground", + "serviceIdentifier": null, + "serviceNameUS": "Ground", + "serviceTypeCode": "STN", + "transitCodeCA": "", + "transitCodeIntl": "", + "transitCodeUS": "GND", + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 45, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "1", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Ground", + "guaranteed": false, + "id": 4500, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Ground", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 36, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "EG", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "GROUND SERVICE", + "guaranteed": false, + "id": 3602, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "GROUND SERVICE", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 36, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "H1", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "H1 Deliver to Curbside", + "guaranteed": false, + "id": 3607, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "H1 Deliver to Curbside", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 36, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "H3", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "H3 Delivery & Packaging Removal", + "guaranteed": false, + "id": 3609, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "H3 Delivery & Packaging Removal", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 36, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "H4", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "H4 Delivery to Curbside", + "guaranteed": false, + "id": 3610, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "H4 Delivery to Curbside", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 36, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "H5", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "H5 Delivery to Room of Choice - 2 man", + "guaranteed": false, + "id": 3611, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "H5 Delivery to Room of Choice - 2 man", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 36, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "H6", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "H6 Delivery & packaging Removal - 2 man", + "guaranteed": false, + "id": 3612, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "H6 Delivery & packaging Removal - 2 man", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "HMES", + "codeIntl": null, + "codeUs": "HMES", + "description": null, + "disabled": null, + "esServicename": "Holland Motor Express", + "guaranteed": false, + "id": 4000, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Holland Motor Express", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 4, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Import Express", + "guaranteed": false, + "id": 105, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Import Express", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 4, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Import Express 12PM", + "guaranteed": false, + "id": 107, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Import Express 12PM", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 4, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Import Express 9AM", + "guaranteed": false, + "id": 106, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Import Express 9AM", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "JPXS", + "codeIntl": null, + "codeUs": "WWEX", + "description": "J.P. Express", + "disabled": null, + "esServicename": "JP Express", + "guaranteed": false, + "id": 5961, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "J.P. Express``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 42, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Expedited", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Kindersley Expedited", + "guaranteed": false, + "id": 4601, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Kindersley Expedited", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 42, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Rail", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Kindersley Rail", + "guaranteed": false, + "id": 4600, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Kindersley Rail", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 42, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Rail", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Kindersley Rail`", + "guaranteed": false, + "id": 4210, + "mode": 3, + "modeOfTransport": "GROUND", + "name": "Kindersley Rail`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 42, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Regular", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Kindersley Regular", + "guaranteed": false, + "id": 4602, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Kindersley Regular", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 42, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Road", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Kindersley Road", + "guaranteed": false, + "id": 4211, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Kindersley Road *", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "LMEL", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Lakeville Motor Express`", + "guaranteed": false, + "id": 4023, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Lakeville Motor Express`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DAR", + "defaultCarrierName": "Day & Ross", + "disclaimer": "", + "enabled": false, + "id": 55, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/day_and_ross.png", + "ltlcarrier": true, + "name": "Day & Ross" + }, + "code": "GL", + "codeIntl": null, + "codeUs": null, + "description": "GENERAL LTL", + "disabled": null, + "esServicename": "LTL", + "guaranteed": false, + "id": 5500, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "LTL", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 36, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "LT", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "LTL SERVICE", + "guaranteed": false, + "id": 3606, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "LTL SERVICE", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "Mainliner", + "disclaimer": "", + "enabled": false, + "id": 47, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "Mainliner" + }, + "code": "Road", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Mainliner Road", + "guaranteed": false, + "id": 4700, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Mainliner Road", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "MANI", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "MANITOULIN TLX INC`", + "guaranteed": false, + "id": 4053, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "MANITOULIN TLX INC`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "MIDW", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Midwest Motor Express`", + "guaranteed": false, + "id": 4024, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Midwest Motor Express`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 42, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Rail", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "MO Rail", + "guaranteed": false, + "id": 4205, + "mode": 3, + "modeOfTransport": "GROUND", + "name": "MO Rail", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 42, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Rail", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "MO Rail", + "guaranteed": false, + "id": 4204, + "mode": 3, + "modeOfTransport": "GROUND", + "name": "MO Rail", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "MONC", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Monroe Transportation Services`", + "guaranteed": false, + "id": 4036, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Monroe Transportation Services`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "MTVL", + "codeIntl": null, + "codeUs": "WWEX", + "description": "Mountain Valley Express", + "disabled": null, + "esServicename": "Mountain Valley Express", + "guaranteed": false, + "id": 5963, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Mountain Valley Express``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "NMTF", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "N&M Transfer`", + "guaranteed": false, + "id": 4039, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "N&M Transfer`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "NEMF", + "codeIntl": null, + "codeUs": "NEMF", + "description": null, + "disabled": null, + "esServicename": "New England Motor Freight", + "guaranteed": false, + "id": 4013, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "New England Motor Freight", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "NEMF", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "New England Motor Freight`", + "guaranteed": false, + "id": 4012, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "New England Motor Freight`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "NPME", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "New Penn Motor Express`", + "guaranteed": false, + "id": 4003, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "New Penn Motor Express`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "OAKH", + "codeIntl": null, + "codeUs": "WWEX", + "description": "Oak Harbor Freight", + "disabled": null, + "esServicename": "Oak Harbor Freight", + "guaranteed": false, + "id": 5966, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Oak Harbor Freight``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "ODFL", + "codeIntl": null, + "codeUs": "WWEX", + "description": "Old Dominion Freight", + "disabled": null, + "esServicename": "Old Dominion Freight", + "guaranteed": false, + "id": 5954, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Old Dominion Freight``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "PITD", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Pitt Ohio`", + "guaranteed": false, + "id": 4020, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Pitt Ohio`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "PITD", + "codeIntl": null, + "codeUs": "WWEX", + "description": "Pitt Ohio", + "disabled": null, + "esServicename": "Pitt Ohio", + "guaranteed": false, + "id": 5956, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Pitt Ohio``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 36, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "PM", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "PM SERVICE", + "guaranteed": false, + "id": 3604, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "PM SERVICE", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "POLT", + "codeIntl": null, + "codeUs": "POLT", + "description": null, + "disabled": null, + "esServicename": "Polaris", + "guaranteed": false, + "id": 4043, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Polaris", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ARMX", + "defaultCarrierName": "Aramex", + "disclaimer": "Aramex, without liability, reserves the right to open and inspect all items delivered to their warehouse. Should the receiver abandon or not consent to pay the customs charges/duties owing, Aramex deems the right to bill us for the unpaid charges/duties. In addition, Aramex deems the right to charge us for disposal/return charges for any abandoned or undeliverable shipments.", + "enabled": false, + "id": 27, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Aramex.png", + "ltlcarrier": false, + "name": "Aramex" + }, + "code": "PLX", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Priority Letter Express", + "guaranteed": false, + "id": 2700, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Priority Letter Express", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ARMX", + "defaultCarrierName": "Aramex", + "disclaimer": "Aramex, without liability, reserves the right to open and inspect all items delivered to their warehouse. Should the receiver abandon or not consent to pay the customs charges/duties owing, Aramex deems the right to bill us for the unpaid charges/duties. In addition, Aramex deems the right to charge us for disposal/return charges for any abandoned or undeliverable shipments.", + "enabled": false, + "id": 27, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Aramex.png", + "ltlcarrier": false, + "name": "Aramex" + }, + "code": "PPX", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Priority Parcel Express", + "guaranteed": false, + "id": 2701, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Priority Parcel Express", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 2, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorExpress", + "codeIntl": "PurolatorExpressInternational", + "codeUs": "PurolatorExpressU.S.", + "description": null, + "disabled": null, + "esServicename": "Purolator Express", + "guaranteed": false, + "id": 4, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Purolator Express", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 2, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorExpress10:30AM", + "codeIntl": "PurolatorExpressInternational10:30AM", + "codeUs": "PurolatorExpressU.S.10:30AM", + "description": null, + "disabled": null, + "esServicename": "Purolator Express 1030", + "guaranteed": false, + "id": 6, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Purolator Express 1030", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 2, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorExpress9AM", + "codeIntl": "PurolatorExpressInternational9AM", + "codeUs": "PurolatorExpressU.S.9AM", + "description": null, + "disabled": null, + "esServicename": "Purolator Express 9AM", + "guaranteed": false, + "id": 5, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Purolator Express 9AM", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 2, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Purolator ExpressCheque", + "guaranteed": false, + "id": 18, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Purolator ExpressCheque", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 2, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorGround", + "codeIntl": "PurolatorGroundDistribution", + "codeUs": "PurolatorGroundU.S.", + "description": null, + "disabled": null, + "esServicename": "Purolator Ground", + "guaranteed": false, + "id": 13, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Purolator Ground", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 2, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorGround10:30AM", + "codeIntl": "PurolatorGroundDistribution", + "codeUs": "PurolatorGroundU.S...", + "description": null, + "disabled": null, + "esServicename": "Purolator Ground 1030", + "guaranteed": false, + "id": 20, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Purolator Ground 1030", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 2, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorGround9AM", + "codeIntl": "PurolatorGroundDistribution", + "codeUs": "PurolatorGroundU.S...", + "description": null, + "disabled": null, + "esServicename": "Purolator Ground 9AM", + "guaranteed": false, + "id": 19, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Purolator Ground 9AM", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 2, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorExpressEnvelope", + "codeIntl": "PurolatorExpressEnvelopeInternational", + "codeUs": "PurolatorExpressEnvelopeU.S.", + "description": null, + "disabled": null, + "esServicename": "Puroletter", + "guaranteed": false, + "id": 7, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Puroletter", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 2, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorExpressEnvelope10:30AM", + "codeIntl": "PurolatorExpressInternationalEnvelope10:30AM", + "codeUs": "PurolatorExpressU.S.Envelope10:30AM", + "description": null, + "disabled": null, + "esServicename": "Puroletter 10:30", + "guaranteed": false, + "id": 9, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Puroletter 10:30", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 2, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorExpressEnvelope9AM", + "codeIntl": "PurolatorExpressInternationalEnvelope9AM", + "codeUs": "PurolatorExpressU.S.Envelope9AM", + "description": null, + "disabled": null, + "esServicename": "Puroletter 9AM", + "guaranteed": false, + "id": 8, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Puroletter 9AM", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 2, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorExpressPack", + "codeIntl": "PurolatorExpressPackInternational", + "codeUs": "PurolatorExpressPackU.S.", + "description": null, + "disabled": null, + "esServicename": "PuroPak", + "guaranteed": false, + "id": 10, + "mode": 1, + "modeOfTransport": "AIR", + "name": "PuroPak", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 2, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorExpressPack10:30AM", + "codeIntl": "PurolatorExpressInternationalPack10:30AM", + "codeUs": "PurolatorExpressU.S.Pack10:30AM", + "description": null, + "disabled": null, + "esServicename": "PuroPak 10:30", + "guaranteed": false, + "id": 12, + "mode": 1, + "modeOfTransport": "AIR", + "name": "PuroPak 10:30", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 2, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorExpressPack9AM", + "codeIntl": "PurolatorExpressInternationalPack9AM", + "codeUs": "PurolatorExpressU.S.Pack9AM", + "description": null, + "disabled": null, + "esServicename": "PuroPak 9AM", + "guaranteed": false, + "id": 11, + "mode": 1, + "modeOfTransport": "AIR", + "name": "PuroPak 9AM", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "RLCA", + "codeIntl": null, + "codeUs": "WWEX", + "description": "R+L Carriers", + "disabled": null, + "esServicename": "RL Carriers", + "guaranteed": false, + "id": 5953, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "R+L Carriers``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FFRT", + "defaultCarrierName": "Fastfrate", + "disclaimer": "", + "enabled": false, + "id": 68, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/fastfrate.png", + "ltlcarrier": true, + "name": "Fastfrate" + }, + "code": "RAIL", + "codeIntl": "NULL", + "codeUs": "NULL", + "description": null, + "disabled": null, + "esServicename": "RAIL", + "guaranteed": false, + "id": 5929, + "mode": 1, + "modeOfTransport": "AIR", + "name": "RAIL", + "serviceIdentifier": "RAIL", + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "NULL", + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "RDFS", + "codeIntl": null, + "codeUs": "RDFS", + "description": null, + "disabled": null, + "esServicename": "Roadrunner Transportation Services", + "guaranteed": false, + "id": 4001, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Roadrunner Transportation Services", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "RDFS", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Roadrunner Transportation Services`", + "guaranteed": false, + "id": 4017, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Roadrunner Transportation Services`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "RDFS", + "codeIntl": null, + "codeUs": "WWEX", + "description": "Roadrunner Transportation Systems", + "disabled": null, + "esServicename": "Roadrunner Transportation Services", + "guaranteed": false, + "id": 5951, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Roadrunner Transportation Systems``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "SAIA", + "codeIntl": null, + "codeUs": "WWEX", + "description": "Saia LTL Freight", + "disabled": null, + "esServicename": "Saia LTL Freight", + "guaranteed": false, + "id": 5957, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Saia LTL Freight``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "SAIA", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "SAIA Motor Freight`", + "guaranteed": false, + "id": 4016, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "SAIA Motor Freight`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 6, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "59", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Second Day Air A.M.", + "guaranteed": false, + "id": 611, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Second Day Air A.M.", + "serviceIdentifier": null, + "serviceNameUS": "Second Day Air A.M. - Delivery By 10:30 A.M.", + "serviceTypeCode": "STU", + "transitCodeCA": "", + "transitCodeIntl": "", + "transitCodeUS": "2DM", + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 45, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "3", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Select Letter", + "guaranteed": false, + "id": 4502, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Select Letter", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 45, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "4", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Select Pak", + "guaranteed": false, + "id": 4503, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Select Pak", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 45, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "5", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Select Parcel", + "guaranteed": false, + "id": 4504, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Select Parcel", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "SEFL", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Southeastern Freight Lines`", + "guaranteed": false, + "id": 4031, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Southeastern Freight Lines`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "SEFL", + "codeIntl": null, + "codeUs": "WWEX", + "description": "SouthEastern Freight Lines", + "disabled": null, + "esServicename": "SouthEastern Freight Lines", + "guaranteed": false, + "id": 5970, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "SouthEastern Freight``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "SMTL", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Southwestern Motor Transport`", + "guaranteed": false, + "id": 4033, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Southwestern Motor Transport`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "Speedy", + "disclaimer": "", + "enabled": false, + "id": 48, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "Speedy" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Speedy", + "guaranteed": false, + "id": 4800, + "mode": 3, + "modeOfTransport": "GROUND", + "name": "Speedy", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 6, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "11", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Standard", + "guaranteed": false, + "id": 604, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Standard", + "serviceIdentifier": null, + "serviceNameUS": "Standard", + "serviceTypeCode": "STN", + "transitCodeCA": "25", + "transitCodeIntl": "03", + "transitCodeUS": "", + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "STDF", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Standard Forwarding`", + "guaranteed": false, + "id": 4042, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Standard Forwarding`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "TFF", + "defaultCarrierName": "TForce Freight", + "disclaimer": "", + "enabled": false, + "id": 70, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/tforce.png", + "ltlcarrier": true, + "name": "TForce Freight" + }, + "code": "308", + "codeIntl": null, + "codeUs": null, + "description": "TForce Freight LTL", + "disabled": null, + "esServicename": "TForce Freight LTL", + "guaranteed": false, + "id": 5931, + "mode": 1, + "modeOfTransport": "AIR", + "name": "TForce Freight LTL", + "serviceIdentifier": "TForce Freight LTL", + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "TFF", + "defaultCarrierName": "TForce Freight", + "disclaimer": "", + "enabled": false, + "id": 70, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/tforce.png", + "ltlcarrier": true, + "name": "TForce Freight" + }, + "code": "309", + "codeIntl": null, + "codeUs": null, + "description": "TForce Freight LTL - Guaranteed", + "disabled": null, + "esServicename": "TForce Freight LTL - Guaranteed", + "guaranteed": false, + "id": 5932, + "mode": 1, + "modeOfTransport": "AIR", + "name": "TForce Freight LTL - Guaranteed", + "serviceIdentifier": "TForce Freight LTL - Guaranteed", + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "TFF", + "defaultCarrierName": "TForce Freight", + "disclaimer": "", + "enabled": false, + "id": 70, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/tforce.png", + "ltlcarrier": true, + "name": "TForce Freight" + }, + "code": "334", + "codeIntl": null, + "codeUs": null, + "description": "TForce Freight LTL - Guaranteed A.M.", + "disabled": null, + "esServicename": "TForce Freight LTL - Guaranteed A.M.", + "guaranteed": false, + "id": 5933, + "mode": 1, + "modeOfTransport": "AIR", + "name": "TForce Freight LTL - Guaranteed A.M.", + "serviceIdentifier": "TForce Freight LTL - Guaranteed A.M.", + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "TFF", + "defaultCarrierName": "TForce Freight", + "disclaimer": "", + "enabled": false, + "id": 70, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/tforce.png", + "ltlcarrier": true, + "name": "TForce Freight" + }, + "code": "349", + "codeIntl": null, + "codeUs": null, + "description": "TForce Standard LTL", + "disabled": null, + "esServicename": "TForce Standard LTL", + "guaranteed": false, + "id": 5934, + "mode": 1, + "modeOfTransport": "AIR", + "name": "TForce Standard LTL", + "serviceIdentifier": "TForce Standard LTL", + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 6, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "7", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Three-Day Select", + "guaranteed": false, + "id": 606, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Three-Day Select", + "serviceIdentifier": null, + "serviceNameUS": "Three-Day Select", + "serviceTypeCode": "STS", + "transitCodeCA": "", + "transitCodeIntl": "33", + "transitCodeUS": "3DS", + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "TOTL", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Total Transportation & Distribution`", + "guaranteed": false, + "id": 4046, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Total Transportation & Distribution`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "OVLD", + "codeIntl": null, + "codeUs": "OVLD", + "description": null, + "disabled": null, + "esServicename": "TST Overland Express", + "guaranteed": false, + "id": 4047, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "TST Overland Express", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "e-Shipper Trucking", + "disclaimer": "", + "enabled": false, + "id": 18, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "e-Shipper Trucking" + }, + "code": "1915", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "UPS", + "guaranteed": false, + "id": 1815, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "UPS", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "UPGF", + "codeIntl": null, + "codeUs": "UPGF", + "description": null, + "disabled": null, + "esServicename": "UPS", + "guaranteed": false, + "id": 4022, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "UPS", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "e-Shipper Trucking", + "disclaimer": "", + "enabled": false, + "id": 18, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "e-Shipper Trucking" + }, + "code": "2328", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "UPS - Freight", + "guaranteed": false, + "id": 1890, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "UPS - Freight", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "e-Shipper Trucking", + "disclaimer": "", + "enabled": false, + "id": 18, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "e-Shipper Trucking" + }, + "code": "2327", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "UPS Freight", + "guaranteed": false, + "id": 1889, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "UPS Freight", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "e-Shipper Trucking", + "disclaimer": "", + "enabled": false, + "id": 18, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "e-Shipper Trucking" + }, + "code": "2039", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "UPS FREIGHT", + "guaranteed": false, + "id": 1860, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "UPS FREIGHT", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "e-Shipper Trucking", + "disclaimer": "", + "enabled": false, + "id": 18, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "e-Shipper Trucking" + }, + "code": "2345", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "UPS Freight Canada", + "guaranteed": false, + "id": 1907, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "UPS Freight Canada", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 6, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "65", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "UPS Saver", + "guaranteed": false, + "id": 607, + "mode": 1, + "modeOfTransport": "AIR", + "name": "UPS Saver", + "serviceIdentifier": null, + "serviceNameUS": "Saver", + "serviceTypeCode": "STS", + "transitCodeCA": "20", + "transitCodeIntl": "28", + "transitCodeUS": "1DP", + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 6, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "13", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "UPS Saver", + "guaranteed": false, + "id": 609, + "mode": 1, + "modeOfTransport": "AIR", + "name": "UPS Saver", + "serviceIdentifier": null, + "serviceNameUS": "Next Day Air Saver - Delivery By 3:30 P.M.", + "serviceTypeCode": "STS", + "transitCodeCA": "20", + "transitCodeIntl": "28", + "transitCodeUS": "1DP", + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "UPGF", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "UPS`", + "guaranteed": false, + "id": 4004, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "UPS`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "UPGF", + "codeIntl": null, + "codeUs": "WWEX", + "description": "UPS", + "disabled": null, + "esServicename": "UPS", + "guaranteed": false, + "id": 5959, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "UPS``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "e-Shipper Trucking", + "disclaimer": "", + "enabled": false, + "id": 18, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "e-Shipper Trucking" + }, + "code": "2360", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "UPS-Freight", + "guaranteed": false, + "id": 2149, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "UPS-Freight", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 36, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "UL", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "URGENT LETTER", + "guaranteed": false, + "id": 3605, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "URGENT LETTER", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 36, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "UP", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "URGENT PAC", + "guaranteed": false, + "id": 3603, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "URGENT PAC", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 45, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "2", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "USA", + "guaranteed": false, + "id": 4501, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "USA", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "RETL", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "USF Reddaway`", + "guaranteed": false, + "id": 4029, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "USF Reddaway`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "ODS", + "disclaimer": "", + "enabled": false, + "id": 44, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "ODS" + }, + "code": "ODSLWPB.20", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "USPS Light Weight Parcel Budget", + "guaranteed": false, + "id": 4403, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "USPS Light Weight Parcel Budget", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "ODS", + "disclaimer": "", + "enabled": false, + "id": 44, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "ODS" + }, + "code": "ODSLWPE.18", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "USPS Light Weight Parcel Expedited", + "guaranteed": false, + "id": 4402, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "USPS Light Weight Parcel Expedited", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "ODS", + "disclaimer": "", + "enabled": false, + "id": 44, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "ODS" + }, + "code": "ODSPSB.14", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "USPS Parcel Select Budget", + "guaranteed": false, + "id": 4401, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "USPS Parcel Select Budget", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "ODS", + "disclaimer": "", + "enabled": false, + "id": 44, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "ODS" + }, + "code": "ODSPSE.12", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "USPS Parcel Select Expedited", + "guaranteed": false, + "id": 4400, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "USPS Parcel Select Expedited", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "VALC", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Valley Cartage`", + "guaranteed": false, + "id": 4038, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Valley Cartage`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "VSXP", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Vision Express LTL`", + "guaranteed": false, + "id": 4014, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Vision Express LTL`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "WARD", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "WARD Trucking`", + "guaranteed": false, + "id": 4037, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "WARD Trucking`", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "WARD", + "codeIntl": null, + "codeUs": "WWEX", + "description": "WARD Trucking", + "disabled": null, + "esServicename": "Ward Trucking", + "guaranteed": false, + "id": 5962, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "WARD Trucking``", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 42, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Rail", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Western Canada Rail", + "guaranteed": false, + "id": 4203, + "mode": 3, + "modeOfTransport": "GROUND", + "name": "Western Canada Rail", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 6, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "08", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Worldwide Expedited", + "guaranteed": false, + "id": 603, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Worldwide Expedited", + "serviceIdentifier": null, + "serviceNameUS": "Worldwide Expedited", + "serviceTypeCode": "STN", + "transitCodeCA": "", + "transitCodeIntl": "05", + "transitCodeUS": "", + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 6, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "07", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Worldwide Express", + "guaranteed": false, + "id": 602, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Worldwide Express", + "serviceIdentifier": null, + "serviceNameUS": "Worldwide Express", + "serviceTypeCode": "STS", + "transitCodeCA": "", + "transitCodeIntl": "01", + "transitCodeUS": "", + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "XPOL", + "codeIntl": null, + "codeUs": "XPOL", + "description": null, + "disabled": null, + "esServicename": "XPO Logistics", + "guaranteed": false, + "id": 4059, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "XPO Logistics", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "XGSI", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Xpress Global Systems'", + "guaranteed": false, + "id": 4058, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Xpress Global Systems'", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "", + "defaultCarrierName": "SmartePost DOM", + "disclaimer": "", + "enabled": false, + "id": 38, + "isCarrierMesh": false, + "logoPath": null, + "ltlcarrier": false, + "name": "SmartePost DOM" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Xpresspost", + "guaranteed": false, + "id": 3800, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Xpresspost", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "RDWY", + "codeIntl": null, + "codeUs": "RDWY", + "description": null, + "disabled": null, + "esServicename": "YRC", + "guaranteed": false, + "id": 4002, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "YRC", + "serviceIdentifier": null, + "serviceNameUS": "", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + } + ], + "DEV_SERVICES": [ + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ARMX", + "defaultCarrierName": "Aramex", + "disclaimer": "Aramex, without liability, reserves the right to open and inspect all items delivered to their warehouse. Should the receiver abandon or not consent to pay the customs charges/duties owing, Aramex deems the right to bill us for the unpaid charges/duties. In addition, Aramex deems the right to charge us for disposal/return charges for any abandoned or undeliverable shipments.", + "enabled": false, + "id": 5000001, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Aramex.png", + "ltlcarrier": false, + "name": "Aramex" + }, + "code": "EDX", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Economy Document Express", + "guaranteed": false, + "id": 5000049, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Economy Document Express", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ARMX", + "defaultCarrierName": "Aramex", + "disclaimer": "Aramex, without liability, reserves the right to open and inspect all items delivered to their warehouse. Should the receiver abandon or not consent to pay the customs charges/duties owing, Aramex deems the right to bill us for the unpaid charges/duties. In addition, Aramex deems the right to charge us for disposal/return charges for any abandoned or undeliverable shipments.", + "enabled": false, + "id": 5000001, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Aramex.png", + "ltlcarrier": false, + "name": "Aramex" + }, + "code": "EPX", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Economy Parcel Express", + "guaranteed": false, + "id": 5000048, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Economy Parcel Express", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ARMX", + "defaultCarrierName": "Aramex", + "disclaimer": "Aramex, without liability, reserves the right to open and inspect all items delivered to their warehouse. Should the receiver abandon or not consent to pay the customs charges/duties owing, Aramex deems the right to bill us for the unpaid charges/duties. In addition, Aramex deems the right to charge us for disposal/return charges for any abandoned or undeliverable shipments.", + "enabled": false, + "id": 5000001, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Aramex.png", + "ltlcarrier": false, + "name": "Aramex" + }, + "code": "PLX", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Priority Letter Express", + "guaranteed": false, + "id": 5000046, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Priority Letter Express", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ARMX", + "defaultCarrierName": "Aramex", + "disclaimer": "Aramex, without liability, reserves the right to open and inspect all items delivered to their warehouse. Should the receiver abandon or not consent to pay the customs charges/duties owing, Aramex deems the right to bill us for the unpaid charges/duties. In addition, Aramex deems the right to charge us for disposal/return charges for any abandoned or undeliverable shipments.", + "enabled": false, + "id": 5000001, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Aramex.png", + "ltlcarrier": false, + "name": "Aramex" + }, + "code": "PPX", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Priority Parcel Express", + "guaranteed": false, + "id": 5000047, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Priority Parcel Express", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CP", + "defaultCarrierName": "Canada Post", + "disclaimer": "", + "enabled": false, + "id": 5000002, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/canadapost.png", + "ltlcarrier": false, + "name": "Canada Post" + }, + "code": null, + "codeIntl": "INT.IP.AIR", + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Air Parcel Intl", + "guaranteed": false, + "id": 5000030, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Air Parcel Intl", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CP", + "defaultCarrierName": "Canada Post", + "disclaimer": "", + "enabled": false, + "id": 5000002, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/canadapost.png", + "ltlcarrier": false, + "name": "Canada Post" + }, + "code": "DOM.EP", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Expedited", + "guaranteed": false, + "id": 5000026, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Expedited", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CP", + "defaultCarrierName": "Canada Post", + "disclaimer": "", + "enabled": false, + "id": 5000002, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/canadapost.png", + "ltlcarrier": false, + "name": "Canada Post" + }, + "code": null, + "codeIntl": null, + "codeUs": "USA.EP", + "description": null, + "disabled": null, + "esServicename": "Expedited Parcel USA", + "guaranteed": false, + "id": 5000032, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Expedited Parcel USA", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CP", + "defaultCarrierName": "Canada Post", + "disclaimer": "", + "enabled": false, + "id": 5000002, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/canadapost.png", + "ltlcarrier": false, + "name": "Canada Post" + }, + "code": "DOM.PC", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Priority Courier", + "guaranteed": false, + "id": 5000024, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Priority Courier", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CP", + "defaultCarrierName": "Canada Post", + "disclaimer": "", + "enabled": false, + "id": 5000002, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/canadapost.png", + "ltlcarrier": false, + "name": "Canada Post" + }, + "code": "DOM.RP", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Regular", + "guaranteed": false, + "id": 5000027, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Regular", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CP", + "defaultCarrierName": "Canada Post", + "disclaimer": "", + "enabled": false, + "id": 5000002, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/canadapost.png", + "ltlcarrier": false, + "name": "Canada Post" + }, + "code": null, + "codeIntl": null, + "codeUs": "USA.TP", + "description": null, + "disabled": null, + "esServicename": "Small Packet", + "guaranteed": false, + "id": 5000033, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Small Packet", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CP", + "defaultCarrierName": "Canada Post", + "disclaimer": "", + "enabled": false, + "id": 5000002, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/canadapost.png", + "ltlcarrier": false, + "name": "Canada Post" + }, + "code": null, + "codeIntl": "INT.SP.AIR", + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Small Packet International Air", + "guaranteed": false, + "id": 5000034, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Small Packet International Air", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CP", + "defaultCarrierName": "Canada Post", + "disclaimer": "", + "enabled": false, + "id": 5000002, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/canadapost.png", + "ltlcarrier": false, + "name": "Canada Post" + }, + "code": null, + "codeIntl": "INT.SP.SURF", + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Small Packet International Surface", + "guaranteed": false, + "id": 5000035, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Small Packet International Surface", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CP", + "defaultCarrierName": "Canada Post", + "disclaimer": "", + "enabled": false, + "id": 5000002, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/canadapost.png", + "ltlcarrier": false, + "name": "Canada Post" + }, + "code": null, + "codeIntl": "INT.IP.SURF", + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Surface Parcel Intl", + "guaranteed": false, + "id": 5000031, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Surface Parcel Intl", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CP", + "defaultCarrierName": "Canada Post", + "disclaimer": "", + "enabled": false, + "id": 5000002, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/canadapost.png", + "ltlcarrier": false, + "name": "Canada Post" + }, + "code": "DOM.XP", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Xpress Post", + "guaranteed": false, + "id": 5000025, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Xpress Post", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CP", + "defaultCarrierName": "Canada Post", + "disclaimer": "", + "enabled": false, + "id": 5000002, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/canadapost.png", + "ltlcarrier": false, + "name": "Canada Post" + }, + "code": null, + "codeIntl": "INT.XP", + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Xpress Post Intl", + "guaranteed": false, + "id": 5000029, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Xpress Post Intl", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CP", + "defaultCarrierName": "Canada Post", + "disclaimer": "", + "enabled": false, + "id": 5000002, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/canadapost.png", + "ltlcarrier": false, + "name": "Canada Post" + }, + "code": null, + "codeIntl": null, + "codeUs": "USA.XP", + "description": null, + "disabled": null, + "esServicename": "Xpress Post USA", + "guaranteed": false, + "id": 5000028, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Xpress Post USA", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CP", + "defaultCarrierName": "Canada Post", + "disclaimer": "", + "enabled": false, + "id": 5000002, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/canadapost.png", + "ltlcarrier": false, + "name": "Canada Post" + }, + "code": "DOM.XP", + "codeIntl": "NULL", + "codeUs": "NULL", + "description": null, + "disabled": null, + "esServicename": "Xpress Post", + "guaranteed": false, + "id": 5000181, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Xpresspost", + "serviceIdentifier": "NULL", + "serviceNameUS": "NULL", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "NULL", + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 5000003, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "C", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Express Letter", + "guaranteed": false, + "id": 5000129, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Express Letter", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 5000003, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "D", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Express Pak", + "guaranteed": false, + "id": 5000130, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Express Pak", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 5000003, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "E", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Express Parcel", + "guaranteed": false, + "id": 5000131, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Express Parcel", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 5000003, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "1", + "codeIntl": "NULL", + "codeUs": "NULL", + "description": null, + "disabled": null, + "esServicename": "Ground", + "guaranteed": false, + "id": 5000184, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Ground", + "serviceIdentifier": "NULL", + "serviceNameUS": "NULL", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "NULL", + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 5000003, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "I", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "International", + "guaranteed": false, + "id": 5000135, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "International", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 5000003, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "3", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Select Letter", + "guaranteed": false, + "id": 5000126, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Select Letter", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 5000003, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "4", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Select Pak", + "guaranteed": false, + "id": 5000127, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Select Pak", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 5000003, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "5", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Select Parcel", + "guaranteed": false, + "id": 5000128, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Select Parcel", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 5000003, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "2", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "USA", + "guaranteed": false, + "id": 5000125, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "USA", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 5000003, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "F", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "USA Select Letter", + "guaranteed": false, + "id": 5000132, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "USA Select Letter", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 5000003, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "G", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "USA Select Pak", + "guaranteed": false, + "id": 5000133, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "USA Select Pak", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": "", + "enabled": false, + "id": 5000003, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "ltlcarrier": false, + "name": "Canpar" + }, + "code": "H", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "USA Select Parcel", + "guaranteed": false, + "id": 5000134, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "USA Select Parcel", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": false, + "carrierMesh": false, + "code": "CPX", + "defaultCarrierName": "CPX", + "disclaimer": "", + "enabled": false, + "id": 5000016, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/cpx.png", + "ltlcarrier": false, + "name": "CPX" + }, + "code": "DOM.EP", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Canada Post", + "guaranteed": false, + "id": 5000454, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Canada Post", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DAR", + "defaultCarrierName": "Day & Ross", + "disclaimer": "", + "enabled": false, + "id": 5000017, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/day_and_ross.png", + "ltlcarrier": true, + "name": "Day & Ross" + }, + "code": "GL", + "codeIntl": null, + "codeUs": null, + "description": "GENERAL LTL", + "disabled": null, + "esServicename": "LTL", + "guaranteed": false, + "id": 5000457, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "LTL", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 5000004, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "DHL Ground", + "guaranteed": false, + "id": 5000022, + "mode": 1, + "modeOfTransport": "AIR", + "name": "DHL Ground", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 5000004, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "ECONOMY SELECT", + "guaranteed": false, + "id": 5000186, + "mode": 1, + "modeOfTransport": "AIR", + "name": "ECONOMY SELECT", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 5000004, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "ESI Export", + "guaranteed": false, + "id": 5000018, + "mode": 1, + "modeOfTransport": "AIR", + "name": "ESI Export", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 5000004, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Express 1030AM", + "guaranteed": false, + "id": 5000016, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Express 1030AM", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 5000004, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Express 12PM", + "guaranteed": false, + "id": 5000017, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Express 12PM", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 5000004, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": "NULL", + "codeIntl": "NULL", + "codeUs": "NULL", + "description": null, + "disabled": null, + "esServicename": "Express 9AM", + "guaranteed": false, + "id": 5000180, + "mode": 1, + "modeOfTransport": "AIR", + "name": "EXPRESS 9:00", + "serviceIdentifier": "NULL", + "serviceNameUS": "NULL", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "NULL", + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 5000004, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Express 9AM", + "guaranteed": false, + "id": 5000014, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Express 9AM", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 5000004, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": null, + "guaranteed": false, + "id": 5000023, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Express Envelope", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 5000004, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": null, + "guaranteed": false, + "id": 5000015, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Express Worldwide", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 5000004, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Import Express", + "guaranteed": false, + "id": 5000019, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Import Express", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 5000004, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Import Express 12PM", + "guaranteed": false, + "id": 5000021, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Import Express 12PM", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": "", + "enabled": false, + "id": 5000004, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "ltlcarrier": false, + "name": "DHL" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Import Express 9AM", + "guaranteed": false, + "id": 5000020, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Import Express 9AM", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 5000011, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Rail", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Apex - V", + "guaranteed": false, + "id": 5000414, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Apex - V", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 5000011, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Rail", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Apex Trucking", + "guaranteed": false, + "id": 5000120, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Apex Trucking", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 5000011, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Rail", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Apex Trucking-V", + "guaranteed": false, + "id": 5000124, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Apex Trucking-V", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 5000011, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Rail", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "FastFrate Rail", + "guaranteed": false, + "id": 5000118, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "FastFrate Rail", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 5000011, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Expedited", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Kindersley Expedited", + "guaranteed": false, + "id": 5000420, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Kindersley Expedited", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 5000011, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Rail", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Kindersley Rail", + "guaranteed": false, + "id": 5000121, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Kindersley Rail *", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 5000011, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Rail", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Kindersley Rail", + "guaranteed": false, + "id": 5000419, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Kindersley Rail *", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 5000011, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Regular", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Kindersley Regular", + "guaranteed": false, + "id": 5000421, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Kindersley Regular", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 5000011, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Road", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Kindersley Road", + "guaranteed": false, + "id": 5000122, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Kindersley Road *", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 5000011, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Road", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Kingsway Road", + "guaranteed": false, + "id": 5000117, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Kingsway Road", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 5000011, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Rail", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "M-O Eastbound", + "guaranteed": false, + "id": 5000123, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "M-O Eastbound", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 5000011, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Rail", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "MO Rail", + "guaranteed": false, + "id": 5000116, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "MO Rail", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 5000011, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Rail", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "National Fastfreight Rail", + "guaranteed": false, + "id": 5000114, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "National Fastfreight Rail", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 5000011, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Road", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "National Fastfreight Road", + "guaranteed": false, + "id": 5000119, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "National Fastfreight Road", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 5000011, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Road", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Vitran Rail", + "guaranteed": false, + "id": 5000112, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Vitran Rail", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 5000011, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Rail", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Vitran Road", + "guaranteed": false, + "id": 5000113, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Vitran Road", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": "", + "enabled": false, + "id": 5000011, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "ltlcarrier": true, + "name": "eShipper LTL" + }, + "code": "Rail", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Western Canada Rail", + "guaranteed": false, + "id": 5000115, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Western Canada Rail", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 5000005, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "NULL", + "codeIntl": "NULL", + "codeUs": "NULL", + "description": null, + "disabled": null, + "esServicename": "NULL", + "guaranteed": false, + "id": 5000177, + "mode": 1, + "modeOfTransport": "AIR", + "name": "2Day Freight", + "serviceIdentifier": "FEDEX_2_DAY_FREIGHT", + "serviceNameUS": "NULL", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "NULL", + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 5000005, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "NULL", + "codeIntl": "NULL", + "codeUs": "NULL", + "description": null, + "disabled": null, + "esServicename": "NULL", + "guaranteed": false, + "id": 5000178, + "mode": 1, + "modeOfTransport": "AIR", + "name": "3Day Freight", + "serviceIdentifier": "FEDEX_3_DAY_FREIGHT", + "serviceNameUS": "NULL", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "NULL", + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 5000005, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "NULL", + "codeIntl": "NULL", + "codeUs": "NULL", + "description": null, + "disabled": null, + "esServicename": "NULL", + "guaranteed": false, + "id": 5000173, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex 2nd Day", + "serviceIdentifier": "FEDEX_2_DAY", + "serviceNameUS": "Second Day - Delivery By 4:30 P.M.", + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "NULL", + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 5000005, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "NULL", + "codeIntl": "NULL", + "codeUs": "NULL", + "description": null, + "disabled": null, + "esServicename": "NULL", + "guaranteed": false, + "id": 5000174, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex Economy", + "serviceIdentifier": "FEDEX_EXPRESS_SAVER", + "serviceNameUS": "NULL", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "NULL", + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 5000005, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "NULL", + "codeIntl": "NULL", + "codeUs": "NULL", + "description": null, + "disabled": null, + "esServicename": "NULL", + "guaranteed": false, + "id": 5000170, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex First Overnight", + "serviceIdentifier": "FIRST_OVERNIGHT", + "serviceNameUS": "NULL", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "NULL", + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 5000005, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "NULL", + "codeIntl": "NULL", + "codeUs": "NULL", + "description": null, + "disabled": null, + "esServicename": "NULL", + "guaranteed": false, + "id": 5000171, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex Ground", + "serviceIdentifier": "FEDEX_GROUND", + "serviceNameUS": "NULL", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "NULL", + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 5000005, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "NULL", + "codeIntl": "NULL", + "codeUs": "NULL", + "description": null, + "disabled": null, + "esServicename": "NULL", + "guaranteed": false, + "id": 5000183, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Fedex Ground US", + "serviceIdentifier": "FEDEX_GROUND_US", + "serviceNameUS": "Ground US", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "NULL", + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 5000005, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "FEDEX_INTERNATIONAL_PRIORITY", + "codeIntl": null, + "codeUs": null, + "description": "FedEx International Priority", + "disabled": null, + "esServicename": "FedEx International Priority", + "guaranteed": false, + "id": 8000017, + "mode": 1, + "modeOfTransport": "AIR", + "name": "FedEx International Priority", + "serviceIdentifier": "FEDEX_INTERNATIONAL_PRIORITY", + "serviceNameUS": "Priority", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 5000005, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "FEDEX_INTERNATIONAL_PRIORITY_EXPRESS", + "codeIntl": null, + "codeUs": null, + "description": "FedEx International Priority Express", + "disabled": null, + "esServicename": "FedEx International Priority Express", + "guaranteed": false, + "id": 8000018, + "mode": 1, + "modeOfTransport": "AIR", + "name": "FedEx International Priority Express", + "serviceIdentifier": "FEDEX_INTERNATIONAL_PRIORITY_EXPRESS", + "serviceNameUS": "Priority Express", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 5000005, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "NULL", + "codeIntl": "NULL", + "codeUs": "NULL", + "description": null, + "disabled": null, + "esServicename": "NULL", + "guaranteed": false, + "id": 5000179, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex Intl Economy", + "serviceIdentifier": "INTERNATIONAL_ECONOMY", + "serviceNameUS": "NULL", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "NULL", + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 5000005, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "NULL", + "codeIntl": "NULL", + "codeUs": "NULL", + "description": null, + "disabled": null, + "esServicename": "NULL", + "guaranteed": false, + "id": 5000176, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex Intl Economy Freight", + "serviceIdentifier": "INTERNATIONAL_ECONOMY_FREIGHT", + "serviceNameUS": "NULL", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "NULL", + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 5000005, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "FEDEX_INTERNATIONAL_PRIORITY", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": null, + "guaranteed": false, + "id": 8000022, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex Intl Priority", + "serviceIdentifier": "FEDEX_INTERNATIONAL_PRIORITY", + "serviceNameUS": "Priority", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 5000005, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "FEDEX_INTERNATIONAL_PRIORITY_EXPRESS", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": null, + "guaranteed": false, + "id": 8000023, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex Intl Priority Express", + "serviceIdentifier": "FEDEX_INTERNATIONAL_PRIORITY_EXPRESS", + "serviceNameUS": "Priority Express", + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 5000005, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "NULL", + "codeIntl": "NULL", + "codeUs": "NULL", + "description": null, + "disabled": null, + "esServicename": "NULL", + "guaranteed": false, + "id": 5000175, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex Intl Priority Freight", + "serviceIdentifier": "INTERNATIONAL_PRIORITY_FREIGHT", + "serviceNameUS": "NULL", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "NULL", + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 5000005, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "NULL", + "codeIntl": "NULL", + "codeUs": "NULL", + "description": null, + "disabled": null, + "esServicename": "NULL", + "guaranteed": false, + "id": 5000169, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex Priority", + "serviceIdentifier": "PRIORITY_OVERNIGHT", + "serviceNameUS": "Priority Overnight - Delivery By 10:30 A.M.", + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "NULL", + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": "Vape/Tobacco products cannot be shipped via FedEx", + "enabled": false, + "id": 5000005, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "ltlcarrier": false, + "name": "Federal Express" + }, + "code": "NULL", + "codeIntl": "NULL", + "codeUs": "NULL", + "description": null, + "disabled": null, + "esServicename": "NULL", + "guaranteed": false, + "id": 5000172, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Fedex Standard Overnight", + "serviceIdentifier": "STANDARD_OVERNIGHT", + "serviceNameUS": "Standard Overnight - Delivery By 3:30 P.M.", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "NULL", + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FBD", + "defaultCarrierName": "eShipper Expedited (FBD)", + "disclaimer": "", + "enabled": false, + "id": 8000010, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipperExpedited.png", + "ltlcarrier": false, + "name": "FlashBird" + }, + "code": "FBD", + "codeIntl": null, + "codeUs": null, + "description": "GTA carrier service", + "disabled": null, + "esServicename": "Ground", + "guaranteed": false, + "id": 8000032, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Ground", + "serviceIdentifier": "FBD", + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "FO", + "defaultCarrierName": "Fleet Optics", + "disclaimer": "", + "enabled": false, + "id": 56, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/fleetoptics.png", + "ltlcarrier": false, + "name": "Fleet Optics" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Ground", + "guaranteed": false, + "id": 5000458, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Ground", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "PYLE", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "A Duie Pyle`", + "guaranteed": false, + "id": 5000103, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "A Duie Pyle`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "AACT", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "AAA Cooper Transportation`", + "guaranteed": false, + "id": 5000081, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "AAA Cooper Transportation`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "ABNE", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Aberdeen Express`", + "guaranteed": false, + "id": 5000092, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Aberdeen Express`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "ABFS", + "codeIntl": null, + "codeUs": "ABFS", + "description": null, + "disabled": null, + "esServicename": "ABFS", + "guaranteed": false, + "id": 5000111, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "ABFS", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "AVRT", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Averitt Express`", + "guaranteed": false, + "id": 5000079, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Averitt Express`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "BRTC", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "BROWN TRANSFER COMPANY`", + "guaranteed": false, + "id": 5000102, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "BROWN TRANSFER COMPANY`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "CENF", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Central Freight Lines`", + "guaranteed": false, + "id": 5000066, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Central Freight Lines`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "CTII", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Central Transport`", + "guaranteed": false, + "id": 5000085, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Central Transport`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "CSEQ", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Chicago Suburban Express`", + "guaranteed": false, + "id": 5000086, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Chicago Suburban Express`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "CLNI", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Clear Lane Freight`", + "guaranteed": false, + "id": 5000095, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Clear Lane Freight`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "CNWY", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Con-way Freight`", + "guaranteed": false, + "id": 5000057, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Con-way Freight`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "CCYQ", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Crosscountry Courier`", + "guaranteed": false, + "id": 5000083, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Crosscountry Courier`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "DAYR", + "codeIntl": null, + "codeUs": "DAYR", + "description": null, + "disabled": null, + "esServicename": "Day & Ross", + "guaranteed": false, + "id": 5000099, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Day & Ross", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "DAYR", + "codeIntl": null, + "codeUs": "VDAYR", + "description": null, + "disabled": null, + "esServicename": "Day & Ross-V", + "guaranteed": false, + "id": 5000101, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Day & Ross-V", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "DAFG", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Dayton Freight Lines`", + "guaranteed": false, + "id": 5000072, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Dayton Freight Lines`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "DPHE", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Dependable Highway Express`", + "guaranteed": false, + "id": 5000091, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Dependable Highway Express`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "DHRN", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Dohrn Transfer Company`", + "guaranteed": false, + "id": 5000078, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Dohrn Transfer Company`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "DUBL", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Dugan Truck Line`", + "guaranteed": false, + "id": 5000076, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Dugan Truck Line`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "EXLA", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Estes Express Lines`", + "guaranteed": false, + "id": 5000061, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Estes Express Lines`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "EXDF", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Expedited Freight Systems`", + "guaranteed": false, + "id": 5000077, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Expedited Freight Systems`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "FXFE", + "codeIntl": null, + "codeUs": "FXFECA", + "description": null, + "disabled": null, + "esServicename": "Fedex Freight Canada", + "guaranteed": false, + "id": 5000105, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Fedex Freight Canada", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "FXFC", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Fedex Freight Canada`", + "guaranteed": false, + "id": 5000070, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Fedex Freight Canada`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "FXFE", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "FedEx Freight East`", + "guaranteed": false, + "id": 5000059, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "FedEx Freight East`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "FXNL", + "codeIntl": null, + "codeUs": "FXFECA", + "description": null, + "disabled": null, + "esServicename": "FedEx Freight National Canada", + "guaranteed": false, + "id": 5000107, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "FedEx Freight National Canada", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "FXNL", + "codeIntl": null, + "codeUs": "FXFEUS", + "description": null, + "disabled": null, + "esServicename": "FedEx Freight National USA", + "guaranteed": false, + "id": 5000108, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "FedEx Freight National USA", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "FXFE", + "codeIntl": null, + "codeUs": "FXFEUS", + "description": null, + "disabled": null, + "esServicename": "Fedex Freight USA", + "guaranteed": false, + "id": 5000106, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Fedex Freight USA", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "FXNL", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "FedEx National`", + "guaranteed": false, + "id": 5000060, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "FedEx National`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "FWDA", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "ForwardAir`", + "guaranteed": false, + "id": 5000062, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "ForwardAir`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "FCSY", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Frontline Freight`", + "guaranteed": false, + "id": 5000096, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Frontline Freight`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "HMES", + "codeIntl": null, + "codeUs": "HMES", + "description": null, + "disabled": null, + "esServicename": "Holland Motor Express", + "guaranteed": false, + "id": 5000051, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Holland Motor Express", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "HMES", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Holland Motor Express`", + "guaranteed": false, + "id": 5000069, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Holland Motor Express`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "LMEL", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Lakeville Motor Express`", + "guaranteed": false, + "id": 5000074, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Lakeville Motor Express`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "MANI", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "MANITOULIN TLX INC`", + "guaranteed": false, + "id": 5000104, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "MANITOULIN TLX INC`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "MIDW", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Midwest Motor Express`", + "guaranteed": false, + "id": 5000075, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Midwest Motor Express`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "MONC", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Monroe Transportation Services`", + "guaranteed": false, + "id": 5000087, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Monroe Transportation Services`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "NMTF", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "N&M Transfer`", + "guaranteed": false, + "id": 5000090, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "N&M Transfer`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "NEMF", + "codeIntl": null, + "codeUs": "NEMF", + "description": null, + "disabled": null, + "esServicename": "New England Motor Freight", + "guaranteed": false, + "id": 5000064, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "New England Motor Freight", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "NEMF", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "New England Motor Freight`", + "guaranteed": false, + "id": 5000063, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "New England Motor Freight`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "NPME", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "New Penn Motor Express`", + "guaranteed": false, + "id": 5000054, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "New Penn Motor Express`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "PITD", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Pitt Ohio`", + "guaranteed": false, + "id": 5000071, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Pitt Ohio`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "POLT", + "codeIntl": null, + "codeUs": "POLT", + "description": null, + "disabled": null, + "esServicename": "Polaris", + "guaranteed": false, + "id": 5000094, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Polaris", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "PRLA", + "codeIntl": null, + "codeUs": "PRLA", + "description": null, + "disabled": null, + "esServicename": "Purolator Freight", + "guaranteed": false, + "id": 5000100, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Purolator Freight", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "RNLO", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "R+L Carriers`", + "guaranteed": false, + "id": 5000058, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "R+L Carriers`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "RDFS", + "codeIntl": null, + "codeUs": "RDFS", + "description": null, + "disabled": null, + "esServicename": "Roadrunner Transportation Services", + "guaranteed": false, + "id": 5000052, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Roadrunner Transportation Services", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "RDFS", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Roadrunner Transportation Services`", + "guaranteed": false, + "id": 5000068, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Roadrunner Transportation Services`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "SAIA", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "SAIA Motor Freight`", + "guaranteed": false, + "id": 5000067, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "SAIA Motor Freight`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "SEFL", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Southeastern Freight Lines`", + "guaranteed": false, + "id": 5000082, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Southeastern Freight Lines`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "SMTL", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Southwestern Motor Transport`", + "guaranteed": false, + "id": 5000084, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Southwestern Motor Transport`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "STDF", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Standard Forwarding`", + "guaranteed": false, + "id": 5000093, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Standard Forwarding`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "TOTL", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Total Transportation & Distribution`", + "guaranteed": false, + "id": 5000097, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Total Transportation & Distribution`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "OVLD", + "codeIntl": null, + "codeUs": "OVLD", + "description": null, + "disabled": null, + "esServicename": "TST Overland Express", + "guaranteed": false, + "id": 5000098, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "TST Overland Express", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "UPGF", + "codeIntl": null, + "codeUs": "UPGF", + "description": null, + "disabled": null, + "esServicename": "UPS", + "guaranteed": false, + "id": 5000073, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "UPS", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "UPGF", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "UPS`", + "guaranteed": false, + "id": 5000055, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "UPS`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "RETL", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "USF Reddaway`", + "guaranteed": false, + "id": 5000080, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "USF Reddaway`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "VALC", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Valley Cartage`", + "guaranteed": false, + "id": 5000089, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Valley Cartage`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "VSXP", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Vision Express LTL`", + "guaranteed": false, + "id": 5000065, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Vision Express LTL`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "WARD", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "WARD Trucking`", + "guaranteed": false, + "id": 5000088, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "WARD Trucking`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "XPOL", + "codeIntl": null, + "codeUs": "XPOL", + "description": null, + "disabled": null, + "esServicename": "XPO Logistics", + "guaranteed": false, + "id": 5000110, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "XPO Logistics", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "XGSI", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Xpress Global Systems", + "guaranteed": false, + "id": 5000109, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Xpress Global Systems", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "XGSI", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "Xpress Global Systems'", + "guaranteed": false, + "id": 5000413, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Xpress Global Systems'", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "RDWY", + "codeIntl": null, + "codeUs": "RDWY", + "description": null, + "disabled": null, + "esServicename": "YRC", + "guaranteed": false, + "id": 5000053, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "YRC", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": "", + "enabled": false, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "ltlcarrier": true, + "name": "project44" + }, + "code": "RDWY", + "codeIntl": null, + "codeUs": "DLS", + "description": null, + "disabled": null, + "esServicename": "YRC`", + "guaranteed": false, + "id": 5000056, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "YRC`", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 5000007, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorExpress", + "codeIntl": "PurolatorExpressInternational", + "codeUs": "PurolatorExpressU.S.", + "description": null, + "disabled": null, + "esServicename": "Purolator Express", + "guaranteed": false, + "id": 5000001, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Purolator Express", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 5000007, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorExpress10:30AM", + "codeIntl": "PurolatorExpressInternational10:30AM", + "codeUs": "PurolatorExpressU.S.10:30AM", + "description": null, + "disabled": null, + "esServicename": "Purolator Express 1030", + "guaranteed": false, + "id": 5000003, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Purolator Express 1030", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 5000007, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorExpress9AM", + "codeIntl": "PurolatorExpressInternational9AM", + "codeUs": "PurolatorExpressU.S.9AM", + "description": null, + "disabled": null, + "esServicename": "Purolator Express 9AM", + "guaranteed": false, + "id": 5000002, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Purolator Express 9AM", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 5000007, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Purolator ExpressCheque", + "guaranteed": false, + "id": 5000011, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Purolator ExpressCheque", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 5000007, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorGround", + "codeIntl": "PurolatorGroundDistribution", + "codeUs": "PurolatorGroundU.S.", + "description": null, + "disabled": null, + "esServicename": "Purolator Ground", + "guaranteed": false, + "id": 5000010, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Purolator Ground", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 5000007, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorGround10:30AM", + "codeIntl": "PurolatorGroundDistribution", + "codeUs": "PurolatorGroundU.S...", + "description": null, + "disabled": null, + "esServicename": "Purolator Ground 1030", + "guaranteed": false, + "id": 5000013, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Purolator Ground 1030", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 5000007, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorGround9AM", + "codeIntl": "PurolatorGroundDistribution", + "codeUs": "PurolatorGroundU.S...", + "description": null, + "disabled": null, + "esServicename": "Purolator Ground 9AM", + "guaranteed": false, + "id": 5000012, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Purolator Ground 9AM", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 5000007, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorExpressEnvelope", + "codeIntl": "PurolatorExpressEnvelopeInternational", + "codeUs": "PurolatorExpressEnvelopeU.S.", + "description": null, + "disabled": null, + "esServicename": "Purolator", + "guaranteed": false, + "id": 5000004, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Puroletter", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 5000007, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorExpressEnvelope10:30AM", + "codeIntl": "PurolatorExpressInternationalEnvelope10:30AM", + "codeUs": "PurolatorExpressU.S.Envelope10:30AM", + "description": null, + "disabled": null, + "esServicename": "Purolator 10:30", + "guaranteed": false, + "id": 5000006, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Puroletter 10:30", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 5000007, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorExpressEnvelope9AM", + "codeIntl": "PurolatorExpressInternationalEnvelope9AM", + "codeUs": "PurolatorExpressU.S.Envelope9AM", + "description": null, + "disabled": null, + "esServicename": "Purolator 9AM", + "guaranteed": false, + "id": 5000005, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Puroletter 9AM", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 5000007, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorExpressPack", + "codeIntl": "PurolatorExpressPackInternational", + "codeUs": "PurolatorExpressPackU.S.", + "description": null, + "disabled": null, + "esServicename": "PuroPak", + "guaranteed": false, + "id": 5000007, + "mode": 1, + "modeOfTransport": "AIR", + "name": "PuroPak", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 5000007, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorExpressPack10:30AM", + "codeIntl": "PurolatorExpressInternationalPack10:30AM", + "codeUs": "PurolatorExpressU.S.Pack10:30AM", + "description": null, + "disabled": null, + "esServicename": "PuroPak 10:30", + "guaranteed": false, + "id": 5000009, + "mode": 1, + "modeOfTransport": "AIR", + "name": "PuroPak 10:30", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": "", + "enabled": false, + "id": 5000007, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "ltlcarrier": false, + "name": "Purolator" + }, + "code": "PurolatorExpressPack9AM", + "codeIntl": "PurolatorExpressInternationalPack9AM", + "codeUs": "PurolatorExpressU.S.Pack9AM", + "description": null, + "disabled": null, + "esServicename": "PuroPak 9AM", + "guaranteed": false, + "id": 5000008, + "mode": 1, + "modeOfTransport": "AIR", + "name": "PuroPak 9AM", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PYK", + "defaultCarrierName": "PYK", + "disclaimer": "", + "enabled": false, + "id": 5000047, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/pyk.png", + "ltlcarrier": false, + "name": "PYK" + }, + "code": "NULL", + "codeIntl": "NULL", + "codeUs": "NULL", + "description": null, + "disabled": null, + "esServicename": "Ground Advantage", + "guaranteed": false, + "id": 5000459, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Ground Advantage", + "serviceIdentifier": "First Class Mail", + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "NULL", + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "PYK", + "defaultCarrierName": "PYK", + "disclaimer": "", + "enabled": false, + "id": 5000047, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/pyk.png", + "ltlcarrier": false, + "name": "PYK" + }, + "code": "NULL", + "codeIntl": "NULL", + "codeUs": "NULL", + "description": null, + "disabled": null, + "esServicename": "Priority Mail", + "guaranteed": false, + "id": 5000460, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Priority Mail", + "serviceIdentifier": "Priority Mail", + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "NULL", + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 5000014, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "D9", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "9:AM GUARANTEED", + "guaranteed": false, + "id": 5000156, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "9:AM GUARANTEED", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 5000014, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "AM", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "AM Service", + "guaranteed": false, + "id": 5000157, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "AM Service", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 5000014, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "EG", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "GROUND SERVICE", + "guaranteed": false, + "id": 5000158, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "GROUND SERVICE", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 5000014, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "H1", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "H1 Deliver to Curbside", + "guaranteed": false, + "id": 5000159, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "H1 Deliver to Curbside", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 5000014, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "H4", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "H4 Delivery to Curbside", + "guaranteed": false, + "id": 5000162, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "H4 Delivery to Curbside", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 5000014, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "H5", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "H5 Delivery to Room of Choice - 2 man", + "guaranteed": false, + "id": 5000163, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "H5 Delivery to Room of Choice - 2 man", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 5000014, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "H6", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "H6 Delivery & packaging Removal - 2 man", + "guaranteed": false, + "id": 5000164, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "H6 Delivery & packaging Removal - 2 man", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 5000014, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "LT", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "LTL SERVICE", + "guaranteed": false, + "id": 5000165, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "LTL SERVICE", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 5000014, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "PM", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "PM SERVICE", + "guaranteed": false, + "id": 5000166, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "PM SERVICE", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 5000014, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "UL", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "URGENT LETTER", + "guaranteed": false, + "id": 5000167, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "URGENT LETTER", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": "", + "enabled": false, + "id": 5000014, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "ltlcarrier": true, + "name": "Sameday" + }, + "code": "UP", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "URGENT PAC", + "guaranteed": false, + "id": 5000168, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "URGENT PAC", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SKIP", + "defaultCarrierName": "Skip", + "disclaimer": "", + "enabled": false, + "id": 5000048, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/skip.png", + "ltlcarrier": false, + "name": "Skip" + }, + "code": "ESE", + "codeIntl": null, + "codeUs": null, + "description": "Air Canada service-ESE", + "disabled": null, + "esServicename": "Skip", + "guaranteed": false, + "id": 8000020, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Skip", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SKIP", + "defaultCarrierName": "Skip", + "disclaimer": "", + "enabled": false, + "id": 5000048, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/skip.png", + "ltlcarrier": false, + "name": "Skip" + }, + "code": "ACE", + "codeIntl": null, + "codeUs": null, + "description": "Air Canada service-ACE", + "disabled": null, + "esServicename": "Skip", + "guaranteed": false, + "id": 8000019, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Skip", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SPST", + "defaultCarrierName": "SmartePost INTL", + "disclaimer": "", + "enabled": false, + "id": 5000015, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/smartepost.png", + "ltlcarrier": false, + "name": "SmartePost INTL" + }, + "code": null, + "codeIntl": "60", + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "DHL Parcel International Direct (NGR)", + "guaranteed": false, + "id": 8000053, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "DHL Parcel International Direct (NGR)", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SPST", + "defaultCarrierName": "SmartePost INTL", + "disclaimer": "", + "enabled": false, + "id": 5000015, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/smartepost.png", + "ltlcarrier": false, + "name": "SmartePost INTL" + }, + "code": "BMY", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "GLOBAL Mail Business Priority", + "guaranteed": false, + "id": 5000137, + "mode": 1, + "modeOfTransport": "AIR", + "name": "GLOBAL Mail Business Priority", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SPST", + "defaultCarrierName": "SmartePost INTL", + "disclaimer": "", + "enabled": false, + "id": 5000015, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/smartepost.png", + "ltlcarrier": false, + "name": "SmartePost INTL" + }, + "code": "BMD", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "GLOBAL Mail Business Standard", + "guaranteed": false, + "id": 5000138, + "mode": 1, + "modeOfTransport": "AIR", + "name": "GLOBAL Mail Business Standard", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SPST", + "defaultCarrierName": "SmartePost INTL", + "disclaimer": "", + "enabled": false, + "id": 5000015, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/smartepost.png", + "ltlcarrier": false, + "name": "SmartePost INTL" + }, + "code": "PKT", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Global Mail Packet Plus Priority", + "guaranteed": false, + "id": 5000139, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Global Mail Packet Plus Priority", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SPST", + "defaultCarrierName": "SmartePost INTL", + "disclaimer": "", + "enabled": false, + "id": 5000015, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/smartepost.png", + "ltlcarrier": false, + "name": "SmartePost INTL" + }, + "code": "PKY", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Global Mail Packet Priority", + "guaranteed": false, + "id": 5000140, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Global Mail Packet Priority", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SPST", + "defaultCarrierName": "SmartePost INTL", + "disclaimer": "", + "enabled": false, + "id": 5000015, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/smartepost.png", + "ltlcarrier": false, + "name": "SmartePost INTL" + }, + "code": "PKD", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "GLOBAL Mail Packet Standard", + "guaranteed": false, + "id": 5000141, + "mode": 1, + "modeOfTransport": "AIR", + "name": "GLOBAL Mail Packet Standard", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SPST", + "defaultCarrierName": "SmartePost INTL", + "disclaimer": "", + "enabled": false, + "id": 5000015, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/smartepost.png", + "ltlcarrier": false, + "name": "SmartePost INTL" + }, + "code": "PIY", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Global Mail Parcel Direct Priority (YYZ)", + "guaranteed": false, + "id": 5000142, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Global Mail Parcel Direct Priority (YYZ)", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SPST", + "defaultCarrierName": "SmartePost INTL", + "disclaimer": "", + "enabled": false, + "id": 5000015, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/smartepost.png", + "ltlcarrier": false, + "name": "SmartePost INTL" + }, + "code": "PID", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Global Mail Parcel Direct Standard (YYZ)", + "guaranteed": false, + "id": 5000143, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Global Mail Parcel Direct Standard (YYZ)", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SPST", + "defaultCarrierName": "SmartePost INTL", + "disclaimer": "", + "enabled": false, + "id": 5000015, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/smartepost.png", + "ltlcarrier": false, + "name": "SmartePost INTL" + }, + "code": "PLY", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Global Mail Parcel Priority", + "guaranteed": false, + "id": 5000144, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Global Mail Parcel Priority", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "SPST", + "defaultCarrierName": "SmartePost INTL", + "disclaimer": "", + "enabled": false, + "id": 5000015, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/smartepost.png", + "ltlcarrier": false, + "name": "SmartePost INTL" + }, + "code": "PLD", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Global Mail Parcel Standard", + "guaranteed": false, + "id": 5000145, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Global Mail Parcel Standard", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 5000010, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "2", + "codeIntl": "NULL", + "codeUs": "NULL", + "description": null, + "disabled": null, + "esServicename": "Expedited", + "guaranteed": false, + "id": 5000182, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Expedited", + "serviceIdentifier": "NULL", + "serviceNameUS": "Second Day Air - Delivery By 3:30 P.M.", + "serviceTypeCode": "STS", + "transitCodeCA": "19", + "transitCodeIntl": null, + "transitCodeUS": "2DA", + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 5000010, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "1", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Express", + "guaranteed": false, + "id": 5000036, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Express", + "serviceIdentifier": null, + "serviceNameUS": "Next Day Air - Delivery By 10:30 A.M.", + "serviceTypeCode": "STS", + "transitCodeCA": "24", + "transitCodeIntl": null, + "transitCodeUS": "1DA", + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 5000010, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "14", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Express Early AM", + "guaranteed": false, + "id": 5000040, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Express Early AM", + "serviceIdentifier": null, + "serviceNameUS": "Next Day Air Early A.M. - Delivery by 8 A.M.", + "serviceTypeCode": "STU", + "transitCodeCA": "23", + "transitCodeIntl": "21", + "transitCodeUS": "1DM", + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 5000010, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "3", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Ground", + "guaranteed": false, + "id": 5000043, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Ground", + "serviceIdentifier": null, + "serviceNameUS": "Ground", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "GND", + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 5000010, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "59", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Second Day Air A.M.", + "guaranteed": false, + "id": 5000045, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Second Day Air A.M.", + "serviceIdentifier": null, + "serviceNameUS": "Second Day Air A.M. - Delivery By 10:30 A.M.", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": "2DM", + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 5000010, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "11", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Standard", + "guaranteed": false, + "id": 5000039, + "mode": 2, + "modeOfTransport": "GROUND", + "name": "Standard", + "serviceIdentifier": null, + "serviceNameUS": "Standard", + "serviceTypeCode": "STN", + "transitCodeCA": "25", + "transitCodeIntl": "3", + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 5000010, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "7", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Three-Day Select", + "guaranteed": false, + "id": 5000041, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Three-Day Select", + "serviceIdentifier": null, + "serviceNameUS": "Three-Day Select", + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": "33", + "transitCodeUS": "3DS", + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 5000010, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "65", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "UPS Saver", + "guaranteed": false, + "id": 5000042, + "mode": 1, + "modeOfTransport": "AIR", + "name": "UPS Saver", + "serviceIdentifier": null, + "serviceNameUS": "Saver", + "serviceTypeCode": "STS", + "transitCodeCA": "20", + "transitCodeIntl": "28", + "transitCodeUS": "1DP", + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 5000010, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "8", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Worldwide Expedited", + "guaranteed": false, + "id": 5000038, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Worldwide Expedited", + "serviceIdentifier": null, + "serviceNameUS": "Worldwide Expedited", + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": "5", + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 5000010, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "7", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Worldwide Express", + "guaranteed": false, + "id": 5000037, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Worldwide Express", + "serviceIdentifier": null, + "serviceNameUS": "Worldwide Express", + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": "1", + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": "", + "enabled": false, + "id": 5000010, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "ltlcarrier": false, + "name": "UPS" + }, + "code": "54", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Worldwide Express Plus", + "guaranteed": false, + "id": 5000044, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Worldwide Express Plus", + "serviceIdentifier": null, + "serviceNameUS": "Worldwide Express Plus", + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": "21", + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "USPS", + "defaultCarrierName": "USPS", + "disclaimer": "", + "enabled": false, + "id": 5000013, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/usps.png", + "ltlcarrier": false, + "name": "USPS" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "First-Class Package Return Service", + "guaranteed": false, + "id": 8000002, + "mode": 1, + "modeOfTransport": "AIR", + "name": "First-Class Package Return Service", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "USPS", + "defaultCarrierName": "USPS", + "disclaimer": "", + "enabled": false, + "id": 5000013, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/usps.png", + "ltlcarrier": false, + "name": "USPS" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Library Mail", + "guaranteed": false, + "id": 5000147, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Library Mail", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "USPS", + "defaultCarrierName": "USPS", + "disclaimer": "", + "enabled": false, + "id": 5000013, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/usps.png", + "ltlcarrier": false, + "name": "USPS" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Media Mail", + "guaranteed": false, + "id": 5000148, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Media Mail", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "USPS", + "defaultCarrierName": "USPS", + "disclaimer": "", + "enabled": false, + "id": 5000013, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/usps.png", + "ltlcarrier": false, + "name": "USPS" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Parcel Select", + "guaranteed": false, + "id": 5000149, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Parcel Select", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STS", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STS" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "USPS", + "defaultCarrierName": "USPS", + "disclaimer": "", + "enabled": false, + "id": 5000013, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/usps.png", + "ltlcarrier": false, + "name": "USPS" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "PBX", + "guaranteed": false, + "id": 5000154, + "mode": 1, + "modeOfTransport": "AIR", + "name": "PBX", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "USPS", + "defaultCarrierName": "USPS", + "disclaimer": "", + "enabled": false, + "id": 5000013, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/usps.png", + "ltlcarrier": false, + "name": "USPS" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "PBX Lightweight", + "guaranteed": false, + "id": 5000155, + "mode": 1, + "modeOfTransport": "AIR", + "name": "PBX Lightweight", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "USPS", + "defaultCarrierName": "USPS", + "disclaimer": "", + "enabled": false, + "id": 5000013, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/usps.png", + "ltlcarrier": false, + "name": "USPS" + }, + "code": "Priority Mail", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Priority Mail", + "guaranteed": false, + "id": 5000150, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Priority Mail", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "USPS", + "defaultCarrierName": "USPS", + "disclaimer": "", + "enabled": false, + "id": 5000013, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/usps.png", + "ltlcarrier": false, + "name": "USPS" + }, + "code": "Priority Mail Express", + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Priority Mail Express", + "guaranteed": false, + "id": 5000151, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Priority Mail Express", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "USPS", + "defaultCarrierName": "USPS", + "disclaimer": "", + "enabled": false, + "id": 5000013, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/usps.png", + "ltlcarrier": false, + "name": "USPS" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Priority Mail Open AND Distribute", + "guaranteed": false, + "id": 5000152, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Priority Mail Open AND Distribute", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STU", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STU" + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "USPS", + "defaultCarrierName": "USPS", + "disclaimer": "", + "enabled": false, + "id": 5000013, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/usps.png", + "ltlcarrier": false, + "name": "USPS" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Priority Mail Return Service", + "guaranteed": false, + "id": 8000003, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Priority Mail Return Service", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": null, + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": null + }, + { + "carrierDTO": { + "active": true, + "carrierMesh": false, + "code": "USPS", + "defaultCarrierName": "USPS", + "disclaimer": "", + "enabled": false, + "id": 5000013, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/usps.png", + "ltlcarrier": false, + "name": "USPS" + }, + "code": null, + "codeIntl": null, + "codeUs": null, + "description": null, + "disabled": null, + "esServicename": "Retail Ground (formerly Standard Post)", + "guaranteed": false, + "id": 5000153, + "mode": 1, + "modeOfTransport": "AIR", + "name": "Retail Ground (formerly Standard Post)", + "serviceIdentifier": null, + "serviceNameUS": null, + "serviceTypeCode": "STN", + "transitCodeCA": null, + "transitCodeIntl": null, + "transitCodeUS": null, + "type": "STN" + } + ], + "PROD_CARRIERS": [ + { + "code": "ARMX", + "defaultCarrierName": "Aramex", + "disclaimer": null, + "id": 27, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Aramex.png", + "name": "Aramex" + }, + { + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": null, + "id": 45, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "name": "Canpar" + }, + { + "code": "DAR", + "defaultCarrierName": "Day & Ross", + "disclaimer": null, + "id": 55, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/day_and_ross.png", + "name": "Day & Ross" + }, + { + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": null, + "id": 4, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "name": "DHL" + }, + { + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": null, + "id": 42, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "name": "eShipper LTL" + }, + { + "code": "FFRT", + "defaultCarrierName": "Fastfrate", + "disclaimer": null, + "id": 68, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/fastfrate.png", + "name": "Fastfrate" + }, + { + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": null, + "id": 1, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "name": "Federal Express" + }, + { + "code": "FDXLTL", + "defaultCarrierName": "Fedex Freight LTL", + "disclaimer": null, + "id": 71, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/fedexltl.png", + "name": "Fedex Freight LTL" + }, + { + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": null, + "id": 40, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "name": "project44" + }, + { + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": null, + "id": 2, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "name": "Purolator" + }, + { + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": null, + "id": 36, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "name": "Sameday" + }, + { + "code": "TFF", + "defaultCarrierName": "TForce Freight", + "disclaimer": null, + "id": 70, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/tforce.png", + "name": "TForce Freight" + }, + { + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": null, + "id": 6, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "name": "UPS" + } + ], + "DEV_CARRIERS": [ + { + "code": "ARMX", + "defaultCarrierName": "Aramex", + "disclaimer": null, + "id": 5000001, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Aramex.png", + "name": "Aramex" + }, + { + "code": "CP", + "defaultCarrierName": "Canada Post", + "disclaimer": null, + "id": 5000002, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/canadapost.png", + "name": "Canada Post" + }, + { + "code": "CNPR", + "defaultCarrierName": "Canpar", + "disclaimer": null, + "id": 5000003, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/Canpar.png", + "name": "Canpar" + }, + { + "code": "DAR", + "defaultCarrierName": "Day & Ross", + "disclaimer": null, + "id": 5000017, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/day_and_ross.png", + "name": "Day & Ross" + }, + { + "code": "DHL", + "defaultCarrierName": "DHL", + "disclaimer": null, + "id": 5000004, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/DHL.png", + "name": "DHL" + }, + { + "code": "ESHP", + "defaultCarrierName": "eShipper LTL", + "disclaimer": null, + "id": 5000011, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipper.png", + "name": "eShipper LTL" + }, + { + "code": "FDX", + "defaultCarrierName": "Federal Express", + "disclaimer": null, + "id": 5000005, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/FedEx.png", + "name": "Federal Express" + }, + { + "code": "FBD", + "defaultCarrierName": "eShipper Expedited (FBD)", + "disclaimer": null, + "id": 8000010, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/eShipperExpedited.png", + "name": "FlashBird" + }, + { + "code": "FO", + "defaultCarrierName": "Fleet Optics", + "disclaimer": null, + "id": 56, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/fleetoptics.png", + "name": "Fleet Optics" + }, + { + "code": "P44", + "defaultCarrierName": "project44", + "disclaimer": null, + "id": 5000008, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/p44.png", + "name": "project44" + }, + { + "code": "PRLT", + "defaultCarrierName": "Purolator", + "disclaimer": null, + "id": 5000007, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/purolator.svg", + "name": "Purolator" + }, + { + "code": "PYK", + "defaultCarrierName": "PYK", + "disclaimer": null, + "id": 5000047, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/pyk.png", + "name": "PYK" + }, + { + "code": "SD", + "defaultCarrierName": "Day & Ross Commerce", + "disclaimer": null, + "id": 5000014, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/sameday.png", + "name": "Sameday" + }, + { + "code": "SKIP", + "defaultCarrierName": "Skip", + "disclaimer": null, + "id": 5000048, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/skip.png", + "name": "Skip" + }, + { + "code": "SPST", + "defaultCarrierName": "SmartePost INTL", + "disclaimer": null, + "id": 5000015, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/smartepost.png", + "name": "SmartePost INTL" + }, + { + "code": "UPS", + "defaultCarrierName": "UPS", + "disclaimer": null, + "id": 5000010, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/ups.png", + "name": "UPS" + }, + { + "code": "USPS", + "defaultCarrierName": "USPS", + "disclaimer": null, + "id": 5000013, + "isCarrierMesh": false, + "logoPath": "/../../content/images/logos/usps.png", + "name": "USPS" + } + ] +} diff --git a/modules/connectors/eshipper/karrio/providers/eshipper/rate.py b/modules/connectors/eshipper/karrio/providers/eshipper/rate.py index 3a295586fe..d126124c65 100644 --- a/modules/connectors/eshipper/karrio/providers/eshipper/rate.py +++ b/modules/connectors/eshipper/karrio/providers/eshipper/rate.py @@ -26,9 +26,24 @@ def _extract_details( settings: provider_utils.Settings, ) -> models.RateDetails: rate = lib.to_object(rating.QuoteType, data) - service = provider_units.ShippingService.map(str(rate.serviceId)) - carrierId = provider_units.ShippingService.carrier_id(service.value_or_key) - rate_provider = provider_units.ShippingService.carrier(service.value_or_key).lower() + service = provider_units.ShippingService.find( + rate.serviceName, + service_id=rate.serviceId, + test_mode=settings.test_mode, + ) + carrier_id = provider_units.ShippingService.carrier_id( + rate.carrierName, + test_mode=settings.test_mode, + service_search=service.name_or_key, + service_id=rate.serviceId, + ) + rate_provider = provider_units.RateProvider.find( + rate.carrierName, + test_mode=settings.test_mode, + service_search=service.name_or_key, + service_id=rate.serviceId, + ) + charges = [ ("baseCharge", rate.baseCharge), ("fuelSurcharge", rate.fuelSurcharge), @@ -56,11 +71,12 @@ def _extract_details( if amount ], meta=dict( - rate_provider=rate_provider, - service_name=rate.serviceName or service.name, - carrierId=carrierId, - serviceName=rate.serviceName, - carrierName=rate.carrierName, + eshipper_carrier_id=carrier_id, + eshipper_service_id=rate.serviceId, + eshipper_carrier_name=rate.carrierName, + eshipper_service_name=rate.serviceName, + rate_provider=rate_provider.name_or_key, + service_name=service.name or rate.serviceName, ), ) @@ -72,15 +88,28 @@ def rate_request( shipper = lib.to_address(payload.shipper) recipient = lib.to_address(payload.recipient) packages = lib.to_packages(payload.parcels) - services = lib.to_services(payload.services, provider_units.ShippingService) options = lib.to_shipping_options( payload.options, package_options=packages.options, ) - shipping_date = lib.to_date(options.shipment_date.state or datetime.datetime.now()) + services = lib.to_services(payload.services, provider_units.ShippingService) + print(services, "<<<") + service_id = lib.identity( + options.eshipper_service_id.state + or provider_units.ShippingService.service_id( + services.first, + test_mode=settings.test_mode, + ) + ) request = eshipper.RateRequestType( - scheduledShipDate=lib.fdatetime(shipping_date, output_format="%Y-%m-%d %H:%M"), + scheduledShipDate=lib.fdatetime( + lib.to_next_business_datetime( + options.shipping_date.state or datetime.datetime.now(), + current_format="%Y-%m-%dT%H:%M", + ), + output_format="%Y-%m-%d %H:%M", + ), raterequestfrom=eshipper.FromType( attention=shipper.contact, company=shipper.company_name, @@ -157,7 +186,7 @@ def rate_request( insidePickup=options.eshipper_inside_pickup.state, saturdayPickupRequired=options.eshipper_saturday_pickup_required.state, stackable=options.eshipper_stackable.state, - serviceId=getattr(services.first, "value", None), + serviceId=service_id, thirdPartyBilling=None, commodityType=None, ) diff --git a/modules/connectors/eshipper/karrio/providers/eshipper/shipment/create.py b/modules/connectors/eshipper/karrio/providers/eshipper/shipment/create.py index 679fdcf684..0b9801b913 100644 --- a/modules/connectors/eshipper/karrio/providers/eshipper/shipment/create.py +++ b/modules/connectors/eshipper/karrio/providers/eshipper/shipment/create.py @@ -1,4 +1,3 @@ -import time import karrio.schemas.eshipper.shipping_request as eshipper import karrio.schemas.eshipper.shipping_response as shipping import typing @@ -32,7 +31,14 @@ def _extract_details( label = lib.bundle_base64([_.data for _ in shipment.labelData.label], label_type) invoice = lib.failsafe(lambda: shipment.customsInvoice.data) trackingNumbers = [_.trackingNumber for _ in shipment.packages] - rate_provider = provider_units.ShippingService.carrier(shipment.quote.serviceId) + service = provider_units.ShippingService.find( + shipment.carrier.serviceName, + test_mode=settings.test_mode, + ) + rate_provider = provider_units.RateProvider.find( + shipment.carrier.carrierName, + test_mode=settings.test_mode, + ) return models.ShipmentDetails( carrier_id=settings.carrier_id, @@ -43,14 +49,14 @@ def _extract_details( docs=models.Documents(label=label, invoice=invoice), meta=lib.to_dict( dict( - rate_provider=rate_provider, + service_name=service.name_or_key, + rate_provider=rate_provider.name_or_key, carrier_tracking_link=shipment.trackingUrl, - service_name=shipment.carrier.serviceName, tracking_numbers=trackingNumbers, orderId=shipment.order.id, - carrierName=shipment.carrier.carrierName, transactionId=shipment.transactionId, billingReference=shipment.billingReference, + eshipper_carrier_name=shipment.carrier.carrierName, ) ), ) @@ -63,8 +69,6 @@ def shipment_request( shipper = lib.to_address(payload.shipper) recipient = lib.to_address(payload.recipient) is_intl = shipper.country_code != recipient.country_code - service = provider_units.ShippingService.map(payload.service).value_or_key - carrier_id = provider_units.ShippingService.carrier_id(service) payment = payload.payment or models.Payment() payor = lib.to_address( @@ -84,6 +88,24 @@ def shipment_request( package_options=packages.options, initializer=provider_units.shipping_options_initializer, ) + service = provider_units.ShippingService.map(payload.service) + service_id = lib.identity( + options.eshipper_service_id.state + or provider_units.ShippingService.service_id( + service.name_or_key, + test_mode=settings.test_mode, + ) + ) + carrier_id = lib.identity( + options.eshipper_carrier_id.state + or provider_units.ShippingService.carrier_id( + service.name_or_key, + service_id=service_id, + test_mode=settings.test_mode, + service_search=service.name_or_key, + ) + ) + customs = lib.to_customs_info( payload.customs, shipper=payload.shipper, @@ -110,14 +132,13 @@ def shipment_request( else None ), ) - now = datetime.datetime.now() + datetime.timedelta(minutes=5) - shipping_time = lib.ftime(options.shipping_time.state or now, "%H:%M") - shipping_date = lib.fdate(options.shipping_date.state or now) request = eshipper.ShippingRequestType( scheduledShipDate=lib.fdatetime( - f"{shipping_date} {shipping_time}", - current_format="%Y-%m-%d %H:%M", + lib.to_next_business_datetime( + options.shipping_date.state or datetime.datetime.now(), + current_format="%Y-%m-%dT%H:%M", + ), output_format="%Y-%m-%d %H:%M", ), shippingrequestfrom=eshipper.FromType( @@ -254,7 +275,7 @@ def shipment_request( insidePickup=options.eshipper_inside_pickup.state, saturdayPickupRequired=options.eshipper_saturday_pickup_required.state, stackable=options.eshipper_stackable.state, - serviceId=service, + serviceId=service_id, thirdPartyBilling=lib.identity( eshipper.ThirdPartyBillingType( carrier=carrier_id, diff --git a/modules/connectors/eshipper/karrio/providers/eshipper/units.py b/modules/connectors/eshipper/karrio/providers/eshipper/units.py index a65a52ba59..ee0f658c52 100644 --- a/modules/connectors/eshipper/karrio/providers/eshipper/units.py +++ b/modules/connectors/eshipper/karrio/providers/eshipper/units.py @@ -1,6 +1,24 @@ +import typing +import pathlib import karrio.lib as lib import karrio.core.units as units +METADATA_JSON = lib.to_dict( + lib.load_file_content( + pathlib.Path(__file__).resolve().parent / "metadata.json" + ).replace('"NULL"', "null") +) +KARRIO_CARRIER_MAPPING = { + "fed_ex": "fedex", + "e_shipper": "eshipper", + "tforce_freight": "tforce", + "federal_express": "fedex", + "canada_post": "canadapost", + "e_shipper_ltl": "eshipper", + "fedex_freight_ltl": "fedex", + "e_shipper_trucking": "eshipper", +} + class PackagingType(lib.StrEnum): """Carrier specific packaging type""" @@ -32,218 +50,6 @@ class PackagingType(lib.StrEnum): medium_box = Boxes -class ShippingService(lib.StrEnum): - """Carrier specific services""" - - # fmt: off - eshipper_aramex_economy_document_express = "5000049" - eshipper_aramex_economy_parcel_express = "5000048" - eshipper_aramex_priority_letter_express = "5000046" - eshipper_aramex_priority_parcel_express = "5000047" - eshipper_canada_post_air_parcel_intl = "5000030" - eshipper_canada_post_expedited = "5000026" - eshipper_canada_post_expedited_parcel_usa = "5000032" - eshipper_canada_post_priority_courier = "5000024" - eshipper_canada_post_regular = "5000027" - eshipper_canada_post_small_packet = "5000033" - eshipper_canada_post_small_packet_international_air = "5000034" - eshipper_canada_post_small_packet_international_surface = "5000035" - eshipper_canada_post_surface_parcel_intl = "5000031" - eshipper_canada_post_xpress_post = "5000025" - eshipper_canada_post_xpress_post_intl = "5000029" - eshipper_canada_post_xpress_post_usa = "5000028" - eshipper_canada_post_xpresspost = "5000181" - eshipper_canpar_express_letter = "5000129" - eshipper_canpar_express_pak = "5000130" - eshipper_canpar_express_parcel = "5000131" - eshipper_canpar_ground = "5000184" - eshipper_canpar_international = "5000135" - eshipper_canpar_select_letter = "5000126" - eshipper_canpar_select_pak = "5000127" - eshipper_canpar_select_parcel = "5000128" - eshipper_canpar_usa = "5000125" - eshipper_canpar_usa_select_letter = "5000132" - eshipper_canpar_usa_select_pak = "5000133" - eshipper_canpar_usa_select_parcel = "5000134" - eshipper_cpx_canada_post = "5000454" - eshipper_day_ross_ltl = "5000457" - eshipper_dhl_dhl_ground = "5000022" - eshipper_dhl_economy_select = "5000186" - eshipper_dhl_esi_export = "5000018" - eshipper_dhl_express_1030am = "5000016" - eshipper_dhl_express_12pm = "5000017" - eshipper_dhl_express_900 = "5000180" - eshipper_dhl_express_9am = "5000014" - eshipper_dhl_express_envelope = "5000023" - eshipper_dhl_express_worldwide = "5000015" - eshipper_dhl_import_express = "5000019" - eshipper_dhl_import_express_12pm = "5000021" - eshipper_dhl_import_express_9am = "5000020" - eshipper_ltl_apex_v = "5000414" - eshipper_ltl_apex_trucking = "5000120" - eshipper_ltl_apex_trucking_v = "5000124" - eshipper_ltl_fastfrate_rail = "5000118" - eshipper_ltl_kindersley_expedited = "5000420" - eshipper_ltl_kindersley_rail = "5000121" - eshipper_ltl_kindersley_regular = "5000421" - eshipper_ltl_kindersley_road = "5000122" - eshipper_ltl_kingsway_road = "5000117" - eshipper_ltl_m_o_eastbound = "5000123" - eshipper_ltl_mo_rail = "5000116" - eshipper_ltl_national_fastfreight_rail = "5000114" - eshipper_ltl_national_fastfreight_road = "5000119" - eshipper_ltl_vitran_rail = "5000112" - eshipper_ltl_vitran_road = "5000113" - eshipper_ltl_western_canada_rail = "5000115" - eshipper_federal_express_2day_freight = "5000177" - eshipper_federal_express_3day_freight = "5000178" - eshipper_federal_express_fedex_2nd_day = "5000173" - eshipper_federal_express_fedex_economy = "5000174" - eshipper_federal_express_fedex_first_overnight = "5000170" - eshipper_federal_express_fedex_ground = "5000171" - eshipper_federal_express_fedex_ground_us = "5000183" - eshipper_federal_express_fedex_international_priority = "8000017" - eshipper_federal_express_fedex_international_priority_express = "8000018" - eshipper_federal_express_fedex_intl_economy = "5000179" - eshipper_federal_express_fedex_intl_economy_freight = "5000176" - eshipper_federal_express_fedex_intl_priority = "8000022" - eshipper_federal_express_fedex_intl_priority_express = "8000023" - eshipper_federal_express_fedex_intl_priority_freight = "5000175" - eshipper_federal_express_fedex_priority = "5000169" - eshipper_federal_express_fedex_standard_overnight = "5000172" - eshipper_flashbird_ground = "8000032" - eshipper_fleet_optics_ground = "5000458" - eshipper_project44_a_duie_pyle = "5000103" - eshipper_project44_aaa_cooper_transportation = "5000081" - eshipper_project44_aberdeen_express = "5000092" - eshipper_project44_abfs = "5000111" - eshipper_project44_averitt_express = "5000079" - eshipper_project44_brown_transfer_company = "5000102" - eshipper_project44_central_freight_lines = "5000066" - eshipper_project44_central_transport = "5000085" - eshipper_project44_chicago_suburban_express = "5000086" - eshipper_project44_clear_lane_freight = "5000095" - eshipper_project44_con_way_freight = "5000057" - eshipper_project44_crosscountry_courier = "5000083" - eshipper_project44_day_ross = "5000099" - eshipper_project44_day_ross_v = "5000101" - eshipper_project44_dayton_freight_lines = "5000072" - eshipper_project44_dependable_highway_express = "5000091" - eshipper_project44_dohrn_transfer_company = "5000078" - eshipper_project44_dugan_truck_line = "5000076" - eshipper_project44_estes_express_lines = "5000061" - eshipper_project44_expedited_freight_systems = "5000077" - eshipper_project44_fedex_freight_canada = "5000105" - eshipper_project44_fedex_freight_east = "5000059" - eshipper_project44_fedex_freight_national_canada = "5000107" - eshipper_project44_fedex_freight_national_usa = "5000108" - eshipper_project44_fedex_freight_usa = "5000106" - eshipper_project44_fedex_national = "5000060" - eshipper_project44_forwardair = "5000062" - eshipper_project44_frontline_freight = "5000096" - eshipper_project44_holland_motor_express = "5000051" - eshipper_project44_lakeville_motor_express = "5000074" - eshipper_project44_manitoulin_tlx_inc = "5000104" - eshipper_project44_midwest_motor_express = "5000075" - eshipper_project44_monroe_transportation_services = "5000087" - eshipper_project44_n_m_transfer = "5000090" - eshipper_project44_new_england_motor_freight = "5000064" - eshipper_project44_new_penn_motor_express = "5000054" - eshipper_project44_pitt_ohio = "5000071" - eshipper_project44_polaris = "5000094" - eshipper_project44_purolator_freight = "5000100" - eshipper_project44_rl_carriers = "5000058" - eshipper_project44_roadrunner_transportation_services = "5000052" - eshipper_project44_saia_motor_freight = "5000067" - eshipper_project44_southeastern_freight_lines = "5000082" - eshipper_project44_southwestern_motor_transport = "5000084" - eshipper_project44_standard_forwarding = "5000093" - eshipper_project44_total_transportation_distribution = "5000097" - eshipper_project44_tst_overland_express = "5000098" - eshipper_project44_ups = "5000073" - eshipper_project44_usf_reddaway = "5000080" - eshipper_project44_valley_cartage = "5000089" - eshipper_project44_vision_express_ltl = "5000065" - eshipper_project44_ward_trucking = "5000088" - eshipper_project44_xpo_logistics = "5000110" - eshipper_project44_xpress_global_systems = "5000109" - eshipper_project44_yrc = "5000053" - eshipper_purolator_express = "5000001" - eshipper_purolator_express_1030 = "5000003" - eshipper_purolator_express_9am = "5000002" - eshipper_purolator_expresscheque = "5000011" - eshipper_purolator_ground = "5000010" - eshipper_purolator_ground_1030 = "5000013" - eshipper_purolator_ground_9am = "5000012" - eshipper_purolator_puroletter = "5000004" - eshipper_purolator_puroletter_1030 = "5000006" - eshipper_purolator_puroletter_9am = "5000005" - eshipper_purolator_puropak = "5000007" - eshipper_purolator_puropak_1030 = "5000009" - eshipper_purolator_puropak_9am = "5000008" - eshipper_pyk_ground_advantage = "5000459" - eshipper_pyk_priority_mail = "5000460" - eshipper_sameday_9am_guaranteed = "5000156" - eshipper_sameday_am_service = "5000157" - eshipper_sameday_ground_service = "5000158" - eshipper_sameday_h1_deliver_to_curbside = "5000159" - eshipper_sameday_h2_delivery_to_room_of_choice = "5000160" - eshipper_sameday_h3_delivery_packaging_removal = "5000161" - eshipper_sameday_h4_delivery_to_curbside = "5000162" - eshipper_sameday_h5_delivery_to_room_of_choice_2_man = "5000163" - eshipper_sameday_h6_delivery_packaging_removal_2_man = "5000164" - eshipper_sameday_ltl_service = "5000165" - eshipper_sameday_pm_service = "5000166" - eshipper_sameday_urgent_letter = "5000167" - eshipper_sameday_urgent_pac = "5000168" - eshipper_skip = "8000019" - eshipper_smartepost_intl_dhl_parcel_international_direct_ngr = "8000053" - eshipper_smartepost_intl_global_mail_business_priority = "5000137" - eshipper_smartepost_intl_global_mail_business_standard = "5000138" - eshipper_smartepost_intl_global_mail_packet_plus_priority = "5000139" - eshipper_smartepost_intl_global_mail_packet_priority = "5000140" - eshipper_smartepost_intl_global_mail_packet_standard = "5000141" - eshipper_smartepost_intl_global_mail_parcel_direct_priority_yyz = "5000142" - eshipper_smartepost_intl_global_mail_parcel_direct_standard_yyz = "5000143" - eshipper_smartepost_intl_global_mail_parcel_priority = "5000144" - eshipper_smartepost_intl_global_mail_parcel_standard = "5000145" - eshipper_ups_expedited = "5000182" - eshipper_ups_express = "5000036" - eshipper_ups_express_early_am = "5000040" - eshipper_ups_ground = "5000043" - eshipper_ups_second_day_air_am = "5000045" - eshipper_ups_standard = "5000039" - eshipper_ups_three_day_select = "5000041" - eshipper_ups_ups_saver = "5000042" - eshipper_ups_worldwide_expedited = "5000038" - eshipper_ups_worldwide_express = "5000037" - eshipper_ups_worldwide_express_plus = "5000044" - eshipper_usps_first_class_mail = "5000146" - eshipper_usps_first_class_package_return_service = "8000002" - eshipper_usps_library_mail = "5000147" - eshipper_usps_media_mail = "5000148" - eshipper_usps_parcel_select = "5000149" - eshipper_usps_pbx = "5000154" - eshipper_usps_pbx_lightweight = "5000155" - eshipper_usps_priority_mail = "5000150" - eshipper_usps_priority_mail_express = "5000151" - eshipper_usps_priority_mail_open_and_distribute = "5000152" - eshipper_usps_priority_mail_return_service = "8000003" - eshipper_usps_retail_ground_formerly_standard_post = "5000153" - # fmt: on - - @staticmethod - def carrier_id(service_id: str) -> str: - return next( - (_ for _, __ in CARRIER_SERVICES.items() if str(service_id) in __), - "5000011", - ) - - @staticmethod - def carrier(service_id: str) -> str: - return CARRIER_IDS.get(ShippingService.carrier_id(service_id)) - - class ShippingOption(lib.Enum): """Carrier specific options""" @@ -286,428 +92,6 @@ def items_filter(key: str) -> bool: return units.ShippingOptions(options, ShippingOption, items_filter=items_filter) -CARRIER_IDS = { - "5000001": "aramex", - "5000002": "canadapost", - "5000003": "canpar", - "5000017": "day_ross", - "5000004": "dhl_express", - "5000011": "eshipper", - "5000005": "fedex", - "8000010": "flashbird", - "56": "fleet_optics", - "5000008": "project44", - "5000007": "purolator", - "5000047": "pyk", - "5000014": "sameday", - "5000048": "skip", - "5000015": "smartepost_intl", - "5000010": "ups", - "5000013": "usps", -} - -CARRIER_SERVICES = { - "56": ["5000458", "5000458", "5000458", "5000458"], - "5000001": [ - "5000047", - "5000047", - "5000046", - "5000046", - "5000048", - "5000048", - "5000049", - "5000049", - ], - "5000002": [ - "5000181", - "5000181", - "5000181", - "5000028", - "5000028", - "5000028", - "5000029", - "5000029", - "5000029", - "5000025", - "5000025", - "5000025", - "5000031", - "5000031", - "5000031", - "5000035", - "5000035", - "5000035", - "5000034", - "5000034", - "5000034", - "5000033", - "5000033", - "5000033", - "5000027", - "5000027", - "5000027", - "5000024", - "5000024", - "5000024", - "5000032", - "5000032", - "5000032", - "5000026", - "5000026", - "5000026", - "5000030", - "5000030", - "5000030", - ], - "5000003": [ - "5000134", - "5000134", - "5000134", - "5000133", - "5000133", - "5000133", - "5000132", - "5000132", - "5000132", - "5000125", - "5000125", - "5000125", - "5000128", - "5000128", - "5000128", - "5000127", - "5000127", - "5000127", - "5000126", - "5000126", - "5000126", - "5000135", - "5000135", - "5000135", - "5000184", - "5000184", - "5000184", - "5000131", - "5000131", - "5000131", - "5000130", - "5000130", - "5000130", - "5000129", - "5000129", - "5000129", - ], - "5000004": [ - "5000020", - "5000020", - "5000021", - "5000021", - "5000019", - "5000019", - "5000015", - "5000015", - "5000023", - "5000023", - "5000014", - "5000014", - "5000180", - "5000180", - "5000017", - "5000017", - "5000016", - "5000016", - "5000018", - "5000018", - "5000186", - "5000186", - "5000022", - "5000022", - ], - "5000005": [ - "5000172", - "5000172", - "5000172", - "5000169", - "5000169", - "5000169", - "5000175", - "5000175", - "5000175", - "8000023", - "8000023", - "8000023", - "8000022", - "8000022", - "8000022", - "5000176", - "5000176", - "5000176", - "5000179", - "5000179", - "5000179", - "8000018", - "8000018", - "8000018", - "8000017", - "8000017", - "8000017", - "5000183", - "5000183", - "5000183", - "5000171", - "5000171", - "5000171", - "5000170", - "5000170", - "5000170", - "5000174", - "5000174", - "5000174", - "5000173", - "5000173", - "5000173", - "5000178", - "5000178", - "5000178", - "5000177", - "5000177", - "5000177", - ], - "5000007": [ - "5000008", - "5000008", - "5000008", - "5000009", - "5000009", - "5000009", - "5000007", - "5000007", - "5000007", - "5000005", - "5000005", - "5000005", - "5000006", - "5000006", - "5000006", - "5000004", - "5000004", - "5000004", - "5000012", - "5000012", - "5000012", - "5000013", - "5000013", - "5000013", - "5000010", - "5000010", - "5000010", - "5000011", - "5000011", - "5000011", - "5000002", - "5000002", - "5000002", - "5000003", - "5000003", - "5000003", - "5000001", - "5000001", - "5000001", - ], - "5000008": [ - "5000056", - "5000053", - "5000413", - "5000109", - "5000110", - "5000088", - "5000065", - "5000089", - "5000080", - "5000055", - "5000073", - "5000098", - "5000097", - "5000093", - "5000084", - "5000082", - "5000067", - "5000068", - "5000052", - "5000058", - "5000100", - "5000094", - "5000071", - "5000054", - "5000063", - "5000064", - "5000090", - "5000087", - "5000075", - "5000104", - "5000074", - "5000069", - "5000051", - "5000096", - "5000062", - "5000060", - "5000106", - "5000108", - "5000107", - "5000059", - "5000070", - "5000105", - "5000077", - "5000061", - "5000076", - "5000078", - "5000091", - "5000072", - "5000101", - "5000099", - "5000083", - "5000057", - "5000095", - "5000086", - "5000085", - "5000066", - "5000102", - "5000079", - "5000111", - "5000092", - "5000081", - "5000103", - ], - "5000010": [ - "5000044", - "5000044", - "5000044", - "5000037", - "5000037", - "5000037", - "5000038", - "5000038", - "5000038", - "5000042", - "5000042", - "5000042", - "5000041", - "5000041", - "5000041", - "5000039", - "5000039", - "5000039", - "5000045", - "5000045", - "5000045", - "5000043", - "5000043", - "5000043", - "5000040", - "5000040", - "5000040", - "5000036", - "5000036", - "5000036", - "5000182", - "5000182", - "5000182", - ], - "5000011": [ - "5000115", - "5000113", - "5000112", - "5000119", - "5000114", - "5000116", - "5000123", - "5000117", - "5000122", - "5000421", - "5000419", - "5000121", - "5000420", - "5000118", - "5000124", - "5000120", - "5000414", - ], - "5000013": [ - "5000153", - "5000153", - "8000003", - "5000152", - "5000152", - "5000151", - "5000151", - "5000150", - "5000150", - "5000155", - "5000155", - "5000154", - "5000154", - "5000149", - "5000149", - "5000148", - "5000148", - "5000147", - "5000147", - "8000002", - "5000146", - ], - "5000014": [ - "5000168", - "5000167", - "5000166", - "5000165", - "5000164", - "5000163", - "5000162", - "5000161", - "5000160", - "5000159", - "5000158", - "5000157", - "5000156", - ], - "5000015": [ - "5000145", - "5000145", - "5000145", - "5000144", - "5000144", - "5000144", - "5000143", - "5000143", - "5000143", - "5000142", - "5000142", - "5000142", - "5000141", - "5000141", - "5000141", - "5000140", - "5000140", - "5000140", - "5000139", - "5000139", - "5000139", - "5000138", - "5000138", - "5000138", - "5000137", - "5000137", - "5000137", - "8000053", - ], - "5000016": ["5000454"], - "5000017": ["5000457"], - "5000047": ["5000460", "5000460", "5000459", "5000459"], - "5000048": ["8000020", "8000019"], - "8000010": ["8000032"], -} - - class TrackingStatus(lib.Enum): on_hold = ["on_hold"] delivered = ["delivered"] @@ -716,3 +100,235 @@ class TrackingStatus(lib.Enum): delivery_delayed = ["delivery_delayed"] out_for_delivery = ["out_for_delivery"] ready_for_pickup = ["ready_for_pickup"] + + +def to_carrier_code(carrierDTO: typing.Dict[str, str]) -> str: + _code = lib.to_snake_case((carrierDTO or {}).get("name") or "eshipper") + + # map carrier names to their corresponding Karrio code + return KARRIO_CARRIER_MAPPING.get(_code, _code) + + +def to_service_code(service: typing.Dict[str, str]) -> str: + parts = list( + dict.fromkeys( + [ + to_carrier_code(service.get("carrierDTO")), # type: ignore + *[ + _.lower() + for _ in ( + service.get("esServicename") or service.get("name") + ).split(" ") + ], + ][::-1] + ) + )[::-1] + output = ( + lib.to_slug(" ".join(["eshipper", *parts])) + .replace("_eshipper", "") + .replace("__", "_") + ) + + return output + + +def get_service(search: str, test_mode: bool = False, service_id: str = None): + prod_metadata = METADATA_JSON["PROD_SERVICES"] + test_metadata = METADATA_JSON["DEV_SERVICES"] + metadata = lib.identity( + test_metadata + prod_metadata if test_mode else prod_metadata + test_metadata + ) + + return next( + ( + service + for service in metadata + if to_service_code(service) == search + or service.get("name") == search + or str(service.get("id")) == search + or (service_id and service_id == str(service.get("id"))) + ), + {}, + ) + + +def get_service_id(search: str, test_mode: bool = False, service_id: str = None): + return ( + get_service(search, test_mode=test_mode, service_id=service_id).get("id") + or service_id + ) + + +def find_service(search: str, test_mode: bool = False, service_id: str = None): + + if ShippingService.map(search).name: + return ShippingService.map(search) + + service = get_service(search, test_mode=test_mode, service_id=service_id) + + if service: + return ShippingService.map(to_service_code(service)) + + return ShippingService.map(search) + + +def get_carrier( + search: str, + test_mode: bool = False, + service_search: str = None, + service_id: str = None, +): + id_key = "test_id" if test_mode else "prod_id" + alternate_key = "prod_id" if not test_mode else "test_id" + service = get_service(service_search, test_mode=test_mode, service_id=service_id) + + return service.get("carrierDTO") or next( + ( + carrier + for carrier in ESHIPPER_CARRIER_METADATA.values() + if search == carrier.get(id_key) or search == carrier.get("name") + ), + next( + ( + carrier + for carrier in ESHIPPER_CARRIER_METADATA.values() + if search == carrier.get(alternate_key) or search == carrier.get("name") + ), + {}, + ), + ) + + +def get_carrier_id( + search: str, + test_mode: bool = False, + service_search: str = None, + service_id: str = None, +): + return get_carrier( + search, + test_mode=test_mode, + service_search=service_search, + service_id=service_id, + ).get("id") + + +def find_rate_provider( + search: str, + test_mode: bool = False, + service_search: str = None, + service_id: str = None, +): + + if RateProvider.map(lib.to_snake_case(search)).name: + return RateProvider.map(lib.to_snake_case(search)) + + carrier = get_carrier( + search, + test_mode=test_mode, + service_search=service_search, + service_id=service_id, + ) + + if carrier and RateProvider.map(to_carrier_code(carrier)).name: + return RateProvider.map(to_carrier_code(carrier)) + + return RateProvider.map(lib.to_snake_case(search)) + + +ESHIPPER_CARRIER_METADATA = { + lib.to_snake_case(carrier["carrierDTO"]["name"]): { + **carrier["carrierDTO"], + "ids": list( + set( + [ + s["carrierDTO"]["id"] + for s in METADATA_JSON["PROD_SERVICES"] + + METADATA_JSON["DEV_SERVICES"] + if s["carrierDTO"]["name"] == carrier["carrierDTO"]["name"] + ] + ) + ), + "prod_id": next( + ( + s["carrierDTO"]["id"] + for s in METADATA_JSON["PROD_SERVICES"] + if s["carrierDTO"]["name"] == carrier["carrierDTO"]["name"] + ), + None, + ), + "test_id": next( + ( + s["carrierDTO"]["id"] + for s in METADATA_JSON["DEV_SERVICES"] + if s["carrierDTO"]["name"] == carrier["carrierDTO"]["name"] + ), + None, + ), + } + for carrier in { + s["carrierDTO"]["name"]: s + for s in METADATA_JSON["PROD_SERVICES"] + METADATA_JSON["DEV_SERVICES"] + }.values() +} + +ESHIPPER_SERVICE_METADATA = { + lib.to_snake_case(service.get("esServicename") or service.get("name")): { + **service, + "ids": list( + set( + [ + s["id"] + for s in METADATA_JSON["PROD_SERVICES"] + + METADATA_JSON["DEV_SERVICES"] + if lib.to_snake_case(s["name"]) + == lib.to_snake_case(service["name"]) + ] + ) + ), + "prod_id": next( + ( + s["id"] + for s in METADATA_JSON["PROD_SERVICES"] + if s["name"] == service["name"] + ), + None, + ), + "test_id": next( + ( + s["id"] + for s in METADATA_JSON["DEV_SERVICES"] + if s["name"] == service["name"] + ), + None, + ), + "carrier": lib.to_snake_case(service["carrierDTO"]["name"]), + } + for service in { + s["name"]: s + for s in METADATA_JSON["PROD_SERVICES"] + METADATA_JSON["DEV_SERVICES"] + }.values() +} + + +ShippingService = lib.StrEnum( + "ShippingService", + { + to_service_code(service): service["name"] + for service in ESHIPPER_SERVICE_METADATA.values() + }, +) + +RateProvider = lib.StrEnum( + "RateProvider", + { + to_carrier_code(carrier): slug + for slug, carrier in ESHIPPER_CARRIER_METADATA.items() + }, +) + + +setattr(ShippingService, "service_id", get_service_id) +setattr(ShippingService, "carrier_id", get_carrier_id) +setattr(ShippingService, "find", find_service) +setattr(RateProvider, "find", find_rate_provider) diff --git a/modules/connectors/eshipper/karrio/providers/eshipper/utils.py b/modules/connectors/eshipper/karrio/providers/eshipper/utils.py index 0ac3c986b2..21c8006bb4 100644 --- a/modules/connectors/eshipper/karrio/providers/eshipper/utils.py +++ b/modules/connectors/eshipper/karrio/providers/eshipper/utils.py @@ -16,7 +16,9 @@ def carrier_name(self): @property def server_url(self): - return "https://uu2.eshipper.com" if self.test_mode else "https://ww2.eshipper.com" + return ( + "https://uu2.eshipper.com" if self.test_mode else "https://ww2.eshipper.com" + ) @property def access_token(self): diff --git a/modules/connectors/eshipper/tests/eshipper/test_rate.py b/modules/connectors/eshipper/tests/eshipper/test_rate.py index bf35337dc7..2f6aa71f81 100644 --- a/modules/connectors/eshipper/tests/eshipper/test_rate.py +++ b/modules/connectors/eshipper/tests/eshipper/test_rate.py @@ -79,7 +79,7 @@ def test_parse_rate_response(self): }, ], "options": { - "shipment_date": "2024-07-16", + "shipping_date": "2024-07-16T10:00", }, } @@ -96,11 +96,12 @@ def test_parse_rate_response(self): {"amount": 4.34, "currency": "CAD", "name": "HST"}, ], "meta": { - "carrierId": "5000007", - "carrierName": "Purolator", + "eshipper_carrier_id": 2, + "eshipper_carrier_name": "Purolator", + "eshipper_service_id": 5000010, + "eshipper_service_name": "Purolator Ground", "rate_provider": "purolator", - "serviceName": "Purolator Ground", - "service_name": "Purolator Ground", + "service_name": "eshipper_purolator_ground", }, "service": "eshipper_purolator_ground", "total_charge": 37.75, @@ -117,11 +118,12 @@ def test_parse_rate_response(self): {"amount": 4.42, "currency": "CAD", "name": "HST"}, ], "meta": { - "carrierId": "5000007", - "carrierName": "Purolator", + "eshipper_carrier_id": 2, + "eshipper_carrier_name": "Purolator", + "eshipper_service_id": 5000001, + "eshipper_service_name": "Purolator Express", "rate_provider": "purolator", - "serviceName": "Purolator Express", - "service_name": "Purolator Express", + "service_name": "eshipper_purolator_express", }, "service": "eshipper_purolator_express", "total_charge": 38.44, @@ -138,11 +140,12 @@ def test_parse_rate_response(self): {"amount": 5.95, "currency": "CAD", "name": "HST"}, ], "meta": { - "carrierId": "5000003", - "carrierName": "Canpar", + "eshipper_carrier_id": 45, + "eshipper_carrier_name": "Canpar", + "eshipper_service_id": 5000128, + "eshipper_service_name": "Select Parcel", "rate_provider": "canpar", - "serviceName": "Select Parcel", - "service_name": "Select Parcel", + "service_name": "eshipper_canpar_select_parcel", }, "service": "eshipper_canpar_select_parcel", "total_charge": 51.7, @@ -159,13 +162,14 @@ def test_parse_rate_response(self): {"amount": 6.01, "currency": "CAD", "name": "HST"}, ], "meta": { - "carrierId": "5000003", - "carrierName": "Canpar", + "eshipper_carrier_id": 6, + "eshipper_carrier_name": "Canpar", + "eshipper_service_id": 5000184, + "eshipper_service_name": "Ground", "rate_provider": "canpar", - "serviceName": "Ground", - "service_name": "Ground", + "service_name": "eshipper_ups_ground", }, - "service": "eshipper_canpar_ground", + "service": "eshipper_ups_ground", "total_charge": 52.23, "transit_days": 1, }, @@ -180,11 +184,12 @@ def test_parse_rate_response(self): {"amount": 6.01, "currency": "CAD", "name": "HST"}, ], "meta": { - "carrierId": "5000003", - "carrierName": "Canpar", + "eshipper_carrier_id": 45, + "eshipper_carrier_name": "Canpar", + "eshipper_service_id": 5000131, + "eshipper_service_name": "Express Parcel", "rate_provider": "canpar", - "serviceName": "Express Parcel", - "service_name": "Express Parcel", + "service_name": "eshipper_canpar_express_parcel", }, "service": "eshipper_canpar_express_parcel", "total_charge": 52.28, @@ -201,11 +206,12 @@ def test_parse_rate_response(self): {"amount": 6.84, "currency": "CAD", "name": "HST"}, ], "meta": { - "carrierId": "5000007", - "carrierName": "Purolator", + "eshipper_carrier_id": 2, + "eshipper_carrier_name": "Purolator", + "eshipper_service_id": 5000003, + "eshipper_service_name": "Purolator Express 1030", "rate_provider": "purolator", - "serviceName": "Purolator Express 1030", - "service_name": "Purolator Express 1030", + "service_name": "eshipper_purolator_express_1030", }, "service": "eshipper_purolator_express_1030", "total_charge": 59.45, @@ -222,11 +228,12 @@ def test_parse_rate_response(self): {"amount": 10.53, "currency": "CAD", "name": "HST"}, ], "meta": { - "carrierId": "5000007", - "carrierName": "Purolator", + "eshipper_carrier_id": 2, + "eshipper_carrier_name": "Purolator", + "eshipper_service_id": 5000002, + "eshipper_service_name": "Purolator Express 9AM", "rate_provider": "purolator", - "serviceName": "Purolator Express 9AM", - "service_name": "Purolator Express 9AM", + "service_name": "eshipper_purolator_express_9am", }, "service": "eshipper_purolator_express_9am", "total_charge": 91.52, @@ -300,7 +307,6 @@ def test_parse_rate_response(self): ], ] - RateRequest = { "from": { "attention": "Test Company- From", @@ -320,7 +326,7 @@ def test_parse_rate_response(self): "zip": "L4T3T1", "country": "CA", }, - "scheduledShipDate": "2024-07-16 00:00", + "scheduledShipDate": "2024-07-16 10:00", "packagingUnit": "Metric", "packages": { "type": "Package", diff --git a/modules/connectors/eshipper/tests/eshipper/test_shipment.py b/modules/connectors/eshipper/tests/eshipper/test_shipment.py index 4aa109fb18..172a69df52 100644 --- a/modules/connectors/eshipper/tests/eshipper/test_shipment.py +++ b/modules/connectors/eshipper/tests/eshipper/test_shipment.py @@ -113,8 +113,7 @@ def test_parse_cancel_shipment_response(self): }, ], "options": { - "shipping_date": "2024-07-16", - "shipping_time": "10:30", + "shipping_date": "2024-07-16T10:30", }, } @@ -132,9 +131,9 @@ def test_parse_cancel_shipment_response(self): "meta": { "carrier_tracking_link": "https://www.purolator.com/en/shipping/tracker?pin=329041222335", "rate_provider": "purolator", - "carrierName": "Purolator", "orderId": "8000000010948", - "service_name": "Purolator Ground 1030", + "eshipper_carrier_name": "Purolator", + "service_name": "eshipper_purolator_ground_1030", "tracking_numbers": ["329041222335"], }, "shipment_identifier": "8000000010948", @@ -180,7 +179,7 @@ def test_parse_cancel_shipment_response(self): }, "packagingUnit": "Metric", "scheduledShipDate": "2024-07-16 10:30", - "serviceId": "5000184", + "serviceId": 4500, "from": { "address1": "9, Van Der Graaf Court", "attention": "Test Company- From", diff --git a/modules/connectors/fedex/generate b/modules/connectors/fedex/generate index b65affdacd..eda13f6894 100755 --- a/modules/connectors/fedex/generate +++ b/modules/connectors/fedex/generate @@ -23,3 +23,7 @@ quicktype --src="${SCHEMAS}/tracking_request.json" --out="${LIB_MODULES}/trackin quicktype --src="${SCHEMAS}/tracking_response.json" --out="${LIB_MODULES}/tracking_response.py" quicktype --src="${SCHEMAS}/tracking_document_request.json" --out="${LIB_MODULES}/tracking_document_request.py" quicktype --src="${SCHEMAS}/tracking_document_response.json" --out="${LIB_MODULES}/tracking_document_response.py" +quicktype --src="${SCHEMAS}/pickup_request.json" --out="${LIB_MODULES}/pickup_request.py" +quicktype --src="${SCHEMAS}/pickup_response.json" --out="${LIB_MODULES}/pickup_response.py" +quicktype --src="${SCHEMAS}/cancel_pickup_request.json" --out="${LIB_MODULES}/cancel_pickup_request.py" +quicktype --src="${SCHEMAS}/cancel_pickup_response.json" --out="${LIB_MODULES}/cancel_pickup_response.py" diff --git a/modules/connectors/fedex/karrio/mappers/fedex/mapper.py b/modules/connectors/fedex/karrio/mappers/fedex/mapper.py index 3b95c86f21..dd82381338 100644 --- a/modules/connectors/fedex/karrio/mappers/fedex/mapper.py +++ b/modules/connectors/fedex/karrio/mappers/fedex/mapper.py @@ -34,6 +34,19 @@ def create_document_upload_request( ) -> lib.Serializable: return provider.document_upload_request(payload, self.settings) + def create_pickup_request(self, payload: models.PickupRequest) -> lib.Serializable: + return provider.pickup_request(payload, self.settings) + + def create_pickup_update_request( + self, payload: models.PickupUpdateRequest + ) -> lib.Serializable: + return provider.pickup_update_request(payload, self.settings) + + def create_cancel_pickup_request( + self, payload: models.PickupCancelRequest + ) -> lib.Serializable: + return provider.pickup_cancel_request(payload, self.settings) + def parse_cancel_shipment_response( self, response: lib.Deserializable ) -> typing.Tuple[models.ConfirmationDetails, typing.List[models.Message]]: @@ -59,3 +72,18 @@ def parse_document_upload_response( response: lib.Deserializable, ) -> typing.Tuple[models.DocumentUploadDetails, typing.List[models.Message]]: return provider.parse_document_upload_response(response, self.settings) + + def parse_cancel_pickup_response( + self, response: lib.Deserializable + ) -> typing.Tuple[models.ConfirmationDetails, typing.List[models.Message]]: + return provider.parse_pickup_cancel_response(response, self.settings) + + def parse_pickup_response( + self, response: lib.Deserializable + ) -> typing.Tuple[models.PickupDetails, typing.List[models.Message]]: + return provider.parse_pickup_response(response, self.settings) + + def parse_pickup_update_response( + self, response: lib.Deserializable + ) -> typing.Tuple[models.PickupDetails, typing.List[models.Message]]: + return provider.parse_pickup_update_response(response, self.settings) diff --git a/modules/connectors/fedex/karrio/mappers/fedex/proxy.py b/modules/connectors/fedex/karrio/mappers/fedex/proxy.py index e86a5c28db..3176806f32 100644 --- a/modules/connectors/fedex/karrio/mappers/fedex/proxy.py +++ b/modules/connectors/fedex/karrio/mappers/fedex/proxy.py @@ -99,3 +99,46 @@ def upload_document(self, requests: lib.Serializable) -> lib.Deserializable: response, lambda __: [lib.to_dict(_) for _ in __], ) + + def schedule_pickup(self, request: lib.Serializable) -> lib.Deserializable[str]: + response = lib.request( + url=f"{self.settings.server_url}/pickup/v1/pickups", + data=lib.to_json(request.serialize()), + trace=self.trace_as("json"), + method="POST", + headers={ + "x-locale": "en_US", + "content-type": "application/json", + "authorization": f"Bearer {self.settings.access_token}", + }, + decoder=provider_utils.parse_response, + on_error=lambda b: provider_utils.parse_response(b.read()), + ) + + return lib.Deserializable(response, lib.to_dict, request.ctx) + + def modify_pickup(self, request: lib.Serializable) -> lib.Deserializable[str]: + response = self.cancel_pickup(lib.Serializable(request.ctx["cancel"])) + confirmation = response.deserialize().get("output") or {} + + if confirmation.get("pickupConfirmationCode") is not None: + return self.schedule_pickup(request) + + return response + + def cancel_pickup(self, request: lib.Serializable) -> lib.Deserializable[str]: + response = lib.request( + url=f"{self.settings.server_url}/pickup/v1/pickups/cancel", + data=lib.to_json(request.serialize()), + trace=self.trace_as("json"), + method="PUT", + headers={ + "x-locale": "en_US", + "content-type": "application/json", + "authorization": f"Bearer {self.settings.access_token}", + }, + decoder=provider_utils.parse_response, + on_error=lambda b: provider_utils.parse_response(b.read()), + ) + + return lib.Deserializable(response, lib.to_dict, request.ctx) diff --git a/modules/connectors/fedex/karrio/providers/fedex/__init__.py b/modules/connectors/fedex/karrio/providers/fedex/__init__.py index b683b388e3..3ae45cade4 100644 --- a/modules/connectors/fedex/karrio/providers/fedex/__init__.py +++ b/modules/connectors/fedex/karrio/providers/fedex/__init__.py @@ -14,3 +14,11 @@ parse_document_upload_response, document_upload_request, ) +from karrio.providers.fedex.pickup import ( + parse_pickup_cancel_response, + parse_pickup_update_response, + parse_pickup_response, + pickup_cancel_request, + pickup_update_request, + pickup_request, +) diff --git a/modules/connectors/fedex/karrio/providers/fedex/error.py b/modules/connectors/fedex/karrio/providers/fedex/error.py index 21dcab74c1..05bf8585ef 100644 --- a/modules/connectors/fedex/karrio/providers/fedex/error.py +++ b/modules/connectors/fedex/karrio/providers/fedex/error.py @@ -16,13 +16,17 @@ def parse_error_response( *(result["errors"] if "errors" in result else []), *( result["output"]["alerts"] - if "alerts" in result.get("output", {}) + if "output" in result + and not isinstance(result["output"], str) + and "alerts" in result.get("output", {}) and not isinstance(result["output"]["alerts"], str) else [] ), *( [{"message": result["output"]["message"]}] - if "message" in result.get("output", {}) + if "output" in result + and not isinstance(result["output"], str) + and "message" in result.get("output", {}) and isinstance(result["output"]["message"], str) and not result["output"]["alertType"] != "NOTE" else [] diff --git a/modules/connectors/fedex/karrio/providers/fedex/pickup/__init__.py b/modules/connectors/fedex/karrio/providers/fedex/pickup/__init__.py new file mode 100644 index 0000000000..56d35585bc --- /dev/null +++ b/modules/connectors/fedex/karrio/providers/fedex/pickup/__init__.py @@ -0,0 +1,9 @@ +from karrio.providers.fedex.pickup.create import parse_pickup_response, pickup_request +from karrio.providers.fedex.pickup.update import ( + parse_pickup_update_response, + pickup_update_request, +) +from karrio.providers.fedex.pickup.cancel import ( + parse_pickup_cancel_response, + pickup_cancel_request, +) diff --git a/modules/connectors/fedex/karrio/providers/fedex/pickup/cancel.py b/modules/connectors/fedex/karrio/providers/fedex/pickup/cancel.py new file mode 100644 index 0000000000..297c45593d --- /dev/null +++ b/modules/connectors/fedex/karrio/providers/fedex/pickup/cancel.py @@ -0,0 +1,79 @@ +import karrio.schemas.fedex.cancel_pickup_request as fedex +import karrio.schemas.fedex.cancel_pickup_response as pickup + +import typing +import karrio.lib as lib +import karrio.core.units as units +import karrio.core.models as models +import karrio.providers.fedex.error as error +import karrio.providers.fedex.utils as provider_utils +import karrio.providers.fedex.units as provider_units + + +def parse_pickup_cancel_response( + _response: lib.Deserializable[dict], + settings: provider_utils.Settings, +) -> typing.Tuple[models.ConfirmationDetails, typing.List[models.Message]]: + response = _response.deserialize() + messages = error.parse_error_response(response, settings) + success = any(lib.failsafe(lambda: response["output"]["pickupConfirmationCode"])) + + confirmation = lib.identity( + models.ConfirmationDetails( + carrier_id=settings.carrier_id, + carrier_name=settings.carrier_name, + operation="Cancel Pickup", + success=success, + ) + if success + else None + ) + + return confirmation, messages + + +def pickup_cancel_request( + payload: models.PickupCancelRequest, + settings: provider_utils.Settings, +) -> lib.Serializable: + address = lib.to_address(payload.address) + options = lib.units.Options( + payload.options, + option_type=lib.units.create_enum( + "PickupOptions", + # fmt: off + { + "fedex_carrier_code": lib.OptionEnum("carrierCode"), + "fedex_pickup_location": lib.OptionEnum("location"), + }, + # fmt: on + ), + ) + + # map data to convert karrio model to fedex specific type + request = fedex.CancelPickupRequestType( + associatedAccountNumber=fedex.AssociatedAccountNumberType( + value=settings.account_number, + ), + pickupConfirmationCode=payload.confirmation_number, + remarks=payload.reason, + carrierCode=options.fedex_carrier_code.state, + accountAddressOfRecord=lib.identity( + fedex.AccountAddressOfRecordType( + streetLines=address.address_lines, + urbanizationCode=None, + city=address.city, + stateOrProvinceCode=provider_utils.state_code(address), + postalCode=address.postal_code, + countryCode=address.country_code, + residential=address.residential, + addressClassification=None, + ) + if payload.address + else None + ), + scheduledDate=lib.fdate(payload.pickup_date, "%Y-%m-%d"), + location=options.fedex_pickup_location.state, + ) + + return lib.Serializable(request, lib.to_dict) diff --git a/modules/connectors/fedex/karrio/providers/fedex/pickup/create.py b/modules/connectors/fedex/karrio/providers/fedex/pickup/create.py new file mode 100644 index 0000000000..3330820e51 --- /dev/null +++ b/modules/connectors/fedex/karrio/providers/fedex/pickup/create.py @@ -0,0 +1,148 @@ +import karrio.schemas.fedex.pickup_request as fedex +import karrio.schemas.fedex.pickup_response as pickup + +import typing +import karrio.lib as lib +import karrio.core.units as units +import karrio.core.models as models +import karrio.providers.fedex.error as error +import karrio.providers.fedex.utils as provider_utils +import karrio.providers.fedex.units as provider_units + + +def parse_pickup_response( + _response: lib.Deserializable[dict], + settings: provider_utils.Settings, +) -> typing.Tuple[typing.List[models.PickupDetails], typing.List[models.Message]]: + response = _response.deserialize() + + messages = error.parse_error_response(response, settings) + pickup = lib.identity( + _extract_details(response, settings, _response.ctx) + if (response.get("output") or {}).get("pickupConfirmationCode") + else None + ) + + return pickup, messages + + +def _extract_details( + data: dict, + settings: provider_utils.Settings, + ctx: dict, +) -> models.PickupDetails: + details = lib.to_object(pickup.PickupResponseType, data) + + return models.PickupDetails( + carrier_id=settings.carrier_id, + carrier_name=settings.carrier_name, + confirmation_number=details.output.pickupConfirmationCode, + pickup_date=lib.fdate(ctx["pickup_date"]), + ) + + +def pickup_request( + payload: models.PickupRequest, + settings: provider_utils.Settings, +) -> lib.Serializable: + address = lib.to_address(payload.address) + packages = lib.to_packages(payload.parcels) + options = lib.units.Options( + payload.options, + option_type=lib.units.create_enum( + "PickupOptions", + # fmt: off + { + "fedex_carrier_code": lib.OptionEnum("carrierCode"), + "fedex_pickup_location": lib.OptionEnum("location"), + "fedex_user_message": lib.OptionEnum("userMessage"), + "fedex_early_pickup": lib.OptionEnum("earlyPickup"), + "fedex_building_part": lib.OptionEnum("buildingPart"), + "fedex_pickup_date_type": lib.OptionEnum("pickupDateType"), + "fedex_supplies_requested": lib.OptionEnum("suppliesRequested"), + "fedex_pickup_address_type": lib.OptionEnum("pickupAddressType"), + "fedex_building_part_description": lib.OptionEnum("buildingPartDescription"), + "fedex_associated_account_number_type": lib.OptionEnum("associatedAccountNumberType"), + }, + # fmt: on + ), + ) + + # map data to convert karrio model to fedex specific type + request = fedex.PickupRequestType( + associatedAccountNumber=fedex.AccountNumberType( + value=settings.account_number, + ), + originDetail=fedex.OriginDetailType( + pickupAddressType=options.fedex_pickup_address_type.state, + pickupLocation=fedex.PickupLocationType( + contact=fedex.ContactType( + companyName=address.company_name, + personName=address.person_name, + phoneNumber=address.phone_number, + phoneExtension=None, + ), + address=fedex.AccountAddressOfRecordType( + streetLines=address.address_lines, + city=address.city, + stateOrProvinceCode=address.state_code, + postalCode=address.postal_code, + countryCode=address.country_code, + residential=address.residential, + addressClassification=None, + urbanizationCode=None, + ), + accountNumber=fedex.AccountNumberType( + value=settings.account_number, + ), + deliveryInstructions=options.instructions.state, + ), + readyDateTimestamp=f"{payload.pickup_date}T{payload.closing_time}:00Z", + customerCloseTime=f"{payload.closing_time}:00", + pickupDateType=options.fedex_pickup_date_type.state, + packageLocation=payload.package_location, + buildingPart=options.fedex_building_part.state, + buildingPartDescription=options.fedex_building_part_description.state, + earlyPickup=options.fedex_early_pickup.state, + suppliesRequested=options.fedex_supplies_requested.state, + geographicalPostalCode=options.geographical_postal_code.state, + ), + associatedAccountNumberType=options.fedex_associated_account_number_type.state, + totalWeight=fedex.TotalWeightType( + units=packages.weight_unit, + value=packages.weight.value, + ), + packageCount=len(packages), + carrierCode=options.fedex_carrier_code.state or "FDXE", + accountAddressOfRecord=None, + remarks=None, + countryRelationships=None, + pickupType=None, + trackingNumber=None, + commodityDescription=lib.text(packages.description, max=100), + expressFreightDetail=None, + oversizePackageCount=None, + pickupNotificationDetail=lib.identity( + fedex.PickupNotificationDetailType( + emailDetails=[ + fedex.EmailDetailType( + address=address.email, + locale="en_US", + ) + ], + format="TEXT", + userMessage=options.fedex_user_message.state, + ) + if address.email + else None + ), + ) + + return lib.Serializable( + request, + lib.to_dict, + dict( + pickup_date=payload.pickup_date, + address=payload.address, + ), + ) diff --git a/modules/connectors/fedex/karrio/providers/fedex/pickup/update.py b/modules/connectors/fedex/karrio/providers/fedex/pickup/update.py new file mode 100644 index 0000000000..a12df10e80 --- /dev/null +++ b/modules/connectors/fedex/karrio/providers/fedex/pickup/update.py @@ -0,0 +1,162 @@ +import karrio.schemas.fedex.pickup_request as fedex +import karrio.schemas.fedex.pickup_response as pickup + +import typing +import karrio.lib as lib +import karrio.core.units as units +import karrio.core.models as models +import karrio.providers.fedex.error as error +import karrio.providers.fedex.utils as provider_utils +import karrio.providers.fedex.units as provider_units +import karrio.providers.fedex.pickup.cancel as cancel + + +def parse_pickup_update_response( + _response: lib.Deserializable[dict], + settings: provider_utils.Settings, +) -> typing.Tuple[typing.List[models.PickupDetails], typing.List[models.Message]]: + response = _response.deserialize() + + messages = error.parse_error_response(response, settings) + pickup = lib.identity( + _extract_details(response, settings, _response.ctx) + if (response.get("output") or {}).get("pickupConfirmationCode") + else None + ) + + return pickup, messages + + +def _extract_details( + data: dict, + settings: provider_utils.Settings, + ctx: dict, +) -> models.PickupDetails: + details = lib.to_object(pickup.PickupResponseType, data) + + return models.PickupDetails( + carrier_id=settings.carrier_id, + carrier_name=settings.carrier_name, + confirmation_number=details.output.pickupConfirmationCode, + pickup_date=lib.fdate(ctx["pickup_date"]), + ) + + +def pickup_update_request( + payload: models.PickupUpdateRequest, + settings: provider_utils.Settings, +) -> lib.Serializable: + address = lib.to_address(payload.address) + packages = lib.to_packages(payload.parcels) + options = lib.units.Options( + payload.options, + option_type=lib.units.create_enum( + "PickupOptions", + # fmt: off + { + "fedex_carrier_code": lib.OptionEnum("carrierCode"), + "fedex_pickup_location": lib.OptionEnum("location"), + "fedex_user_message": lib.OptionEnum("userMessage"), + "fedex_early_pickup": lib.OptionEnum("earlyPickup"), + "fedex_building_part": lib.OptionEnum("buildingPart"), + "fedex_pickup_date_type": lib.OptionEnum("pickupDateType"), + "fedex_supplies_requested": lib.OptionEnum("suppliesRequested"), + "fedex_pickup_address_type": lib.OptionEnum("pickupAddressType"), + "fedex_building_part_description": lib.OptionEnum("buildingPartDescription"), + "fedex_associated_account_number_type": lib.OptionEnum("associatedAccountNumberType"), + }, + # fmt: on + ), + ) + + # map data to convert karrio model to fedex specific type + request = fedex.PickupRequestType( + associatedAccountNumber=fedex.AccountNumberType( + value=settings.account_number, + ), + originDetail=fedex.OriginDetailType( + pickupAddressType=options.fedex_pickup_address_type.state, + pickupLocation=fedex.PickupLocationType( + contact=fedex.ContactType( + companyName=address.company_name, + personName=address.person_name, + phoneNumber=address.phone_number, + phoneExtension=None, + ), + address=fedex.AccountAddressOfRecordType( + streetLines=address.address_lines, + city=address.city, + stateOrProvinceCode=address.state_code, + postalCode=address.postal_code, + countryCode=address.country_code, + residential=address.residential, + addressClassification=None, + urbanizationCode=None, + ), + accountNumber=fedex.AccountNumberType( + value=settings.account_number, + ), + deliveryInstructions=options.instructions.state, + ), + readyDateTimestamp=f"{payload.pickup_date}T{payload.closing_time}:00Z", + customerCloseTime=f"{payload.closing_time}:00", + pickupDateType=options.fedex_pickup_date_type.state, + packageLocation=payload.package_location, + buildingPart=options.fedex_building_part.state, + buildingPartDescription=options.fedex_building_part_description.state, + earlyPickup=options.fedex_early_pickup.state, + suppliesRequested=options.fedex_supplies_requested.state, + geographicalPostalCode=options.geographical_postal_code.state, + ), + associatedAccountNumberType=options.fedex_associated_account_number_type.state, + totalWeight=fedex.TotalWeightType( + units=packages.weight_unit, + value=packages.weight.value, + ), + packageCount=len(packages), + carrierCode=options.fedex_carrier_code.state or "FDXE", + accountAddressOfRecord=None, + remarks=None, + countryRelationships=None, + pickupType=None, + trackingNumber=None, + commodityDescription=lib.text(packages.description, max=100), + expressFreightDetail=None, + oversizePackageCount=None, + pickupNotificationDetail=lib.identity( + fedex.PickupNotificationDetailType( + emailDetails=[ + fedex.EmailDetailType( + address=address.email, + locale="en_US", + ) + ], + format="TEXT", + userMessage=options.fedex_user_message.state, + ) + if address.email + else None + ), + ) + + return lib.Serializable( + request, + lib.to_dict, + dict( + confirmation_number=payload.confirmation_number, + pickup_date=payload.pickup_date, + address=payload.address, + cancel=cancel.pickup_cancel_request( + lib.to_object( + models.PickupCancelRequest, + dict( + confirmation_number=payload.confirmation_number, + pickup_date=payload.pickup_date, + address=payload.address, + reason="update", + ), + ), + settings, + ), + ), + ) diff --git a/modules/connectors/fedex/karrio/providers/fedex/shipment/create.py b/modules/connectors/fedex/karrio/providers/fedex/shipment/create.py index 1c0887df5b..4822df5863 100644 --- a/modules/connectors/fedex/karrio/providers/fedex/shipment/create.py +++ b/modules/connectors/fedex/karrio/providers/fedex/shipment/create.py @@ -17,7 +17,7 @@ def parse_shipment_response( response = _response.deserialize() messages = provider_error.parse_error_response(response, settings) - shipment = ( + shipment = lib.identity( _extract_details( response["output"]["transactionShipments"][0], settings, @@ -82,6 +82,9 @@ def _extract_details( carrier_tracking_link=settings.tracking_url.format(tracking_number), trackingIdType=shipment.pieceResponses[0].trackingIdType, serviceCategory=shipment.pieceResponses[0].serviceCategory, + fedex_carrier_code=lib.failsafe( + lambda: shipment.completedShipmentDetail.carrierCode + ), ), ) diff --git a/modules/connectors/fedex/karrio/schemas/fedex/cancel_pickup_request.py b/modules/connectors/fedex/karrio/schemas/fedex/cancel_pickup_request.py new file mode 100644 index 0000000000..181063dccd --- /dev/null +++ b/modules/connectors/fedex/karrio/schemas/fedex/cancel_pickup_request.py @@ -0,0 +1,31 @@ +from attr import s +from typing import List, Optional +from jstruct import JStruct + + +@s(auto_attribs=True) +class AccountAddressOfRecordType: + streetLines: List[str] = [] + urbanizationCode: Optional[str] = None + city: Optional[str] = None + stateOrProvinceCode: Optional[str] = None + postalCode: Optional[int] = None + countryCode: Optional[str] = None + residential: Optional[bool] = None + addressClassification: Optional[str] = None + + +@s(auto_attribs=True) +class AssociatedAccountNumberType: + value: Optional[str] = None + + +@s(auto_attribs=True) +class CancelPickupRequestType: + associatedAccountNumber: Optional[AssociatedAccountNumberType] = JStruct[AssociatedAccountNumberType] + pickupConfirmationCode: Optional[int] = None + remarks: Optional[str] = None + carrierCode: Optional[str] = None + accountAddressOfRecord: Optional[AccountAddressOfRecordType] = JStruct[AccountAddressOfRecordType] + scheduledDate: Optional[str] = None + location: Optional[str] = None diff --git a/modules/connectors/fedex/karrio/schemas/fedex/cancel_pickup_response.py b/modules/connectors/fedex/karrio/schemas/fedex/cancel_pickup_response.py new file mode 100644 index 0000000000..4f2125efdf --- /dev/null +++ b/modules/connectors/fedex/karrio/schemas/fedex/cancel_pickup_response.py @@ -0,0 +1,24 @@ +from attr import s +from typing import Optional, List +from jstruct import JList, JStruct + + +@s(auto_attribs=True) +class AlertType: + code: Optional[str] = None + alertType: Optional[str] = None + message: Optional[str] = None + + +@s(auto_attribs=True) +class OutputType: + pickupConfirmationCode: Optional[str] = None + cancelConfirmationMessage: Optional[str] = None + alerts: List[AlertType] = JList[AlertType] + + +@s(auto_attribs=True) +class CancelPickupResponseType: + transactionId: Optional[str] = None + customerTransactionId: Optional[str] = None + output: Optional[OutputType] = JStruct[OutputType] diff --git a/modules/connectors/fedex/karrio/schemas/fedex/pickup_request.py b/modules/connectors/fedex/karrio/schemas/fedex/pickup_request.py new file mode 100644 index 0000000000..237a115994 --- /dev/null +++ b/modules/connectors/fedex/karrio/schemas/fedex/pickup_request.py @@ -0,0 +1,106 @@ +from attr import s +from typing import List, Optional +from jstruct import JStruct, JList + + +@s(auto_attribs=True) +class AccountAddressOfRecordType: + streetLines: List[str] = [] + city: Optional[str] = None + stateOrProvinceCode: Optional[str] = None + postalCode: Optional[int] = None + countryCode: Optional[str] = None + residential: Optional[bool] = None + addressClassification: Optional[str] = None + urbanizationCode: Optional[str] = None + + +@s(auto_attribs=True) +class AccountNumberType: + value: Optional[str] = None + + +@s(auto_attribs=True) +class DimensionsType: + length: Optional[int] = None + width: Optional[int] = None + height: Optional[int] = None + units: Optional[str] = None + + +@s(auto_attribs=True) +class ExpressFreightDetailType: + truckType: Optional[str] = None + service: Optional[str] = None + trailerLength: Optional[str] = None + bookingNumber: Optional[str] = None + dimensions: Optional[DimensionsType] = JStruct[DimensionsType] + + +@s(auto_attribs=True) +class ContactType: + companyName: Optional[str] = None + personName: Optional[str] = None + phoneNumber: Optional[str] = None + phoneExtension: Optional[str] = None + + +@s(auto_attribs=True) +class PickupLocationType: + contact: Optional[ContactType] = JStruct[ContactType] + address: Optional[AccountAddressOfRecordType] = JStruct[AccountAddressOfRecordType] + accountNumber: Optional[AccountNumberType] = JStruct[AccountNumberType] + deliveryInstructions: Optional[str] = None + + +@s(auto_attribs=True) +class OriginDetailType: + pickupAddressType: Optional[str] = None + pickupLocation: Optional[PickupLocationType] = JStruct[PickupLocationType] + readyDateTimestamp: Optional[str] = None + customerCloseTime: Optional[str] = None + pickupDateType: Optional[str] = None + packageLocation: Optional[str] = None + buildingPart: Optional[str] = None + buildingPartDescription: Optional[int] = None + earlyPickup: Optional[bool] = None + suppliesRequested: Optional[str] = None + geographicalPostalCode: Optional[str] = None + + +@s(auto_attribs=True) +class EmailDetailType: + address: Optional[str] = None + locale: Optional[str] = None + + +@s(auto_attribs=True) +class PickupNotificationDetailType: + emailDetails: List[EmailDetailType] = JList[EmailDetailType] + format: Optional[str] = None + userMessage: Optional[str] = None + + +@s(auto_attribs=True) +class TotalWeightType: + units: Optional[str] = None + value: Optional[int] = None + + +@s(auto_attribs=True) +class PickupRequestType: + associatedAccountNumber: Optional[AccountNumberType] = JStruct[AccountNumberType] + originDetail: Optional[OriginDetailType] = JStruct[OriginDetailType] + associatedAccountNumberType: Optional[str] = None + totalWeight: Optional[TotalWeightType] = JStruct[TotalWeightType] + packageCount: Optional[int] = None + carrierCode: Optional[str] = None + accountAddressOfRecord: Optional[AccountAddressOfRecordType] = JStruct[AccountAddressOfRecordType] + remarks: Optional[str] = None + countryRelationships: Optional[str] = None + pickupType: Optional[str] = None + trackingNumber: Optional[str] = None + commodityDescription: Optional[str] = None + expressFreightDetail: Optional[ExpressFreightDetailType] = JStruct[ExpressFreightDetailType] + oversizePackageCount: Optional[int] = None + pickupNotificationDetail: Optional[PickupNotificationDetailType] = JStruct[PickupNotificationDetailType] diff --git a/modules/connectors/fedex/karrio/schemas/fedex/pickup_response.py b/modules/connectors/fedex/karrio/schemas/fedex/pickup_response.py new file mode 100644 index 0000000000..9ddb4c3feb --- /dev/null +++ b/modules/connectors/fedex/karrio/schemas/fedex/pickup_response.py @@ -0,0 +1,25 @@ +from attr import s +from typing import Optional, List +from jstruct import JList, JStruct + + +@s(auto_attribs=True) +class AlertType: + code: Optional[str] = None + alertType: Optional[str] = None + message: Optional[str] = None + + +@s(auto_attribs=True) +class OutputType: + pickupConfirmationCode: Optional[int] = None + message: Optional[str] = None + location: Optional[str] = None + alerts: List[AlertType] = JList[AlertType] + + +@s(auto_attribs=True) +class PickupResponseType: + transactionId: Optional[str] = None + customerTransactionId: Optional[str] = None + output: Optional[OutputType] = JStruct[OutputType] diff --git a/modules/connectors/fedex/schemas/cancel_pickup_request.json b/modules/connectors/fedex/schemas/cancel_pickup_request.json new file mode 100644 index 0000000000..d5890502b9 --- /dev/null +++ b/modules/connectors/fedex/schemas/cancel_pickup_request.json @@ -0,0 +1,20 @@ +{ + "associatedAccountNumber": { + "value": "Your account number" + }, + "pickupConfirmationCode": "7", + "remarks": "Please ring bell at loading dock.", + "carrierCode": "FDXE", + "accountAddressOfRecord": { + "streetLines": ["123 Ship Street"], + "urbanizationCode": "URB FAIR OAKS", + "city": "Memphis", + "stateOrProvinceCode": "ON", + "postalCode": "38017", + "countryCode": "US", + "residential": false, + "addressClassification": "MIXED" + }, + "scheduledDate": "2019-10-15", + "location": "LOSA" +} diff --git a/modules/connectors/fedex/schemas/cancel_pickup_response.json b/modules/connectors/fedex/schemas/cancel_pickup_response.json new file mode 100644 index 0000000000..e57af4d6d9 --- /dev/null +++ b/modules/connectors/fedex/schemas/cancel_pickup_response.json @@ -0,0 +1,15 @@ +{ + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "AnyCo_order123456789", + "output": { + "pickupConfirmationCode": "NQAA97", + "cancelConfirmationMessage": "Requested pickup has been cancelled Successfully.", + "alerts": [ + { + "code": "SHIP.RECIPIENT.POSTALCITY.MISMATCH", + "alertType": "NOTE", + "message": "Recipient Postal-City Mismatch." + } + ] + } +} diff --git a/modules/connectors/fedex/schemas/pickup_request.json b/modules/connectors/fedex/schemas/pickup_request.json new file mode 100644 index 0000000000..4f58f85bd6 --- /dev/null +++ b/modules/connectors/fedex/schemas/pickup_request.json @@ -0,0 +1,83 @@ +{ + "associatedAccountNumber": { + "value": "Your account number" + }, + "originDetail": { + "pickupAddressType": "ACCOUNT", + "pickupLocation": { + "contact": { + "companyName": "Fedex", + "personName": "John Taylor", + "phoneNumber": "7194446666", + "phoneExtension": "phone extension" + }, + "address": { + "streetLines": ["123 Ship Street", "Suite 302"], + "urbanizationCode": "URB FAIR OAKS", + "city": "Memphis", + "stateOrProvinceCode": "TN", + "postalCode": "38017", + "countryCode": "US", + "residential": false, + "addressClassification": "MIXED" + }, + "accountNumber": { + "value": "XXX289837" + }, + "deliveryInstructions": "deliveryInstructions" + }, + "readyDateTimestamp": "2020-04-02T11:00:00Z", + "customerCloseTime": "18:00:00", + "pickupDateType": "SAME_DAY", + "packageLocation": "FRONT", + "buildingPart": "APARTMENT", + "buildingPartDescription": "111", + "earlyPickup": false, + "suppliesRequested": "Supplies requested by customer", + "geographicalPostalCode": "geographicalPostalCode" + }, + "associatedAccountNumberType": "FEDEX_GROUND", + "totalWeight": { + "units": "KG", + "value": 20 + }, + "packageCount": 5, + "carrierCode": "FDXE", + "accountAddressOfRecord": { + "streetLines": ["123 Ship Street"], + "city": "Memphis", + "stateOrProvinceCode": "TN", + "postalCode": "38017", + "countryCode": "US", + "residential": false, + "addressClassification": "MIXED" + }, + "remarks": "Please ring bell at loading dock.", + "countryRelationships": "DOMESTIC", + "pickupType": "ON_CALL, PACKAGE_RETURN_PROGRAM, REGULAR_STOP.", + "trackingNumber": "795803657326", + "commodityDescription": "This field contains CommodityDescription", + "expressFreightDetail": { + "truckType": "DROP_TRAILER_AGREEMENT", + "service": "FEDEX_1_DAY_FREIGHT", + "trailerLength": "TRAILER_28_FT", + "bookingNumber": "1234AGTT", + "dimensions": { + "length": 20, + "width": 15, + "height": 12, + "units": "CM" + } + }, + "oversizePackageCount": 2, + "pickupNotificationDetail": { + "emailDetails": [ + { + "address": "sample@gmail.com", + "locale": "en_US" + } + ], + "format": "HTML", + "userMessage": "This is the user message" + } +} diff --git a/modules/connectors/fedex/schemas/pickup_response.json b/modules/connectors/fedex/schemas/pickup_response.json new file mode 100644 index 0000000000..88cd685ffd --- /dev/null +++ b/modules/connectors/fedex/schemas/pickup_response.json @@ -0,0 +1,16 @@ +{ + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "AnyCo_order123456789", + "output": { + "pickupConfirmationCode": "3001", + "message": "Courier on the way", + "location": "COSA", + "alerts": [ + { + "code": "SHIP.RECIPIENT.POSTALCITY.MISMATCH", + "alertType": "NOTE", + "message": "Recipient Postal-City Mismatch." + } + ] + } +} diff --git a/modules/connectors/fedex/tests/__init__.py b/modules/connectors/fedex/tests/__init__.py index 6844a939cd..5825924524 100644 --- a/modules/connectors/fedex/tests/__init__.py +++ b/modules/connectors/fedex/tests/__init__.py @@ -1,4 +1,4 @@ - from tests.fedex.test_rate import * from tests.fedex.test_tracking import * -from tests.fedex.test_shipment import * \ No newline at end of file +from tests.fedex.test_shipment import * +from tests.fedex.test_pickup import * diff --git a/modules/connectors/fedex/tests/fedex/test_pickup.py b/modules/connectors/fedex/tests/fedex/test_pickup.py new file mode 100644 index 0000000000..3d1a0423f7 --- /dev/null +++ b/modules/connectors/fedex/tests/fedex/test_pickup.py @@ -0,0 +1,306 @@ +import unittest +from unittest.mock import patch, ANY + +from karrio.schemas.dpdhl.business_interface import CancelPickupResponse +from .fixture import gateway +from tests import logger + +import karrio +import karrio.lib as lib +import karrio.core.models as models + + +class TestFedExPickup(unittest.TestCase): + def setUp(self): + self.maxDiff = None + self.PickupRequest = models.PickupRequest(**PickupPayload) + self.PickupUpdateRequest = models.PickupUpdateRequest(**PickupUpdatePayload) + self.PickupCancelRequest = models.PickupCancelRequest(**PickupCancelPayload) + + def test_create_pickup_request(self): + request = gateway.mapper.create_pickup_request(self.PickupRequest) + + self.assertEqual(request.serialize(), PickupRequest) + + def test_create_update_pickup_request(self): + request = gateway.mapper.create_pickup_update_request(self.PickupUpdateRequest) + + self.assertEqual(request.serialize(), PickupUpdateRequest) + + def test_create_cancel_pickup_request(self): + request = gateway.mapper.create_cancel_pickup_request(self.PickupCancelRequest) + + self.assertEqual(request.serialize(), PickupCancelRequest) + + def test_create_pickup(self): + with patch("karrio.mappers.fedex.proxy.lib.request") as mock: + mock.return_value = "{}" + karrio.Pickup.schedule(self.PickupRequest).from_(gateway) + + self.assertEqual( + mock.call_args[1]["url"], + f"{gateway.settings.server_url}/pickup/v1/pickups", + ) + + def test_update_pickup(self): + with patch("karrio.mappers.fedex.proxy.lib.request") as mock: + mock.side_effect = ["{}", "{}"] + karrio.Pickup.update(self.PickupUpdateRequest).from_(gateway) + + self.assertEqual( + mock.call_args[1]["url"], + f"{gateway.settings.server_url}/pickup/v1/pickups/cancel", + ) + + def test_cancel_pickup(self): + with patch("karrio.mappers.fedex.proxy.lib.request") as mock: + mock.return_value = "{}" + karrio.Pickup.cancel(self.PickupCancelRequest).from_(gateway) + + self.assertEqual( + mock.call_args[1]["url"], + f"{gateway.settings.server_url}/pickup/v1/pickups/cancel", + ) + + def test_parse_pickup_response(self): + with patch("karrio.mappers.fedex.proxy.lib.request") as mock: + mock.side_effect = [PickupCancelResponse, PickupResponse] + parsed_response = ( + karrio.Pickup.schedule(self.PickupRequest).from_(gateway).parse() + ) + + self.assertListEqual(lib.to_dict(parsed_response), ParsedPickupResponse) + + def test_parse_cancel_pickup_response(self): + with patch("karrio.mappers.fedex.proxy.lib.request") as mock: + mock.return_value = PickupCancelResponse + parsed_response = ( + karrio.Pickup.cancel(self.PickupCancelRequest).from_(gateway).parse() + ) + + self.assertListEqual( + lib.to_dict(parsed_response), ParsedCancelPickupResponse + ) + + +if __name__ == "__main__": + unittest.main() + + +PickupPayload = { + "pickup_date": "2013-10-19", + "ready_time": "11:00", + "closing_time": "09:20", + "package_location": "behind the front desk", + "address": { + "company_name": "XYZ Inc.", + "address_line1": "456 Oak Avenue", + "address_line2": "Suite 789", + "city": "Springfield", + "postal_code": "62701", + "country_code": "US", + "person_name": "Jane Smith", + "phone_number": "2175551234", + "state_code": "IL", + "email": "jane.smith@xyz.com", + "residential": False, + }, + "parcels": [{"weight": 20, "weight_unit": "LB"}], + "options": { + "fedex_carrier_code": "FDXE", + "fedex_pickup_address_type": "BUSINESS", + }, +} + +PickupUpdatePayload = { + "confirmation_number": "XXX561073", + "pickup_date": "2013-10-19", + "ready_time": "11:00", + "closing_time": "09:20", + "package_location": "behind the front desk", + "address": { + "company_name": "XYZ Inc.", + "address_line1": "456 Oak Avenue", + "address_line2": "Suite 789", + "city": "Springfield", + "postal_code": "62701", + "country_code": "US", + "person_name": "Jane Smith", + "phone_number": "2175551234", + "state_code": "IL", + "email": "jane.smith@xyz.com", + "residential": False, + }, + "parcels": [{"weight": 20, "weight_unit": "LB"}], + "options": { + "fedex_carrier_code": "FDXE", + "fedex_pickup_address_type": "BUSINESS", + }, +} + +PickupCancelPayload = { + "confirmation_number": "XXX561073", + "pickup_date": "2020-07-03", + "options": { + "fedex_carrier_code": "FDXE", + "fedex_pickup_location": "NQAA", + }, +} + +ParsedPickupResponse = [ + { + "carrier_id": "fedex", + "carrier_name": "fedex", + "confirmation_number": "NQAA97", + "pickup_date": "2013-10-19", + }, + [ + { + "carrier_id": "fedex", + "carrier_name": "fedex", + "code": "SHIP.RECIPIENT.POSTALCITY.MISMATCH", + "details": {}, + "message": "Recipient Postal-City Mismatch.", + } + ], +] + +ParsedCancelPickupResponse = [ + { + "carrier_id": "fedex", + "carrier_name": "fedex", + "operation": "Cancel Pickup", + "success": True, + }, + [ + { + "carrier_id": "fedex", + "carrier_name": "fedex", + "code": "SHIP.RECIPIENT.POSTALCITY.MISMATCH", + "details": {}, + "message": "Recipient Postal-City Mismatch.", + } + ], +] + + +PickupRequest = { + "associatedAccountNumber": {"value": "2349857"}, + "carrierCode": "FDXE", + "originDetail": { + "customerCloseTime": "09:20:00", + "packageLocation": "behind the front desk", + "pickupAddressType": "BUSINESS", + "pickupLocation": { + "accountNumber": {"value": "2349857"}, + "address": { + "city": "Springfield", + "countryCode": "US", + "postalCode": "62701", + "residential": False, + "stateOrProvinceCode": "IL", + "streetLines": ["456 Oak Avenue", "Suite 789"], + }, + "contact": { + "companyName": "XYZ Inc.", + "personName": "Jane Smith", + "phoneNumber": "2175551234", + }, + }, + "readyDateTimestamp": "2013-10-19T09:20:00Z", + }, + "packageCount": 1, + "pickupNotificationDetail": { + "emailDetails": [{"address": "jane.smith@xyz.com", "locale": "en_US"}], + "format": "TEXT", + }, + "totalWeight": {"units": "LB", "value": 20.0}, +} + +PickupUpdateRequest = { + "associatedAccountNumber": {"value": "2349857"}, + "carrierCode": "FDXE", + "originDetail": { + "customerCloseTime": "09:20:00", + "packageLocation": "behind the front desk", + "pickupAddressType": "BUSINESS", + "pickupLocation": { + "accountNumber": {"value": "2349857"}, + "address": { + "city": "Springfield", + "countryCode": "US", + "postalCode": "62701", + "residential": False, + "stateOrProvinceCode": "IL", + "streetLines": ["456 Oak Avenue", "Suite 789"], + }, + "contact": { + "companyName": "XYZ Inc.", + "personName": "Jane Smith", + "phoneNumber": "2175551234", + }, + }, + "readyDateTimestamp": "2013-10-19T09:20:00Z", + }, + "packageCount": 1, + "pickupNotificationDetail": { + "emailDetails": [{"address": "jane.smith@xyz.com", "locale": "en_US"}], + "format": "TEXT", + }, + "totalWeight": {"units": "LB", "value": 20.0}, +} + +PickupCancelRequest = { + "associatedAccountNumber": {"value": "2349857"}, + "pickupConfirmationCode": "XXX561073", + "carrierCode": "FDXE", + "scheduledDate": "2020-07-03", + "location": "NQAA", +} + +PickupResponse = """{ + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "AnyCo_order123456789", + "output": { + "pickupConfirmationCode": "3001", + "message": "Courier on the way", + "location": "COSA", + "alerts": [ + { + "code": "SHIP.RECIPIENT.POSTALCITY.MISMATCH", + "alertType": "NOTE", + "message": "Recipient Postal-City Mismatch." + } + ] + } +} +""" + +PickupUpdateResponse = """{ + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "AnyCo_order123456789", + "output": { + "pickupConfirmationCode": "3001", + "message": "Courier on the way", + "location": "COSA", + "alerts": [] + } +} +""" + +PickupCancelResponse = """{ + "transactionId": "624deea6-b709-470c-8c39-4b5511281492", + "customerTransactionId": "AnyCo_order123456789", + "output": { + "pickupConfirmationCode": "NQAA97", + "cancelConfirmationMessage": "Requested pickup has been cancelled Successfully.", + "alerts": [ + { + "code": "SHIP.RECIPIENT.POSTALCITY.MISMATCH", + "alertType": "NOTE", + "message": "Recipient Postal-City Mismatch." + } + ] + } +} +""" diff --git a/modules/connectors/fedex/tests/fedex/test_shipment.py b/modules/connectors/fedex/tests/fedex/test_shipment.py index aadc6da29a..20ef910d29 100644 --- a/modules/connectors/fedex/tests/fedex/test_shipment.py +++ b/modules/connectors/fedex/tests/fedex/test_shipment.py @@ -187,6 +187,7 @@ def test_parse_cancel_shipment_response(self): "serviceCategory": "EXPRESS", "service_name": "fedex_standard_overnight", "trackingIdType": "FEDEX", + "fedex_carrier_code": "FDXE", }, "shipment_identifier": "794953535000", "tracking_number": "794953535000", @@ -211,6 +212,7 @@ def test_parse_cancel_shipment_response(self): "meta": { "carrier_tracking_link": "https://www.fedex.com/fedextrack/?trknbr=794791341818", "service_name": "fedex_international_priority_express", + "fedex_carrier_code": "FDXE", }, "shipment_identifier": "794791341818", "tracking_number": "794791341818", diff --git a/modules/connectors/fedex_ws/karrio/providers/fedex_ws/pickup/availability.py b/modules/connectors/fedex_ws/karrio/providers/fedex_ws/pickup/availability.py index d105b7bb3a..100b46609f 100644 --- a/modules/connectors/fedex_ws/karrio/providers/fedex_ws/pickup/availability.py +++ b/modules/connectors/fedex_ws/karrio/providers/fedex_ws/pickup/availability.py @@ -74,5 +74,5 @@ def _request_serializer(request: PickupAvailabilityRequest) -> str: return XP.export( envelope, - namespacedef_='xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v22="http://fedex.com/ws/pickup/v22"', + namespacedef_='xmlns:tns="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v22="http://fedex.com/ws/pickup/v22"', ) diff --git a/modules/connectors/fedex_ws/karrio/providers/fedex_ws/pickup/cancel.py b/modules/connectors/fedex_ws/karrio/providers/fedex_ws/pickup/cancel.py index 2f2a2e465d..53e70e5294 100644 --- a/modules/connectors/fedex_ws/karrio/providers/fedex_ws/pickup/cancel.py +++ b/modules/connectors/fedex_ws/karrio/providers/fedex_ws/pickup/cancel.py @@ -79,5 +79,5 @@ def _request_serializer(request: CancelPickupRequest) -> str: return XP.export( envelope, - namespacedef_='xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v22="http://fedex.com/ws/pickup/v22"', + namespacedef_='xmlns:tns="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v22="http://fedex.com/ws/pickup/v22"', ) diff --git a/modules/connectors/fedex_ws/karrio/providers/fedex_ws/pickup/create.py b/modules/connectors/fedex_ws/karrio/providers/fedex_ws/pickup/create.py index 1af12629a5..f02fa39b51 100644 --- a/modules/connectors/fedex_ws/karrio/providers/fedex_ws/pickup/create.py +++ b/modules/connectors/fedex_ws/karrio/providers/fedex_ws/pickup/create.py @@ -159,7 +159,7 @@ def _request_serializer(request: CreatePickupRequest) -> str: return XP.export( envelope, - namespacedef_='xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v22="http://fedex.com/ws/pickup/v22"', + namespacedef_='xmlns:tns="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v22="http://fedex.com/ws/pickup/v22"', ) diff --git a/modules/connectors/fedex_ws/tests/fedex_ws/test_pickup.py b/modules/connectors/fedex_ws/tests/fedex_ws/test_pickup.py index 076f5cefd2..7b311b30b0 100644 --- a/modules/connectors/fedex_ws/tests/fedex_ws/test_pickup.py +++ b/modules/connectors/fedex_ws/tests/fedex_ws/test_pickup.py @@ -162,7 +162,7 @@ def test_parse_pickup_cancel_reply(self): ] -PickupAvailabilityRequestXML = """ +PickupAvailabilityRequestXML = """ @@ -206,7 +206,7 @@ def test_parse_pickup_cancel_reply(self): """ -PickupRequestXML = """ +PickupRequestXML = """ @@ -261,7 +261,7 @@ def test_parse_pickup_cancel_reply(self): """ -PickupUpdateAvailabilityRequestXML = """ +PickupUpdateAvailabilityRequestXML = """ @@ -300,7 +300,7 @@ def test_parse_pickup_cancel_reply(self): """ -PickupUpdateRequestXML = """ +PickupUpdateRequestXML = """ @@ -353,7 +353,7 @@ def test_parse_pickup_cancel_reply(self): """ -PickupCancelRequestXML = """ +PickupCancelRequestXML = """ diff --git a/modules/connectors/mydhl/karrio/providers/mydhl/pickup/create.py b/modules/connectors/mydhl/karrio/providers/mydhl/pickup/create.py index 62f06c5718..4a49128d5a 100644 --- a/modules/connectors/mydhl/karrio/providers/mydhl/pickup/create.py +++ b/modules/connectors/mydhl/karrio/providers/mydhl/pickup/create.py @@ -1,4 +1,3 @@ - import typing import karrio.lib as lib import karrio.core.units as units @@ -11,7 +10,7 @@ def parse_pickup_response( _response: lib.Deserializable[dict], settings: provider_utils.Settings, -) -> typing.Tuple[typing.List[models.RateDetails], typing.List[models.Message]]: +) -> typing.Tuple[typing.List[models.PickupDetails], typing.List[models.Message]]: response = _response.deserialize() messages = error.parse_error_response(response, settings) @@ -34,13 +33,12 @@ def _extract_details( carrier_id=settings.carrier_id, carrier_name=settings.carrier_name, confirmation_number="", # extract confirmation number from pickup - pickup_date=lib.fdate(""), # extract tracking event date + pickup_date=lib.fdate(""), # extract tracking event date ) def pickup_request( - payload: models.PickupRequest, - settings: provider_utils.Settings + payload: models.PickupRequest, settings: provider_utils.Settings ) -> lib.Serializable: # map data to convert karrio model to mydhl specific type diff --git a/modules/connectors/mydhl/karrio/providers/mydhl/pickup/update.py b/modules/connectors/mydhl/karrio/providers/mydhl/pickup/update.py index 0e7aadef01..a66a4fa8ac 100644 --- a/modules/connectors/mydhl/karrio/providers/mydhl/pickup/update.py +++ b/modules/connectors/mydhl/karrio/providers/mydhl/pickup/update.py @@ -1,4 +1,3 @@ - import typing import karrio.lib as lib import karrio.core.units as units @@ -11,7 +10,7 @@ def parse_pickup_update_response( _response: lib.Deserializable[dict], settings: provider_utils.Settings, -) -> typing.Tuple[typing.List[models.RateDetails], typing.List[models.Message]]: +) -> typing.Tuple[typing.List[models.PickupDetails], typing.List[models.Message]]: response = _response.deserialize() messages = error.parse_error_response(response, settings) @@ -34,7 +33,7 @@ def _extract_details( carrier_id=settings.carrier_id, carrier_name=settings.carrier_name, confirmation_number="", # extract confirmation number from pickup - pickup_date=lib.fdate(""), # extract tracking event date + pickup_date=lib.fdate(""), # extract tracking event date ) diff --git a/modules/connectors/sapient/karrio/providers/sapient/pickup/create.py b/modules/connectors/sapient/karrio/providers/sapient/pickup/create.py index 6248d8ba9a..e35e61cdee 100644 --- a/modules/connectors/sapient/karrio/providers/sapient/pickup/create.py +++ b/modules/connectors/sapient/karrio/providers/sapient/pickup/create.py @@ -13,7 +13,7 @@ def parse_pickup_response( _response: lib.Deserializable[dict], settings: provider_utils.Settings, -) -> typing.Tuple[typing.List[models.RateDetails], typing.List[models.Message]]: +) -> typing.Tuple[typing.List[models.PickupDetails], typing.List[models.Message]]: response = _response.deserialize() messages = error.parse_error_response(response, settings) diff --git a/modules/connectors/sapient/karrio/providers/sapient/pickup/update.py b/modules/connectors/sapient/karrio/providers/sapient/pickup/update.py index bf9f93416b..2acae33b06 100644 --- a/modules/connectors/sapient/karrio/providers/sapient/pickup/update.py +++ b/modules/connectors/sapient/karrio/providers/sapient/pickup/update.py @@ -13,7 +13,7 @@ def parse_pickup_update_response( _response: lib.Deserializable[dict], settings: provider_utils.Settings, -) -> typing.Tuple[typing.List[models.RateDetails], typing.List[models.Message]]: +) -> typing.Tuple[typing.List[models.PickupDetails], typing.List[models.Message]]: response = _response.deserialize() messages = error.parse_error_response(response, settings, _response.ctx) diff --git a/modules/connectors/tnt_it/Manuale-ExpressConnect-FedEx compliant .pdf b/modules/connectors/tnt_it/Manuale-ExpressConnect-FedEx compliant .pdf new file mode 100644 index 0000000000..b06ff72181 Binary files /dev/null and b/modules/connectors/tnt_it/Manuale-ExpressConnect-FedEx compliant .pdf differ diff --git a/modules/connectors/tnt_it/README.md b/modules/connectors/tnt_it/README.md new file mode 100644 index 0000000000..9f3a65edc5 --- /dev/null +++ b/modules/connectors/tnt_it/README.md @@ -0,0 +1,31 @@ + +# karrio.tnt_it + +This package is a TNT Connect Italy extension of the [karrio](https://pypi.org/project/karrio) multi carrier shipping SDK. + +## Requirements + +`Python 3.7+` + +## Installation + +```bash +pip install karrio.tnt_it +``` + +## Usage + +```python +import karrio +from karrio.mappers.tnt_it.settings import Settings + + +# Initialize a carrier gateway +tnt_it = karrio.gateway["tnt_it"].create( + Settings( + ... + ) +) +``` + +Check the [Karrio Mutli-carrier SDK docs](https://docs.karrio.io) for Shipping API requests diff --git a/modules/connectors/tnt_it/_setup.py b/modules/connectors/tnt_it/_setup.py new file mode 100644 index 0000000000..9312f09321 --- /dev/null +++ b/modules/connectors/tnt_it/_setup.py @@ -0,0 +1,27 @@ + +"""Warning: This setup.py is only there for git install until poetry support git subdirectory""" +from setuptools import setup, find_namespace_packages + +with open("README.md", "r") as fh: + long_description = fh.read() + +setup( + name="karrio.tnt_it", + version="2024.9", + description="Karrio - TNT Connect Italy Shipping Extension", + long_description=long_description, + long_description_content_type="text/markdown", + url="https://github.com/karrioapi/karrio", + author="karrio", + author_email="hello@karrio.io", + license="Apache-2.0", + packages=find_namespace_packages(exclude=["tests.*", "tests"]), + install_requires=["karrio"], + classifiers=[ + "Intended Audience :: Developers", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3", + ], + zip_safe=False, + include_package_data=True, +) diff --git a/modules/connectors/tnt_it/_tests/__init__.py b/modules/connectors/tnt_it/_tests/__init__.py new file mode 100644 index 0000000000..c932e3c23e --- /dev/null +++ b/modules/connectors/tnt_it/_tests/__init__.py @@ -0,0 +1,4 @@ + +from tests.tnt_it.test_rate import * +from tests.tnt_it.test_tracking import * +from tests.tnt_it.test_shipment import * \ No newline at end of file diff --git a/modules/connectors/tnt_it/_tests/tnt_it/__init__.py b/modules/connectors/tnt_it/_tests/tnt_it/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/modules/connectors/tnt_it/_tests/tnt_it/fixture.py b/modules/connectors/tnt_it/_tests/tnt_it/fixture.py new file mode 100644 index 0000000000..7e7a0873f1 --- /dev/null +++ b/modules/connectors/tnt_it/_tests/tnt_it/fixture.py @@ -0,0 +1,8 @@ + +import karrio + +gateway = karrio.gateway["tnt_it"].create( + dict( + # add required carrier API setting key/value here + ) +) diff --git a/modules/connectors/tnt_it/_tests/tnt_it/test_rate.py b/modules/connectors/tnt_it/_tests/tnt_it/test_rate.py new file mode 100644 index 0000000000..21400ed992 --- /dev/null +++ b/modules/connectors/tnt_it/_tests/tnt_it/test_rate.py @@ -0,0 +1,176 @@ +import unittest +from unittest.mock import patch, ANY +from .fixture import gateway +from tests import logger + +import karrio +import karrio.lib as lib +import karrio.core.models as models + + +class TestTNTConnectItalyRating(unittest.TestCase): + def setUp(self): + self.maxDiff = None + self.RateRequest = models.RateRequest(**RatePayload) + + def test_create_rate_request(self): + request = gateway.mapper.create_rate_request(self.RateRequest) + + self.assertEqual(request.serialize(), RateRequest) + + def test_get_rate(self): + with patch("karrio.mappers.tnt_it.proxy.lib.request") as mock: + mock.return_value = "" + karrio.Rating.fetch(self.RateRequest).from_(gateway) + + self.assertEqual( + mock.call_args[1]["url"], + f"{gateway.settings.server_url}", + ) + + def test_parse_rate_response(self): + with patch("karrio.mappers.tnt_it.proxy.lib.request") as mock: + mock.return_value = RateResponse + parsed_response = ( + karrio.Rating.fetch(self.RateRequest).from_(gateway).parse() + ) + + self.assertListEqual(lib.to_dict(parsed_response), ParsedRateResponse) + + +if __name__ == "__main__": + unittest.main() + + +RatePayload = { + "shipper": { + "company_name": "TESTING COMPANY", + "address_line1": "17 VULCAN RD", + "city": "CANNING VALE", + "postal_code": "6155", + "country_code": "AU", + "person_name": "TEST USER", + "state_code": "WA", + "email": "test@gmail.com", + "phone_number": "(07) 3114 1499", + }, + "recipient": { + "company_name": "CGI", + "address_line1": "23 jardin private", + "city": "Ottawa", + "postal_code": "k1k 4t3", + "country_code": "CA", + "person_name": "Jain", + "state_code": "ON", + }, + "parcels": [ + { + "height": 50, + "length": 50, + "weight": 20, + "width": 12, + "dimension_unit": "CM", + "weight_unit": "KG", + } + ], + "options": {}, + "reference": "REF-001", +} + +ParsedRateResponse = [] + + +RateRequest = """ + MYSHP + 3.0 + + xxxxxx + xxxxxx + xxxxxx + IT + + priceCheck +
            + 99999999 + + + 0 + 0 + 1 + 10 + + 30 + 30 + 40 + + + + TEST - + + + EUR + + 0 + + N + + + + + EUR + + N + + + + + + + + + + + + Y +
            + + + + 19.11.2013 + + +
            + + TNT ESPRESS ITALY + + VIA SPINELLI + + + + PESCHIERA BORROMEO + MI + 20068 + IT + + + + + + + N + N +
            +
            + N +
            + + N +
            +""" + +RateResponse = """ +""" diff --git a/modules/connectors/tnt_it/_tests/tnt_it/test_shipment.py b/modules/connectors/tnt_it/_tests/tnt_it/test_shipment.py new file mode 100644 index 0000000000..f307b9d271 --- /dev/null +++ b/modules/connectors/tnt_it/_tests/tnt_it/test_shipment.py @@ -0,0 +1,277 @@ +import unittest +from unittest.mock import patch, ANY +from .fixture import gateway +from tests import logger + +import karrio +import karrio.lib as lib +import karrio.core.models as models + + +class TestTNTConnectItalyShipping(unittest.TestCase): + def setUp(self): + self.maxDiff = None + self.ShipmentRequest = models.ShipmentRequest(**ShipmentPayload) + self.ShipmentCancelRequest = models.ShipmentCancelRequest( + **ShipmentCancelPayload + ) + + def test_create_shipment_request(self): + request = gateway.mapper.create_shipment_request(self.ShipmentRequest) + + self.assertEqual(request.serialize(), ShipmentRequest) + + def test_create_cancel_shipment_request(self): + request = gateway.mapper.create_cancel_shipment_request( + self.ShipmentCancelRequest + ) + + self.assertEqual(request.serialize(), ShipmentCancelRequest) + + def test_create_shipment(self): + with patch("karrio.mappers.tnt_it.proxy.lib.request") as mock: + mock.return_value = "" + karrio.Shipment.create(self.ShipmentRequest).from_(gateway) + + self.assertEqual( + mock.call_args[1]["url"], + f"{gateway.settings.server_url}", + ) + + def test_cancel_shipment(self): + with patch("karrio.mappers.tnt_it.proxy.lib.request") as mock: + mock.return_value = "" + karrio.Shipment.cancel(self.ShipmentCancelRequest).from_(gateway) + + self.assertEqual( + mock.call_args[1]["url"], + f"{gateway.settings.server_url}", + ) + + def test_parse_shipment_response(self): + with patch("karrio.mappers.tnt_it.proxy.lib.request") as mock: + mock.return_value = ShipmentResponse + parsed_response = ( + karrio.Shipment.create(self.ShipmentRequest).from_(gateway).parse() + ) + + self.assertListEqual(lib.to_dict(parsed_response), ParsedShipmentResponse) + + def test_parse_cancel_shipment_response(self): + with patch("karrio.mappers.tnt_it.proxy.lib.request") as mock: + mock.return_value = ShipmentCancelResponse + parsed_response = ( + karrio.Shipment.cancel(self.ShipmentCancelRequest) + .from_(gateway) + .parse() + ) + + self.assertListEqual( + lib.to_dict(parsed_response), ParsedCancelShipmentResponse + ) + + +if __name__ == "__main__": + unittest.main() + + +ShipmentPayload = { + "shipper": { + "company_name": "TESTING COMPANY", + "address_line1": "17 VULCAN RD", + "city": "CANNING VALE", + "postal_code": "6155", + "country_code": "AU", + "person_name": "TEST USER", + "state_code": "WA", + "email": "test@gmail.com", + "phone_number": "(07) 3114 1499", + }, + "recipient": { + "company_name": "CGI", + "address_line1": "23 jardin private", + "city": "Ottawa", + "postal_code": "k1k 4t3", + "country_code": "CA", + "person_name": "Jain", + "state_code": "ON", + }, + "parcels": [ + { + "height": 50, + "length": 50, + "weight": 20, + "width": 12, + "dimension_unit": "CM", + "weight_unit": "KG", + } + ], + "service": "carrier_service", + "options": { + "signature_required": True, + }, + "reference": "#Order 11111", +} + +ShipmentCancelPayload = { + "shipment_identifier": "794947717776", +} + +ParsedShipmentResponse = [] + +ParsedCancelShipmentResponse = ParsedCancelShipmentResponse = [ + { + "carrier_id": "tnt_it", + "carrier_name": "tnt_it", + "operation": "Cancel Shipment", + "success": True, + }, + [], +] + + +ShipmentRequest = """ + + MYRTL + 1.0 + + + string + string + string + IT + + T + + + string + test1 + C + 00010500 + + 1 + C + D + NC + + 0000000010000 + EUR + BOX + DDT1 + 26062012 + + + + Attenzione consegnare sempre dopo le + 12:00 + + + S + RL + 1.0 + 0000000015000 + EUR + ABBIGLIAMENTO + + + + + + +
            + S + + via Roma 1 + + + 10100 + 011 + 2226111 + TEST SPA + IT + Torino + Mario Rossi + TO + +
            +
            + R + + Via Torino 1 + + + 00100 + 06 + 111112222 + Bianchi SRL + IT + Roma + Mario Bianchi + RO + +
            +
            + C + + + + + + + + + + + + + +
            +
            + D + + + + + + + + + + + + + +
            +
            + + 1 + C + 0123456789 + + 0010000 + + + + + + + + IT + +
            +
            +""" + +ShipmentCancelRequest = """ +""" + +ShipmentResponse = """ +""" + +ShipmentCancelResponse = """ +""" diff --git a/modules/connectors/tnt_it/_tests/tnt_it/test_tracking.py b/modules/connectors/tnt_it/_tests/tnt_it/test_tracking.py new file mode 100644 index 0000000000..ce6cbcb33a --- /dev/null +++ b/modules/connectors/tnt_it/_tests/tnt_it/test_tracking.py @@ -0,0 +1,93 @@ +import unittest +from unittest.mock import patch, ANY +from .fixture import gateway +from tests import logger + +import karrio +import karrio.lib as lib +import karrio.core.models as models + + +class TestTNTConnectItalyTracking(unittest.TestCase): + def setUp(self): + self.maxDiff = None + self.TrackingRequest = models.TrackingRequest(**TrackingPayload) + + def test_create_tracking_request(self): + request = gateway.mapper.create_tracking_request(self.TrackingRequest) + + self.assertEqual(request.serialize(), TrackingRequest) + + def test_get_tracking(self): + with patch("karrio.mappers.tnt_it.proxy.lib.request") as mock: + mock.return_value = "" + karrio.Tracking.fetch(self.TrackingRequest).from_(gateway) + + self.assertEqual( + mock.call_args[1]["url"], + f"{gateway.settings.server_url}", + ) + + def test_parse_tracking_response(self): + with patch("karrio.mappers.tnt_it.proxy.lib.request") as mock: + mock.return_value = TrackingResponse + parsed_response = ( + karrio.Tracking.fetch(self.TrackingRequest).from_(gateway).parse() + ) + + self.assertListEqual(lib.to_dict(parsed_response), ParsedTrackingResponse) + + def test_parse_error_response(self): + with patch("karrio.mappers.tnt_it.proxy.lib.request") as mock: + mock.return_value = ErrorResponse + parsed_response = ( + karrio.Tracking.fetch(self.TrackingRequest).from_(gateway).parse() + ) + + self.assertListEqual(lib.to_dict(parsed_response), ParsedErrorResponse) + + +if __name__ == "__main__": + unittest.main() + + +TrackingPayload = { + "tracking_numbers": ["89108749065090"], +} + +ParsedTrackingResponse = [] + +ParsedErrorResponse = [] + + +TrackingRequest = """ + MYTRA + 3.0 + + XXXXXX + EXPRESSLABEL + XXXXXXXX + IT + + + Lettera di vettura + N + Codice Cliente + 01-01-0001 + 31-12-9999 + + + Detail + ConsignmentTracking + + + + ConsignmentDetail + +""" + +TrackingResponse = """ +""" + +ErrorResponse = """ +""" diff --git a/modules/connectors/tnt_it/generate b/modules/connectors/tnt_it/generate new file mode 100755 index 0000000000..1bf184b473 --- /dev/null +++ b/modules/connectors/tnt_it/generate @@ -0,0 +1,8 @@ +SCHEMAS=./schemas +LIB_MODULES=./karrio/schemas/tnt_it +find "${LIB_MODULES}" -name "*.py" -exec rm -r {} \; +touch "${LIB_MODULES}/__init__.py" + +generateDS --no-namespace-defs -o "${LIB_MODULES}/rating.py" $SCHEMAS/rating.xsd +generateDS --no-namespace-defs -o "${LIB_MODULES}/routinglabel.py" $SCHEMAS/routinglabel.xsd +generateDS --no-namespace-defs -o "${LIB_MODULES}/tracking.py" $SCHEMAS/tracking.xsd diff --git a/modules/connectors/tnt_it/karrio/mappers/tnt_it/__init__.py b/modules/connectors/tnt_it/karrio/mappers/tnt_it/__init__.py new file mode 100644 index 0000000000..df49f58cdc --- /dev/null +++ b/modules/connectors/tnt_it/karrio/mappers/tnt_it/__init__.py @@ -0,0 +1,22 @@ +from karrio.core.metadata import Metadata + +from karrio.mappers.tnt_it.mapper import Mapper +from karrio.mappers.tnt_it.proxy import Proxy +from karrio.mappers.tnt_it.settings import Settings +import karrio.providers.tnt_it.units as units +import karrio.providers.tnt_it.utils as utils + + +METADATA = Metadata( + id="tnt_it", + label="TNT Connect Italy", + # Integrations + Mapper=Mapper, + Proxy=Proxy, + Settings=Settings, + # Data Units + is_hub=False, + # options=units.ShippingOption, + # services=units.ShippingService, + # connection_configs=utils.ConnectionConfig, +) diff --git a/modules/connectors/tnt_it/karrio/mappers/tnt_it/mapper.py b/modules/connectors/tnt_it/karrio/mappers/tnt_it/mapper.py new file mode 100644 index 0000000000..1ba7017e91 --- /dev/null +++ b/modules/connectors/tnt_it/karrio/mappers/tnt_it/mapper.py @@ -0,0 +1,50 @@ +"""Karrio TNT Connect Italy client mapper.""" + +import typing +import karrio.lib as lib +import karrio.api.mapper as mapper +import karrio.core.models as models +import karrio.providers.tnt_it as provider +import karrio.mappers.tnt_it.settings as provider_settings + + +class Mapper(mapper.Mapper): + settings: provider_settings.Settings + + def create_rate_request(self, payload: models.RateRequest) -> lib.Serializable: + return provider.rate_request(payload, self.settings) + + def create_tracking_request( + self, payload: models.TrackingRequest + ) -> lib.Serializable: + return provider.tracking_request(payload, self.settings) + + def create_shipment_request( + self, payload: models.ShipmentRequest + ) -> lib.Serializable: + return provider.shipment_request(payload, self.settings) + + def create_cancel_shipment_request( + self, payload: models.ShipmentCancelRequest + ) -> lib.Serializable[str]: + return provider.shipment_cancel_request(payload, self.settings) + + def parse_cancel_shipment_response( + self, response: lib.Deserializable[str] + ) -> typing.Tuple[models.ConfirmationDetails, typing.List[models.Message]]: + return provider.parse_shipment_cancel_response(response, self.settings) + + def parse_rate_response( + self, response: lib.Deserializable[str] + ) -> typing.Tuple[typing.List[models.RateDetails], typing.List[models.Message]]: + return provider.parse_rate_response(response, self.settings) + + def parse_shipment_response( + self, response: lib.Deserializable[str] + ) -> typing.Tuple[models.ShipmentDetails, typing.List[models.Message]]: + return provider.parse_shipment_response(response, self.settings) + + def parse_tracking_response( + self, response: lib.Deserializable[str] + ) -> typing.Tuple[typing.List[models.TrackingDetails], typing.List[models.Message]]: + return provider.parse_tracking_response(response, self.settings) diff --git a/modules/connectors/tnt_it/karrio/mappers/tnt_it/proxy.py b/modules/connectors/tnt_it/karrio/mappers/tnt_it/proxy.py new file mode 100644 index 0000000000..9a41af373d --- /dev/null +++ b/modules/connectors/tnt_it/karrio/mappers/tnt_it/proxy.py @@ -0,0 +1,42 @@ +"""Karrio TNT Connect Italy client proxy.""" + +import karrio.lib as lib +import karrio.api.proxy as proxy +import karrio.mappers.tnt_it.settings as provider_settings + + +class Proxy(proxy.Proxy): + settings: provider_settings.Settings + + def get_rates(self, request: lib.Serializable) -> lib.Deserializable[str]: + response = lib.request( + url=f"{self.settings.server_url}/service", + data=request.serialize(), + trace=self.trace_as("xml"), + method="POST", + headers={}, + ) + + return lib.Deserializable(response, lib.to_element) + + def create_shipment(self, request: lib.Serializable) -> lib.Deserializable[str]: + response = lib.request( + url=f"{self.settings.server_url}/service", + data=request.serialize(), + trace=self.trace_as("xml"), + method="POST", + headers={}, + ) + + return lib.Deserializable(response, lib.to_element) + + def get_tracking(self, request: lib.Serializable) -> lib.Deserializable[str]: + response = lib.request( + url=f"{self.settings.server_url}/service", + data=request.serialize(), + trace=self.trace_as("xml"), + method="POST", + headers={}, + ) + + return lib.Deserializable(response, lib.to_element) diff --git a/modules/connectors/tnt_it/karrio/mappers/tnt_it/settings.py b/modules/connectors/tnt_it/karrio/mappers/tnt_it/settings.py new file mode 100644 index 0000000000..9a6d2df657 --- /dev/null +++ b/modules/connectors/tnt_it/karrio/mappers/tnt_it/settings.py @@ -0,0 +1,23 @@ +"""Karrio TNT Connect Italy client settings.""" + +import attr +import karrio.providers.tnt_it.utils as provider_utils + + +@attr.s(auto_attribs=True) +class Settings(provider_utils.Settings): + """TNT Connect Italy connection settings.""" + + # Add carrier specific API connection properties here + customer: str + username: str + password: str + account_number: str = None + + # generic properties + id: str = None + test_mode: bool = False + carrier_id: str = "tnt_it" + account_country_code: str = None + metadata: dict = {} + config: dict = {} diff --git a/modules/connectors/tnt_it/karrio/providers/tnt_it/__init__.py b/modules/connectors/tnt_it/karrio/providers/tnt_it/__init__.py new file mode 100644 index 0000000000..bb43505e2a --- /dev/null +++ b/modules/connectors/tnt_it/karrio/providers/tnt_it/__init__.py @@ -0,0 +1,12 @@ +"""Karrio TNT Connect Italy provider imports.""" + +from karrio.providers.tnt_it.utils import Settings +from karrio.providers.tnt_it.rate import parse_rate_response, rate_request +from karrio.providers.tnt_it.shipment import ( + parse_shipment_response, + shipment_request, +) +from karrio.providers.tnt_it.tracking import ( + parse_tracking_response, + tracking_request, +) diff --git a/modules/connectors/tnt_it/karrio/providers/tnt_it/error.py b/modules/connectors/tnt_it/karrio/providers/tnt_it/error.py new file mode 100644 index 0000000000..fb82aab201 --- /dev/null +++ b/modules/connectors/tnt_it/karrio/providers/tnt_it/error.py @@ -0,0 +1,25 @@ +"""Karrio TNT Connect Italy error parser.""" + +import typing +import karrio.lib as lib +import karrio.core.models as models +import karrio.providers.tnt_it.utils as provider_utils + + +def parse_error_response( + response: lib.Element, + settings: provider_utils.Settings, + **kwargs, +) -> typing.List[models.Message]: + errors: list = [] # compute the carrier error object list + + return [ + models.Message( + carrier_id=settings.carrier_id, + carrier_name=settings.carrier_name, + code="", + message="", + details={**kwargs}, + ) + for error in errors + ] diff --git a/modules/connectors/tnt_it/karrio/providers/tnt_it/rate.py b/modules/connectors/tnt_it/karrio/providers/tnt_it/rate.py new file mode 100644 index 0000000000..e3abd6e8e9 --- /dev/null +++ b/modules/connectors/tnt_it/karrio/providers/tnt_it/rate.py @@ -0,0 +1,152 @@ +"""Karrio TNT Connect Italy rating API implementation.""" + +import karrio.schemas.tnt_it.rating as tnt + +import typing +import karrio.lib as lib +import karrio.core.units as units +import karrio.core.models as models +import karrio.providers.tnt_it.error as error +import karrio.providers.tnt_it.utils as provider_utils +import karrio.providers.tnt_it.units as provider_units + + +def parse_rate_response( + _response: lib.Deserializable[lib.Element], + settings: provider_utils.Settings, +) -> typing.Tuple[typing.List[models.RateDetails], typing.List[models.Message]]: + response = _response.deserialize() + + messages = error.parse_error_response(response, settings) + rates = [_extract_details(rate, settings) for rate in response] + + return rates, messages + + +def _extract_details( + data: lib.Element, + settings: provider_utils.Settings, +) -> models.RateDetails: + details = None # parse carrier rate type + + return models.RateDetails( + carrier_id=settings.carrier_id, + carrier_name=settings.carrier_name, + service="", # extract service from rate + total_charge=lib.to_money(0.0), # extract the rate total rate cost + currency="", # extract the rate pricing currency + transit_days=0, # extract the rate transit days + meta=dict( + service_name="", # extract the rate service human readable name + ), + ) + + +def rate_request( + payload: models.RateRequest, + settings: provider_utils.Settings, +) -> lib.Serializable: + shipper = lib.to_address(payload.shipper) + recipient = lib.to_address(payload.recipient) + packages = lib.to_packages(payload.parcels) + services = lib.to_services(payload.services, provider_units.ShippingService) + options = lib.to_shipping_options( + payload.options, + package_options=packages.options, + initializer=provider_units.shipping_options_initializer, + ) + + # map data to convert karrio model to tnt_it specific type + request = tnt.Document( + Application="MYSHP", + Version="3.0", + Login=tnt.LoginType( + Customer=settings.customer, + User=settings.username, + Password=settings.password, + LangID="IT", + ), + ApplicationFunction="priceCheck", + Details=tnt.DetailsType( + AccountNo=settings.account_number, + Package=tnt.PackageType( + Items=[ + tnt.ItemsType( + ItemSeqNo=index, + Type=provider_units.PackagingType.map(package.packaging).value, + INumber=str(package.quantity), + IWeight=str(package.weight.KG), + Length=str(package.length.CM), + Height=str(package.height.CM), + Width=str(package.width.CM), + ) + for index, package in enumerate(packages, start=1) + ] + ), + Common=tnt.CommonType( + ContactName=shipper.person_name, + Service=services[0].value if services else None, + Insurance=str(payload.insurance.amount) if payload.insurance else None, + InsuranceCurrency=( + payload.insurance.currency if payload.insurance else None + ), + SenderReference=payload.reference, + Payment="0", # Assuming sender pays + Instructions=payload.options.get("instructions"), + SpecialGoods=( + "Y" + if any( + option in payload.options + for option in ["dangerous_goods", "dry_ice"] + ) + else "N" + ), + ), + Domestic=( + tnt.DomesticType( + COD=( + tnt.CODType( + Amount=str(payload.payment.amount), + Currency=payload.payment.currency, + SenderComm="Y", + SenderRefund="N", + ) + if payload.payment + else None + ), + OperationalOptions=tnt.OperationalOptionsType( + Option="1" # Assuming default option + ), + ) + if recipient.country_code == shipper.country_code + else None + ), + International=( + tnt.InternationalType( + GoodsValue=str(payload.customs.declared_value), + GoodsValueCurrency=payload.customs.declared_value_currency, + Priority="Y" if "priority" in payload.options else "N", + FDA="Y" if "fda" in payload.options else "N", + DryIce="Y" if "dry_ice" in payload.options else "N", + ) + if recipient.country_code != shipper.country_code + else None + ), + CheckPriceEnabled="Y", + ), + Shipment=tnt.ShipmentType( + Date=payload.shipment_date.strftime("%d.%m.%Y"), + Receiver=tnt.ReceiverType( + Address=recipient.address_line1, + CompanyName=recipient.company_name, + ReceiverAccountNo=recipient.account_number, + Town=recipient.city, + ProvinceState=recipient.state_code, + Postcode=recipient.postal_code, + CountryID=recipient.country_code, + ), + ), + ExtraCee="N", # Assuming not an extra EU country + ) + + return lib.Serializable(request, lib.to_xml) diff --git a/modules/connectors/tnt_it/karrio/providers/tnt_it/shipment/__init__.py b/modules/connectors/tnt_it/karrio/providers/tnt_it/shipment/__init__.py new file mode 100644 index 0000000000..b98dd88917 --- /dev/null +++ b/modules/connectors/tnt_it/karrio/providers/tnt_it/shipment/__init__.py @@ -0,0 +1,4 @@ +from karrio.providers.tnt_it.shipment.create import ( + parse_shipment_response, + shipment_request, +) diff --git a/modules/connectors/tnt_it/karrio/providers/tnt_it/shipment/create.py b/modules/connectors/tnt_it/karrio/providers/tnt_it/shipment/create.py new file mode 100644 index 0000000000..65858e7147 --- /dev/null +++ b/modules/connectors/tnt_it/karrio/providers/tnt_it/shipment/create.py @@ -0,0 +1,157 @@ +"""Karrio TNT Connect Italy shipment API implementation.""" + +import karrio.schemas.tnt_it.routinglabel as tnt + +import typing +import datetime +import karrio.lib as lib +import karrio.core.units as units +import karrio.core.models as models +import karrio.providers.tnt_it.error as error +import karrio.providers.tnt_it.utils as provider_utils +import karrio.providers.tnt_it.units as provider_units + + +def parse_shipment_response( + _response: lib.Deserializable[lib.Element], + settings: provider_utils.Settings, +) -> typing.Tuple[typing.List[models.RateDetails], typing.List[models.Message]]: + response = _response.deserialize() + + messages = error.parse_error_response(response, settings) + shipment = ( + _extract_details(response, settings) if "tracking_number" in response else None + ) + + return shipment, messages + + +def _extract_details( + data: lib.Element, + settings: provider_utils.Settings, +) -> models.ShipmentDetails: + details = None # parse carrier shipment type from "data" + label = "" # extract and process the shipment label to a valid base64 text + # invoice = "" # extract and process the shipment invoice to a valid base64 text if applies + + return models.ShipmentDetails( + carrier_id=settings.carrier_id, + carrier_name=settings.carrier_name, + tracking_number="", # extract tracking number from shipment + shipment_identifier="", # extract shipment identifier from shipment + label_type="PDF", # extract shipment label file format + docs=models.Documents( + label=label, # pass label base64 text + # invoice=invoice, # pass invoice base64 text if applies + ), + meta=dict( + # any relevent meta + ), + ) + + +def shipment_request( + payload: models.ShipmentRequest, + settings: provider_utils.Settings, +) -> lib.Serializable: + shipper = lib.to_address(payload.shipper) + recipient = lib.to_address(payload.recipient) + return_address = lib.to_address(payload.return_address) + service = provider_units.ShippingService.map(payload.service).value_or_key + (___, division, product) = provider_units.ShippingServiceCode.details(service) + options = lib.to_shipping_options( + payload.options, + initializer=provider_units.shipping_options_initializer, + ) + packages = lib.to_packages( + payload.parcels, + options=options, + shipping_options_initializer=provider_units.shipping_options_initializer, + ) + is_international = recipient.country_code != shipper.country_code + shipment_options = lambda _options: [ + option + for _, option in _options.items() + if option.state is not False and option.code in provider_units.SHIPMENT_OPTIONS + ] + + request = tnt.shipment( + software=tnt.softwareType( + application="MYRTLI" if is_international else "MYRTL", + version="1.0", + ), + security=tnt.securityType( + customer=settings.customer, + user=settings.username, + password=settings.password, + langId=settings.connection_config.lang_id.state or "IT", + ), + consignment=[ + tnt.consignmentType( + action="I", + internazionale="Y" if is_international else "N", + insurance="Y" if package.options.insurance.state else "N", + hazardous="Y" if package.options.dangerous_goods.state else "N", + cashondeliver="Y" if package.options.cash_on_delivery.state else "N", + codcommision="D" if package.options.cash_on_delivery.state else None, + insurancecommision="S" if package.options.insurance.state else None, + operationaloption=None, + laroseDepot=package.options.larose_depot.state, + senderAccId=settings.account_number, + consignmentno=package.reference_number, + consignmenttype="C" if package.reference_number else None, + actualweight=lib.to_numeric_decimal(package.weight.KG, 5, 3), + actualvolume=lib.to_numeric_decimal(package.dimensions.m3, 4, 3), + totalpackages=len(packages), + packagetype=lib.identity( + provider_units.PackageType.map(package.packaging).value or "C" + ), + division=division, + product=product, + vehicle=package.options.tnt_vehicle.state, + insurancevalue=lib.to_numeric_decimal( + package.options.insurance.value, 11, 2 + ), + insurancecurrency=lib.identity( + package.options.currency.state or "EUR" + if package.options.insurance.state + else None + ), + packingdesc="BOX", + reference=package.reference_number, + collectiondate=lib.fdatetime( + lib.to_next_business_datetime( + package.options.shipment_date.state or datetime.datetime.now(), + current_format="%Y-%m-%d", + ), + output_format="%Y%m%d", + ), + collectiontime=None, + invoicevalue=package.options.declared_value.state, + invoicecurrency=package.options.currency.state, + specialinstructions=package.options.instruction.state, + options=lib.identity( + tnt.optionsType( + option=[ + option.code + for _, option in shipment_options(package.options) + ] + ) + if any(shipment_options(package.options)) + else None + ), + termsofpayment=lib.identity( + provider_units.PaymentType.map(payload.payment_type).value or "S" + ), + systemcode="RL", + systemversion="1.0", + codfvalue=None, + ) + for package in packages + ], + hazardous="Y" if options.dangerous_goods.state else "N", + labelType="PDF", + FullPageLabel="Y" if options.full_page_label.state else "N", + ) + + return lib.Serializable(request, lib.to_xml) diff --git a/modules/connectors/tnt_it/karrio/providers/tnt_it/tracking.py b/modules/connectors/tnt_it/karrio/providers/tnt_it/tracking.py new file mode 100644 index 0000000000..299edcf754 --- /dev/null +++ b/modules/connectors/tnt_it/karrio/providers/tnt_it/tracking.py @@ -0,0 +1,97 @@ +"""Karrio TNT Connect Italy tracking API implementation.""" + +import karrio.schemas.tnt_it.tracking as tnt + +import typing +import karrio.lib as lib +import karrio.core.units as units +import karrio.core.models as models +import karrio.providers.tnt_it.error as error +import karrio.providers.tnt_it.utils as provider_utils +import karrio.providers.tnt_it.units as provider_units + + +def parse_tracking_response( + _response: lib.Deserializable[typing.List[typing.Tuple[str, lib.Element]]], + settings: provider_utils.Settings, +) -> typing.Tuple[typing.List[models.TrackingDetails], typing.List[models.Message]]: + responses = _response.deserialize() + + messages: typing.List[models.Message] = sum( + [ + error.parse_error_response(response, settings, tracking_number=_) + for _, response in responses + ], + start=[], + ) + tracking_details = [_extract_details(details, settings) for _, details in responses] + + return tracking_details, messages + + +def _extract_details( + data: lib.Element, + settings: provider_utils.Settings, +) -> models.TrackingDetails: + details = None # parse carrier tracking object type + status = next( + ( + status.name + for status in list(provider_units.TrackingStatus) + if getattr(details, "status", None) in status.value + ), + provider_units.TrackingStatus.in_transit.name, + ) + + return models.TrackingDetails( + carrier_id=settings.carrier_id, + carrier_name=settings.carrier_name, + tracking_number="", + events=[ + models.TrackingEvent( + date=lib.fdate(""), + description="", + code="", + time=lib.flocaltime(""), + location="", + ) + for event in [] + ], + estimated_delivery=lib.fdate(""), + delivered=status == "delivered", + status=status, + ) + + +def tracking_request( + payload: models.TrackingRequest, + settings: provider_utils.Settings, +) -> lib.Serializable: + + # map data to convert karrio model to tnt_it specific type + request = tnt.Document( + Application=settings.connection_config.application.state or "MYTRA", + Version="3.0", + Login=tnt.LoginType( + Customer=settings.customer, + User=settings.username, + Password=settings.password, + LangID=settings.connection_config.lang_id.state or "IT", + ), + SearchCriteria=tnt.SearchCriteriaType( + AccountNo=settings.account_number, + ConNo=payload.tracking_number, + RTLSearch=None, + StartDate=None, + EndDate=None, + ), + SearchParameters=tnt.SearchParametersType( + SearchType="Detail", + SearchOption="ConsignmentTracking", + SearchKeyValue=None, + SearchMethod=None, + ), + ExtraDetails=None, + ) + + return lib.Serializable(request, lib.to_xml) diff --git a/modules/connectors/tnt_it/karrio/providers/tnt_it/units.py b/modules/connectors/tnt_it/karrio/providers/tnt_it/units.py new file mode 100644 index 0000000000..913a0ce3b6 --- /dev/null +++ b/modules/connectors/tnt_it/karrio/providers/tnt_it/units.py @@ -0,0 +1,126 @@ +import karrio.lib as lib +import karrio.core.units as units + + +class PackagingType(lib.StrEnum): + """Carrier specific packaging type""" + + colli = "C" + buste = "S" + bauletti_piccoli = "B" + bauletti_grandi = "D" + + """ Unified Packaging type mapping """ + envelope = buste + pak = buste + tube = colli + small_box = bauletti_piccoli + medium_box = bauletti_grandi + pallet = bauletti_grandi + your_packaging = colli + + +class PaymentType(lib.StrEnum): + """Carrier specific payment type""" + + sender = "S" + receiver = "R" + third_party = "R" + + +class ShippingServiceCode(lib.Enum): + """Carrier specific services""" + + tnt_express_doc = ("DOC", "D", "N") + tnt_express_air_scs_nondoc = ("NONDOC", "D", "A") + tnt_express_air_scs_doc = ("DOC", "D", "A") + tnt_economy_express_road_scs_nondoc = ("NONDOC", "D", "N") + tnt_economy_express_road_scs_doc = tnt_express_doc + tnt_express_nondoc = ("NONDOC", "G", "15N") + tnt_9_00_express_doc = ("DOC", "G", "09D") + tnt_9_00_express_nondoc = ("NONDOC", "G", "09N") + tnt_10_00_express_doc = ("DOC", "G", "10D") + tnt_10_00_express_nondoc = ("NONDOC", "G", "10N") + tnt_12_00_express_doc = ("DOC", "G", "12D") + tnt_12_00_express_nondoc = ("NONDOC", "G", "12N") + tnt_10_00_express_nondoc = ("NONDOC", "D", "D") + tnt_10_00_express_doc = ("DOC", "D", "D") + tnt_12_00_express_nondoc = ("NONDOC", "D", "T") + tnt_12_00_express_doc = ("DOC", "D", "T") + tnt_express_nondoc_N = tnt_economy_express_road_scs_nondoc + tnt_economy_express_nondoc = ("NONDOC", "G", "48N") + tnt_12_00_economy_express_nondoc = ("NONDOC", "G", "412") + tnt_express_doc_15D = ("DOC", "G", "15D") + + @classmethod + def details(cls, service: str) -> tuple[str, str, str]: + if service in cls: + return cls[service] + + return next( + (_ for _ in cls if _[2] == service), + (None, None, service), + ) + + +class ShippingService(lib.StrEnum): + """Carrier specific services""" + + tnt_express_doc = "tnt_express_doc" + tnt_express_air_scs_nondoc = "tnt_express_air_scs_nondoc" + tnt_express_air_scs_doc = "tnt_express_air_scs_doc" + tnt_economy_express_road_scs_nondoc = "tnt_economy_express_road_scs_nondoc" + tnt_economy_express_road_scs_doc = "tnt_economy_express_road_scs_doc" + tnt_express_nondoc = "tnt_express_nondoc" + tnt_9_00_express_doc = "tnt_9_00_express_doc" + tnt_9_00_express_nondoc = "tnt_9_00_express_nondoc" + tnt_10_00_express_doc = "tnt_10_00_express_doc" + tnt_10_00_express_nondoc = "tnt_10_00_express_nondoc" + tnt_12_00_express_doc = "tnt_12_00_express_doc" + tnt_12_00_express_nondoc = "tnt_12_00_express_nondoc" + tnt_10_00_express_nondoc = "tnt_10_00_express_nondoc" + tnt_10_00_express_doc = "tnt_10_00_express_doc" + tnt_12_00_express_nondoc = "tnt_12_00_express_nondoc" + tnt_12_00_express_doc = "tnt_12_00_express_doc" + tnt_express_nondoc_N = "tnt_express_nondoc_N" + tnt_economy_express_nondoc = "tnt_economy_express_nondoc" + tnt_12_00_economy_express_nondoc = "tnt_12_00_economy_express_nondoc" + tnt_express_doc_15D = "tnt_express_doc_15D" + + +class ShippingOption(lib.Enum): + """Carrier specific options""" + + # tnt_it_option = lib.OptionEnum("code") + + """ Unified Option type mapping """ + # insurance = tnt_it_coverage # maps unified karrio option to carrier specific + + pass + + +def shipping_options_initializer( + options: dict, + package_options: units.ShippingOptions = None, +) -> units.ShippingOptions: + """ + Apply default values to the given options. + """ + + if package_options is not None: + options.update(package_options.content) + + def items_filter(key: str) -> bool: + return key in ShippingOption # type: ignore + + return units.ShippingOptions(options, ShippingOption, items_filter=items_filter) + + +class TrackingStatus(lib.Enum): + on_hold = ["on_hold"] + delivered = ["delivered"] + in_transit = ["in_transit"] + delivery_failed = ["delivery_failed"] + delivery_delayed = ["delivery_delayed"] + out_for_delivery = ["out_for_delivery"] + ready_for_pickup = ["ready_for_pickup"] diff --git a/modules/connectors/tnt_it/karrio/providers/tnt_it/utils.py b/modules/connectors/tnt_it/karrio/providers/tnt_it/utils.py new file mode 100644 index 0000000000..744f6c1d34 --- /dev/null +++ b/modules/connectors/tnt_it/karrio/providers/tnt_it/utils.py @@ -0,0 +1,103 @@ +import base64 +import datetime +from email.mime import application +import karrio.lib as lib +import karrio.core as core +import karrio.core.errors as errors + +TNTITLangIdType = lib.units.create_enum("TNTITLangId", ["IT", "EN"]) + + +class Settings(core.Settings): + """TNT Connect Italy connection settings.""" + + # Add carrier specific api connection properties here + customer: str + username: str + password: str + account_number: str = None + + @property + def carrier_name(self): + return "tnt_it" + + @property + def server_url(self): + return ( + "https://carrier.api" if self.test_mode else "https://sandbox.carrier.api" + ) + + # """uncomment the following code block to expose a carrier tracking url.""" + # @property + # def tracking_url(self): + # return "https://www.carrier.com/tracking?tracking-id={}" + + # """uncomment the following code block to implement the Basic auth.""" + # @property + # def authorization(self): + # pair = "%s:%s" % (self.username, self.password) + # return base64.b64encode(pair.encode("utf-8")).decode("ascii") + + @property + def connection_config(self) -> lib.units.Options: + return lib.to_connection_config( + self.config or {}, + option_type=ConnectionConfig, + ) + + +# """uncomment the following code block to implement the oauth login.""" +# @property +# def access_token(self): +# """Retrieve the access_token using the client_id|client_secret pair +# or collect it from the cache if an unexpired access_token exist. +# """ +# cache_key = f"{self.carrier_name}|{self.client_id}|{self.client_secret}" +# now = datetime.datetime.now() + datetime.timedelta(minutes=30) + +# auth = self.connection_cache.get(cache_key) or {} +# token = auth.get("access_token") +# expiry = lib.to_date(auth.get("expiry"), current_format="%Y-%m-%d %H:%M:%S") + +# if token is not None and expiry is not None and expiry > now: +# return token + +# self.connection_cache.set(cache_key, lambda: login(self)) +# new_auth = self.connection_cache.get(cache_key) + +# return new_auth["access_token"] + +# """uncomment the following code block to implement the oauth login.""" +# def login(settings: Settings): +# import karrio.providers.tnt_it.error as error + +# result = lib.request( +# url=f"{settings.server_url}/oauth/token", +# method="POST", +# headers={"content-Type": "application/x-www-form-urlencoded"}, +# data=lib.to_query_string( +# dict( +# grant_type="client_credentials", +# client_id=settings.client_id, +# client_secret=settings.client_secret, +# ) +# ), +# ) + +# response = lib.to_dict(result) +# messages = error.parse_error_response(response, settings) + +# if any(messages): +# raise errors.ShippingSDKError(messages) + +# expiry = datetime.datetime.now() + datetime.timedelta( +# seconds=float(response.get("expires_in", 0)) +# ) +# return {**response, "expiry": lib.fdatetime(expiry)} + + +class ConnectionConfig(lib.Enum): + application = lib.Option("application", str) + lang_id = lib.OptionEnum("lang_id", TNTITLangIdType) + shipping_options = lib.OptionEnum("shipping_options", list) + shipping_services = lib.OptionEnum("shipping_services", list) diff --git a/modules/connectors/tnt_it/karrio/schemas/tnt_it/__init__.py b/modules/connectors/tnt_it/karrio/schemas/tnt_it/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/modules/connectors/tnt_it/karrio/schemas/tnt_it/rating.py b/modules/connectors/tnt_it/karrio/schemas/tnt_it/rating.py new file mode 100644 index 0000000000..e0f1f8135e --- /dev/null +++ b/modules/connectors/tnt_it/karrio/schemas/tnt_it/rating.py @@ -0,0 +1,3570 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# +# Generated Sat Sep 21 11:02:43 2024 by generateDS.py version 2.44.1. +# Python 3.12.2 (main, May 6 2024, 11:46:13) [Clang 15.0.0 (clang-1500.3.9.4)] +# +# Command line options: +# ('--no-namespace-defs', '') +# ('-o', './karrio/schemas/tnt_it/rating.py') +# +# Command line arguments: +# ./schemas/rating.xsd +# +# Command line: +# /Users/danielkobina/Workspace/karrio/karrio/.venv/karrio/bin/generateDS --no-namespace-defs -o "./karrio/schemas/tnt_it/rating.py" ./schemas/rating.xsd +# +# Current working directory (os.getcwd()): +# tnt_it +# + +import sys +try: + ModulenotfoundExp_ = ModuleNotFoundError +except NameError: + ModulenotfoundExp_ = ImportError +from six.moves import zip_longest +import os +import re as re_ +import base64 +import datetime as datetime_ +import decimal as decimal_ +from lxml import etree as etree_ + + +Validate_simpletypes_ = True +SaveElementTreeNode = True +TagNamePrefix = "" +if sys.version_info.major == 2: + BaseStrType_ = basestring +else: + BaseStrType_ = str + + +def parsexml_(infile, parser=None, **kwargs): + if parser is None: + # Use the lxml ElementTree compatible parser so that, e.g., + # we ignore comments. + try: + parser = etree_.ETCompatXMLParser() + except AttributeError: + # fallback to xml.etree + parser = etree_.XMLParser() + try: + if isinstance(infile, os.PathLike): + infile = os.path.join(infile) + except AttributeError: + pass + doc = etree_.parse(infile, parser=parser, **kwargs) + return doc + +def parsexmlstring_(instring, parser=None, **kwargs): + if parser is None: + # Use the lxml ElementTree compatible parser so that, e.g., + # we ignore comments. + try: + parser = etree_.ETCompatXMLParser() + except AttributeError: + # fallback to xml.etree + parser = etree_.XMLParser() + element = etree_.fromstring(instring, parser=parser, **kwargs) + return element + +# +# Namespace prefix definition table (and other attributes, too) +# +# The module generatedsnamespaces, if it is importable, must contain +# a dictionary named GeneratedsNamespaceDefs. This Python dictionary +# should map element type names (strings) to XML schema namespace prefix +# definitions. The export method for any class for which there is +# a namespace prefix definition, will export that definition in the +# XML representation of that element. See the export method of +# any generated element type class for an example of the use of this +# table. +# A sample table is: +# +# # File: generatedsnamespaces.py +# +# GenerateDSNamespaceDefs = { +# "ElementtypeA": "http://www.xxx.com/namespaceA", +# "ElementtypeB": "http://www.xxx.com/namespaceB", +# } +# +# Additionally, the generatedsnamespaces module can contain a python +# dictionary named GenerateDSNamespaceTypePrefixes that associates element +# types with the namespace prefixes that are to be added to the +# "xsi:type" attribute value. See the _exportAttributes method of +# any generated element type and the generation of "xsi:type" for an +# example of the use of this table. +# An example table: +# +# # File: generatedsnamespaces.py +# +# GenerateDSNamespaceTypePrefixes = { +# "ElementtypeC": "aaa:", +# "ElementtypeD": "bbb:", +# } +# + +try: + from generatedsnamespaces import GenerateDSNamespaceDefs as GenerateDSNamespaceDefs_ +except ModulenotfoundExp_ : + GenerateDSNamespaceDefs_ = {} +try: + from generatedsnamespaces import GenerateDSNamespaceTypePrefixes as GenerateDSNamespaceTypePrefixes_ +except ModulenotfoundExp_ : + GenerateDSNamespaceTypePrefixes_ = {} + +# +# You can replace the following class definition by defining an +# importable module named "generatedscollector" containing a class +# named "GdsCollector". See the default class definition below for +# clues about the possible content of that class. +# +try: + from generatedscollector import GdsCollector as GdsCollector_ +except ModulenotfoundExp_ : + + class GdsCollector_(object): + + def __init__(self, messages=None): + if messages is None: + self.messages = [] + else: + self.messages = messages + + def add_message(self, msg): + self.messages.append(msg) + + def get_messages(self): + return self.messages + + def clear_messages(self): + self.messages = [] + + def print_messages(self): + for msg in self.messages: + print("Warning: {}".format(msg)) + + def write_messages(self, outstream): + for msg in self.messages: + outstream.write("Warning: {}\n".format(msg)) + + +# +# The super-class for enum types +# + +try: + from enum import Enum +except ModulenotfoundExp_ : + Enum = object + +# +# The root super-class for element type classes +# +# Calls to the methods in these classes are generated by generateDS.py. +# You can replace these methods by re-implementing the following class +# in a module named generatedssuper.py. + +try: + from generatedssuper import GeneratedsSuper +except ModulenotfoundExp_ as exp: + try: + from generatedssupersuper import GeneratedsSuperSuper + except ModulenotfoundExp_ as exp: + class GeneratedsSuperSuper(object): + pass + + class GeneratedsSuper(GeneratedsSuperSuper): + __hash__ = object.__hash__ + tzoff_pattern = re_.compile('(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)$') + class _FixedOffsetTZ(datetime_.tzinfo): + def __init__(self, offset, name): + self.__offset = datetime_.timedelta(minutes=offset) + self.__name = name + def utcoffset(self, dt): + return self.__offset + def tzname(self, dt): + return self.__name + def dst(self, dt): + return None + def __str__(self): + settings = { + 'str_pretty_print': True, + 'str_indent_level': 0, + 'str_namespaceprefix': '', + 'str_name': self.__class__.__name__, + 'str_namespacedefs': '', + } + for n in settings: + if hasattr(self, n): + settings[n] = getattr(self, n) + if sys.version_info.major == 2: + from StringIO import StringIO + else: + from io import StringIO + output = StringIO() + self.export( + output, + settings['str_indent_level'], + pretty_print=settings['str_pretty_print'], + namespaceprefix_=settings['str_namespaceprefix'], + name_=settings['str_name'], + namespacedef_=settings['str_namespacedefs'] + ) + strval = output.getvalue() + output.close() + return strval + def gds_format_string(self, input_data, input_name=''): + return input_data + def gds_parse_string(self, input_data, node=None, input_name=''): + return input_data + def gds_validate_string(self, input_data, node=None, input_name=''): + if not input_data: + return '' + else: + return input_data + def gds_format_base64(self, input_data, input_name=''): + return base64.b64encode(input_data).decode('ascii') + def gds_validate_base64(self, input_data, node=None, input_name=''): + return input_data + def gds_format_integer(self, input_data, input_name=''): + return '%d' % int(input_data) + def gds_parse_integer(self, input_data, node=None, input_name=''): + try: + ival = int(input_data) + except (TypeError, ValueError) as exp: + raise_parse_error(node, 'Requires integer value: %s' % exp) + return ival + def gds_validate_integer(self, input_data, node=None, input_name=''): + try: + value = int(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires integer value') + return value + def gds_format_integer_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return '%s' % ' '.join(input_data) + def gds_validate_integer_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + try: + int(value) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires sequence of integer values') + return values + def gds_format_float(self, input_data, input_name=''): + value = ('%.15f' % float(input_data)).rstrip('0') + if value.endswith('.'): + value += '0' + return value + + def gds_parse_float(self, input_data, node=None, input_name=''): + try: + fval_ = float(input_data) + except (TypeError, ValueError) as exp: + raise_parse_error(node, 'Requires float or double value: %s' % exp) + return fval_ + def gds_validate_float(self, input_data, node=None, input_name=''): + try: + value = float(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires float value') + return value + def gds_format_float_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return '%s' % ' '.join(input_data) + def gds_validate_float_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + try: + float(value) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires sequence of float values') + return values + def gds_format_decimal(self, input_data, input_name=''): + return_value = '%s' % input_data + if '.' in return_value: + return_value = return_value.rstrip('0') + if return_value.endswith('.'): + return_value = return_value.rstrip('.') + return return_value + def gds_parse_decimal(self, input_data, node=None, input_name=''): + try: + decimal_value = decimal_.Decimal(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires decimal value') + return decimal_value + def gds_validate_decimal(self, input_data, node=None, input_name=''): + try: + value = decimal_.Decimal(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires decimal value') + return value + def gds_format_decimal_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return ' '.join([self.gds_format_decimal(item) for item in input_data]) + def gds_validate_decimal_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + try: + decimal_.Decimal(value) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires sequence of decimal values') + return values + def gds_format_double(self, input_data, input_name=''): + return '%s' % input_data + def gds_parse_double(self, input_data, node=None, input_name=''): + try: + fval_ = float(input_data) + except (TypeError, ValueError) as exp: + raise_parse_error(node, 'Requires double or float value: %s' % exp) + return fval_ + def gds_validate_double(self, input_data, node=None, input_name=''): + try: + value = float(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires double or float value') + return value + def gds_format_double_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return '%s' % ' '.join(input_data) + def gds_validate_double_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + try: + float(value) + except (TypeError, ValueError): + raise_parse_error( + node, 'Requires sequence of double or float values') + return values + def gds_format_boolean(self, input_data, input_name=''): + return ('%s' % input_data).lower() + def gds_parse_boolean(self, input_data, node=None, input_name=''): + input_data = input_data.strip() + if input_data in ('true', '1'): + bval = True + elif input_data in ('false', '0'): + bval = False + else: + raise_parse_error(node, 'Requires boolean value') + return bval + def gds_validate_boolean(self, input_data, node=None, input_name=''): + if input_data not in (True, 1, False, 0, ): + raise_parse_error( + node, + 'Requires boolean value ' + '(one of True, 1, False, 0)') + return input_data + def gds_format_boolean_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return '%s' % ' '.join(input_data) + def gds_validate_boolean_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + value = self.gds_parse_boolean(value, node, input_name) + if value not in (True, 1, False, 0, ): + raise_parse_error( + node, + 'Requires sequence of boolean values ' + '(one of True, 1, False, 0)') + return values + def gds_validate_datetime(self, input_data, node=None, input_name=''): + return input_data + def gds_format_datetime(self, input_data, input_name=''): + if input_data.microsecond == 0: + _svalue = '%04d-%02d-%02dT%02d:%02d:%02d' % ( + input_data.year, + input_data.month, + input_data.day, + input_data.hour, + input_data.minute, + input_data.second, + ) + else: + _svalue = '%04d-%02d-%02dT%02d:%02d:%02d.%s' % ( + input_data.year, + input_data.month, + input_data.day, + input_data.hour, + input_data.minute, + input_data.second, + ('%f' % (float(input_data.microsecond) / 1000000))[2:], + ) + if input_data.tzinfo is not None: + tzoff = input_data.tzinfo.utcoffset(input_data) + if tzoff is not None: + total_seconds = tzoff.seconds + (86400 * tzoff.days) + if total_seconds == 0: + _svalue += 'Z' + else: + if total_seconds < 0: + _svalue += '-' + total_seconds *= -1 + else: + _svalue += '+' + hours = total_seconds // 3600 + minutes = (total_seconds - (hours * 3600)) // 60 + _svalue += '{0:02d}:{1:02d}'.format(hours, minutes) + return _svalue + @classmethod + def gds_parse_datetime(cls, input_data): + tz = None + if input_data[-1] == 'Z': + tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC') + input_data = input_data[:-1] + else: + results = GeneratedsSuper.tzoff_pattern.search(input_data) + if results is not None: + tzoff_parts = results.group(2).split(':') + tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1]) + if results.group(1) == '-': + tzoff *= -1 + tz = GeneratedsSuper._FixedOffsetTZ( + tzoff, results.group(0)) + input_data = input_data[:-6] + time_parts = input_data.split('.') + if len(time_parts) > 1: + micro_seconds = int(float('0.' + time_parts[1]) * 1000000) + input_data = '%s.%s' % ( + time_parts[0], "{}".format(micro_seconds).rjust(6, "0"), ) + dt = datetime_.datetime.strptime( + input_data, '%Y-%m-%dT%H:%M:%S.%f') + else: + dt = datetime_.datetime.strptime( + input_data, '%Y-%m-%dT%H:%M:%S') + dt = dt.replace(tzinfo=tz) + return dt + def gds_validate_date(self, input_data, node=None, input_name=''): + return input_data + def gds_format_date(self, input_data, input_name=''): + _svalue = '%04d-%02d-%02d' % ( + input_data.year, + input_data.month, + input_data.day, + ) + try: + if input_data.tzinfo is not None: + tzoff = input_data.tzinfo.utcoffset(input_data) + if tzoff is not None: + total_seconds = tzoff.seconds + (86400 * tzoff.days) + if total_seconds == 0: + _svalue += 'Z' + else: + if total_seconds < 0: + _svalue += '-' + total_seconds *= -1 + else: + _svalue += '+' + hours = total_seconds // 3600 + minutes = (total_seconds - (hours * 3600)) // 60 + _svalue += '{0:02d}:{1:02d}'.format( + hours, minutes) + except AttributeError: + pass + return _svalue + @classmethod + def gds_parse_date(cls, input_data): + tz = None + if input_data[-1] == 'Z': + tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC') + input_data = input_data[:-1] + else: + results = GeneratedsSuper.tzoff_pattern.search(input_data) + if results is not None: + tzoff_parts = results.group(2).split(':') + tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1]) + if results.group(1) == '-': + tzoff *= -1 + tz = GeneratedsSuper._FixedOffsetTZ( + tzoff, results.group(0)) + input_data = input_data[:-6] + dt = datetime_.datetime.strptime(input_data, '%Y-%m-%d') + dt = dt.replace(tzinfo=tz) + return dt.date() + def gds_validate_time(self, input_data, node=None, input_name=''): + return input_data + def gds_format_time(self, input_data, input_name=''): + if input_data.microsecond == 0: + _svalue = '%02d:%02d:%02d' % ( + input_data.hour, + input_data.minute, + input_data.second, + ) + else: + _svalue = '%02d:%02d:%02d.%s' % ( + input_data.hour, + input_data.minute, + input_data.second, + ('%f' % (float(input_data.microsecond) / 1000000))[2:], + ) + if input_data.tzinfo is not None: + tzoff = input_data.tzinfo.utcoffset(input_data) + if tzoff is not None: + total_seconds = tzoff.seconds + (86400 * tzoff.days) + if total_seconds == 0: + _svalue += 'Z' + else: + if total_seconds < 0: + _svalue += '-' + total_seconds *= -1 + else: + _svalue += '+' + hours = total_seconds // 3600 + minutes = (total_seconds - (hours * 3600)) // 60 + _svalue += '{0:02d}:{1:02d}'.format(hours, minutes) + return _svalue + def gds_validate_simple_patterns(self, patterns, target): + # pat is a list of lists of strings/patterns. + # The target value must match at least one of the patterns + # in order for the test to succeed. + found1 = True + target = str(target) + for patterns1 in patterns: + found2 = False + for patterns2 in patterns1: + mo = re_.search(patterns2, target) + if mo is not None and len(mo.group(0)) == len(target): + found2 = True + break + if not found2: + found1 = False + break + return found1 + @classmethod + def gds_parse_time(cls, input_data): + tz = None + if input_data[-1] == 'Z': + tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC') + input_data = input_data[:-1] + else: + results = GeneratedsSuper.tzoff_pattern.search(input_data) + if results is not None: + tzoff_parts = results.group(2).split(':') + tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1]) + if results.group(1) == '-': + tzoff *= -1 + tz = GeneratedsSuper._FixedOffsetTZ( + tzoff, results.group(0)) + input_data = input_data[:-6] + if len(input_data.split('.')) > 1: + dt = datetime_.datetime.strptime(input_data, '%H:%M:%S.%f') + else: + dt = datetime_.datetime.strptime(input_data, '%H:%M:%S') + dt = dt.replace(tzinfo=tz) + return dt.time() + def gds_check_cardinality_( + self, value, input_name, + min_occurs=0, max_occurs=1, required=None): + if value is None: + length = 0 + elif isinstance(value, list): + length = len(value) + else: + length = 1 + if required is not None : + if required and length < 1: + self.gds_collector_.add_message( + "Required value {}{} is missing".format( + input_name, self.gds_get_node_lineno_())) + if length < min_occurs: + self.gds_collector_.add_message( + "Number of values for {}{} is below " + "the minimum allowed, " + "expected at least {}, found {}".format( + input_name, self.gds_get_node_lineno_(), + min_occurs, length)) + elif length > max_occurs: + self.gds_collector_.add_message( + "Number of values for {}{} is above " + "the maximum allowed, " + "expected at most {}, found {}".format( + input_name, self.gds_get_node_lineno_(), + max_occurs, length)) + def gds_validate_builtin_ST_( + self, validator, value, input_name, + min_occurs=None, max_occurs=None, required=None): + if value is not None: + try: + validator(value, input_name=input_name) + except GDSParseError as parse_error: + self.gds_collector_.add_message(str(parse_error)) + def gds_validate_defined_ST_( + self, validator, value, input_name, + min_occurs=None, max_occurs=None, required=None): + if value is not None: + try: + validator(value) + except GDSParseError as parse_error: + self.gds_collector_.add_message(str(parse_error)) + def gds_str_lower(self, instring): + return instring.lower() + def get_path_(self, node): + path_list = [] + self.get_path_list_(node, path_list) + path_list.reverse() + path = '/'.join(path_list) + return path + Tag_strip_pattern_ = re_.compile(r'{.*}') + def get_path_list_(self, node, path_list): + if node is None: + return + tag = GeneratedsSuper.Tag_strip_pattern_.sub('', node.tag) + if tag: + path_list.append(tag) + self.get_path_list_(node.getparent(), path_list) + def get_class_obj_(self, node, default_class=None): + class_obj1 = default_class + if 'xsi' in node.nsmap: + classname = node.get('{%s}type' % node.nsmap['xsi']) + if classname is not None: + names = classname.split(':') + if len(names) == 2: + classname = names[1] + class_obj2 = globals().get(classname) + if class_obj2 is not None: + class_obj1 = class_obj2 + return class_obj1 + def gds_build_any(self, node, type_name=None): + # provide default value in case option --disable-xml is used. + content = "" + content = etree_.tostring(node, encoding="unicode") + return content + @classmethod + def gds_reverse_node_mapping(cls, mapping): + return dict(((v, k) for k, v in mapping.items())) + @staticmethod + def gds_encode(instring): + if sys.version_info.major == 2: + if ExternalEncoding: + encoding = ExternalEncoding + else: + encoding = 'utf-8' + return instring.encode(encoding) + else: + return instring + @staticmethod + def convert_unicode(instring): + if isinstance(instring, str): + result = quote_xml(instring) + elif sys.version_info.major == 2 and isinstance(instring, unicode): + result = quote_xml(instring).encode('utf8') + else: + result = GeneratedsSuper.gds_encode(str(instring)) + return result + def __eq__(self, other): + def excl_select_objs_(obj): + return (obj[0] != 'parent_object_' and + obj[0] != 'gds_collector_') + if type(self) != type(other): + return False + return all(x == y for x, y in zip_longest( + filter(excl_select_objs_, self.__dict__.items()), + filter(excl_select_objs_, other.__dict__.items()))) + def __ne__(self, other): + return not self.__eq__(other) + # Django ETL transform hooks. + def gds_djo_etl_transform(self): + pass + def gds_djo_etl_transform_db_obj(self, dbobj): + pass + # SQLAlchemy ETL transform hooks. + def gds_sqa_etl_transform(self): + return 0, None + def gds_sqa_etl_transform_db_obj(self, dbobj): + pass + def gds_get_node_lineno_(self): + if (hasattr(self, "gds_elementtree_node_") and + self.gds_elementtree_node_ is not None): + return ' near line {}'.format( + self.gds_elementtree_node_.sourceline) + else: + return "" + + + def getSubclassFromModule_(module, class_): + '''Get the subclass of a class from a specific module.''' + name = class_.__name__ + 'Sub' + if hasattr(module, name): + return getattr(module, name) + else: + return None + + +# +# If you have installed IPython you can uncomment and use the following. +# IPython is available from http://ipython.scipy.org/. +# + +## from IPython.Shell import IPShellEmbed +## args = '' +## ipshell = IPShellEmbed(args, +## banner = 'Dropping into IPython', +## exit_msg = 'Leaving Interpreter, back to program.') + +# Then use the following line where and when you want to drop into the +# IPython shell: +# ipshell(' -- Entering ipshell.\nHit Ctrl-D to exit') + +# +# Globals +# + +ExternalEncoding = '' +# Set this to false in order to deactivate during export, the use of +# name space prefixes captured from the input document. +UseCapturedNS_ = True +CapturedNsmap_ = {} +Tag_pattern_ = re_.compile(r'({.*})?(.*)') +String_cleanup_pat_ = re_.compile(r"[\n\r\s]+") +Namespace_extract_pat_ = re_.compile(r'{(.*)}(.*)') +CDATA_pattern_ = re_.compile(r"", re_.DOTALL) + +# Change this to redirect the generated superclass module to use a +# specific subclass module. +CurrentSubclassModule_ = None + +# +# Support/utility functions. +# + + +def showIndent(outfile, level, pretty_print=True): + if pretty_print: + for idx in range(level): + outfile.write(' ') + + +def quote_xml(inStr): + "Escape markup chars, but do not modify CDATA sections." + if not inStr: + return '' + s1 = (isinstance(inStr, BaseStrType_) and inStr or '%s' % inStr) + s2 = '' + pos = 0 + matchobjects = CDATA_pattern_.finditer(s1) + for mo in matchobjects: + s3 = s1[pos:mo.start()] + s2 += quote_xml_aux(s3) + s2 += s1[mo.start():mo.end()] + pos = mo.end() + s3 = s1[pos:] + s2 += quote_xml_aux(s3) + return s2 + + +def quote_xml_aux(inStr): + s1 = inStr.replace('&', '&') + s1 = s1.replace('<', '<') + s1 = s1.replace('>', '>') + return s1 + + +def quote_attrib(inStr): + s1 = (isinstance(inStr, BaseStrType_) and inStr or '%s' % inStr) + s1 = s1.replace('&', '&') + s1 = s1.replace('<', '<') + s1 = s1.replace('>', '>') + s1 = s1.replace('\n', ' ') + if '"' in s1: + if "'" in s1: + s1 = '"%s"' % s1.replace('"', """) + else: + s1 = "'%s'" % s1 + else: + s1 = '"%s"' % s1 + return s1 + + +def quote_python(inStr): + s1 = inStr + if s1.find("'") == -1: + if s1.find('\n') == -1: + return "'%s'" % s1 + else: + return "'''%s'''" % s1 + else: + if s1.find('"') != -1: + s1 = s1.replace('"', '\\"') + if s1.find('\n') == -1: + return '"%s"' % s1 + else: + return '"""%s"""' % s1 + + +def get_all_text_(node): + if node.text is not None: + text = node.text + else: + text = '' + for child in node: + if child.tail is not None: + text += child.tail + return text + + +def find_attr_value_(attr_name, node): + attrs = node.attrib + attr_parts = attr_name.split(':') + value = None + if len(attr_parts) == 1: + value = attrs.get(attr_name) + elif len(attr_parts) == 2: + prefix, name = attr_parts + if prefix == 'xml': + namespace = 'http://www.w3.org/XML/1998/namespace' + else: + namespace = node.nsmap.get(prefix) + if namespace is not None: + value = attrs.get('{%s}%s' % (namespace, name, )) + return value + + +def encode_str_2_3(instr): + return instr + + +class GDSParseError(Exception): + pass + + +def raise_parse_error(node, msg): + if node is not None: + msg = '%s (element %s/line %d)' % (msg, node.tag, node.sourceline, ) + raise GDSParseError(msg) + + +class MixedContainer: + # Constants for category: + CategoryNone = 0 + CategoryText = 1 + CategorySimple = 2 + CategoryComplex = 3 + # Constants for content_type: + TypeNone = 0 + TypeText = 1 + TypeString = 2 + TypeInteger = 3 + TypeFloat = 4 + TypeDecimal = 5 + TypeDouble = 6 + TypeBoolean = 7 + TypeBase64 = 8 + def __init__(self, category, content_type, name, value): + self.category = category + self.content_type = content_type + self.name = name + self.value = value + def getCategory(self): + return self.category + def getContenttype(self, content_type): + return self.content_type + def getValue(self): + return self.value + def getName(self): + return self.name + def export(self, outfile, level, name, namespace, + pretty_print=True): + if self.category == MixedContainer.CategoryText: + # Prevent exporting empty content as empty lines. + if self.value.strip(): + outfile.write(self.value) + elif self.category == MixedContainer.CategorySimple: + self.exportSimple(outfile, level, name) + else: # category == MixedContainer.CategoryComplex + self.value.export( + outfile, level, namespace, name_=name, + pretty_print=pretty_print) + def exportSimple(self, outfile, level, name): + if self.content_type == MixedContainer.TypeString: + outfile.write('<%s>%s' % ( + self.name, self.value, self.name)) + elif self.content_type == MixedContainer.TypeInteger or \ + self.content_type == MixedContainer.TypeBoolean: + outfile.write('<%s>%d' % ( + self.name, self.value, self.name)) + elif self.content_type == MixedContainer.TypeFloat or \ + self.content_type == MixedContainer.TypeDecimal: + outfile.write('<%s>%f' % ( + self.name, self.value, self.name)) + elif self.content_type == MixedContainer.TypeDouble: + outfile.write('<%s>%g' % ( + self.name, self.value, self.name)) + elif self.content_type == MixedContainer.TypeBase64: + outfile.write('<%s>%s' % ( + self.name, + base64.b64encode(self.value), + self.name)) + def to_etree(self, element, mapping_=None, reverse_mapping_=None, nsmap_=None): + if self.category == MixedContainer.CategoryText: + # Prevent exporting empty content as empty lines. + if self.value.strip(): + if len(element) > 0: + if element[-1].tail is None: + element[-1].tail = self.value + else: + element[-1].tail += self.value + else: + if element.text is None: + element.text = self.value + else: + element.text += self.value + elif self.category == MixedContainer.CategorySimple: + subelement = etree_.SubElement( + element, '%s' % self.name) + subelement.text = self.to_etree_simple() + else: # category == MixedContainer.CategoryComplex + self.value.to_etree(element) + def to_etree_simple(self, mapping_=None, reverse_mapping_=None, nsmap_=None): + if self.content_type == MixedContainer.TypeString: + text = self.value + elif (self.content_type == MixedContainer.TypeInteger or + self.content_type == MixedContainer.TypeBoolean): + text = '%d' % self.value + elif (self.content_type == MixedContainer.TypeFloat or + self.content_type == MixedContainer.TypeDecimal): + text = '%f' % self.value + elif self.content_type == MixedContainer.TypeDouble: + text = '%g' % self.value + elif self.content_type == MixedContainer.TypeBase64: + text = '%s' % base64.b64encode(self.value) + return text + def exportLiteral(self, outfile, level, name): + if self.category == MixedContainer.CategoryText: + showIndent(outfile, level) + outfile.write( + 'model_.MixedContainer(%d, %d, "%s", "%s"),\n' % ( + self.category, self.content_type, + self.name, self.value)) + elif self.category == MixedContainer.CategorySimple: + showIndent(outfile, level) + outfile.write( + 'model_.MixedContainer(%d, %d, "%s", "%s"),\n' % ( + self.category, self.content_type, + self.name, self.value)) + else: # category == MixedContainer.CategoryComplex + showIndent(outfile, level) + outfile.write( + 'model_.MixedContainer(%d, %d, "%s",\n' % ( + self.category, self.content_type, self.name,)) + self.value.exportLiteral(outfile, level + 1) + showIndent(outfile, level) + outfile.write(')\n') + + +class MemberSpec_(object): + def __init__(self, name='', data_type='', container=0, + optional=0, child_attrs=None, choice=None): + self.name = name + self.data_type = data_type + self.container = container + self.child_attrs = child_attrs + self.choice = choice + self.optional = optional + def set_name(self, name): self.name = name + def get_name(self): return self.name + def set_data_type(self, data_type): self.data_type = data_type + def get_data_type_chain(self): return self.data_type + def get_data_type(self): + if isinstance(self.data_type, list): + if len(self.data_type) > 0: + return self.data_type[-1] + else: + return 'xs:string' + else: + return self.data_type + def set_container(self, container): self.container = container + def get_container(self): return self.container + def set_child_attrs(self, child_attrs): self.child_attrs = child_attrs + def get_child_attrs(self): return self.child_attrs + def set_choice(self, choice): self.choice = choice + def get_choice(self): return self.choice + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional + + +def _cast(typ, value): + if typ is None or value is None: + return value + return typ(value) + + +# +# Start enum classes +# +# +# Start data representation classes +# +class Document(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Application=None, Version=None, Login=None, ApplicationFunction=None, Details=None, Shipment=None, CMessage=None, ExtraCee=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Application = Application + self.Application_nsprefix_ = None + self.Version = Version + self.Version_nsprefix_ = None + self.Login = Login + self.Login_nsprefix_ = None + self.ApplicationFunction = ApplicationFunction + self.ApplicationFunction_nsprefix_ = None + self.Details = Details + self.Details_nsprefix_ = None + self.Shipment = Shipment + self.Shipment_nsprefix_ = None + self.CMessage = CMessage + self.CMessage_nsprefix_ = None + self.ExtraCee = ExtraCee + self.ExtraCee_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Document) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Document.subclass: + return Document.subclass(*args_, **kwargs_) + else: + return Document(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Application(self): + return self.Application + def set_Application(self, Application): + self.Application = Application + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_Login(self): + return self.Login + def set_Login(self, Login): + self.Login = Login + def get_ApplicationFunction(self): + return self.ApplicationFunction + def set_ApplicationFunction(self, ApplicationFunction): + self.ApplicationFunction = ApplicationFunction + def get_Details(self): + return self.Details + def set_Details(self, Details): + self.Details = Details + def get_Shipment(self): + return self.Shipment + def set_Shipment(self, Shipment): + self.Shipment = Shipment + def get_CMessage(self): + return self.CMessage + def set_CMessage(self, CMessage): + self.CMessage = CMessage + def get_ExtraCee(self): + return self.ExtraCee + def set_ExtraCee(self, ExtraCee): + self.ExtraCee = ExtraCee + def has__content(self): + if ( + self.Application is not None or + self.Version is not None or + self.Login is not None or + self.ApplicationFunction is not None or + self.Details is not None or + self.Shipment is not None or + self.CMessage is not None or + self.ExtraCee is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='Document', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Document') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Document': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Document') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Document', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='Document'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='Document', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Application is not None: + namespaceprefix_ = self.Application_nsprefix_ + ':' if (UseCapturedNS_ and self.Application_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sApplication>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Application), input_name='Application')), namespaceprefix_ , eol_)) + if self.Version is not None: + namespaceprefix_ = self.Version_nsprefix_ + ':' if (UseCapturedNS_ and self.Version_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sVersion>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Version), input_name='Version')), namespaceprefix_ , eol_)) + if self.Login is not None: + namespaceprefix_ = self.Login_nsprefix_ + ':' if (UseCapturedNS_ and self.Login_nsprefix_) else '' + self.Login.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Login', pretty_print=pretty_print) + if self.ApplicationFunction is not None: + namespaceprefix_ = self.ApplicationFunction_nsprefix_ + ':' if (UseCapturedNS_ and self.ApplicationFunction_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sApplicationFunction>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ApplicationFunction), input_name='ApplicationFunction')), namespaceprefix_ , eol_)) + if self.Details is not None: + namespaceprefix_ = self.Details_nsprefix_ + ':' if (UseCapturedNS_ and self.Details_nsprefix_) else '' + self.Details.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Details', pretty_print=pretty_print) + if self.Shipment is not None: + namespaceprefix_ = self.Shipment_nsprefix_ + ':' if (UseCapturedNS_ and self.Shipment_nsprefix_) else '' + self.Shipment.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Shipment', pretty_print=pretty_print) + if self.CMessage is not None: + namespaceprefix_ = self.CMessage_nsprefix_ + ':' if (UseCapturedNS_ and self.CMessage_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCMessage>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CMessage), input_name='CMessage')), namespaceprefix_ , eol_)) + if self.ExtraCee is not None: + namespaceprefix_ = self.ExtraCee_nsprefix_ + ':' if (UseCapturedNS_ and self.ExtraCee_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sExtraCee>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ExtraCee), input_name='ExtraCee')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Application': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Application') + value_ = self.gds_validate_string(value_, node, 'Application') + self.Application = value_ + self.Application_nsprefix_ = child_.prefix + elif nodeName_ == 'Version': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Version') + value_ = self.gds_validate_string(value_, node, 'Version') + self.Version = value_ + self.Version_nsprefix_ = child_.prefix + elif nodeName_ == 'Login': + obj_ = LoginType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Login = obj_ + obj_.original_tagname_ = 'Login' + elif nodeName_ == 'ApplicationFunction': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'ApplicationFunction') + value_ = self.gds_validate_string(value_, node, 'ApplicationFunction') + self.ApplicationFunction = value_ + self.ApplicationFunction_nsprefix_ = child_.prefix + elif nodeName_ == 'Details': + obj_ = DetailsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Details = obj_ + obj_.original_tagname_ = 'Details' + elif nodeName_ == 'Shipment': + obj_ = ShipmentType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Shipment = obj_ + obj_.original_tagname_ = 'Shipment' + elif nodeName_ == 'CMessage': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CMessage') + value_ = self.gds_validate_string(value_, node, 'CMessage') + self.CMessage = value_ + self.CMessage_nsprefix_ = child_.prefix + elif nodeName_ == 'ExtraCee': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'ExtraCee') + value_ = self.gds_validate_string(value_, node, 'ExtraCee') + self.ExtraCee = value_ + self.ExtraCee_nsprefix_ = child_.prefix +# end class Document + + +class LoginType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Customer=None, User=None, Password=None, LangID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Customer = Customer + self.Customer_nsprefix_ = None + self.User = User + self.User_nsprefix_ = None + self.Password = Password + self.Password_nsprefix_ = None + self.LangID = LangID + self.LangID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, LoginType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if LoginType.subclass: + return LoginType.subclass(*args_, **kwargs_) + else: + return LoginType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Customer(self): + return self.Customer + def set_Customer(self, Customer): + self.Customer = Customer + def get_User(self): + return self.User + def set_User(self, User): + self.User = User + def get_Password(self): + return self.Password + def set_Password(self, Password): + self.Password = Password + def get_LangID(self): + return self.LangID + def set_LangID(self, LangID): + self.LangID = LangID + def has__content(self): + if ( + self.Customer is not None or + self.User is not None or + self.Password is not None or + self.LangID is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LoginType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('LoginType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'LoginType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LoginType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LoginType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LoginType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LoginType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Customer is not None: + namespaceprefix_ = self.Customer_nsprefix_ + ':' if (UseCapturedNS_ and self.Customer_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCustomer>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Customer), input_name='Customer')), namespaceprefix_ , eol_)) + if self.User is not None: + namespaceprefix_ = self.User_nsprefix_ + ':' if (UseCapturedNS_ and self.User_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sUser>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.User), input_name='User')), namespaceprefix_ , eol_)) + if self.Password is not None: + namespaceprefix_ = self.Password_nsprefix_ + ':' if (UseCapturedNS_ and self.Password_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPassword>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Password), input_name='Password')), namespaceprefix_ , eol_)) + if self.LangID is not None: + namespaceprefix_ = self.LangID_nsprefix_ + ':' if (UseCapturedNS_ and self.LangID_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sLangID>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LangID), input_name='LangID')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Customer': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Customer') + value_ = self.gds_validate_string(value_, node, 'Customer') + self.Customer = value_ + self.Customer_nsprefix_ = child_.prefix + elif nodeName_ == 'User': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'User') + value_ = self.gds_validate_string(value_, node, 'User') + self.User = value_ + self.User_nsprefix_ = child_.prefix + elif nodeName_ == 'Password': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Password') + value_ = self.gds_validate_string(value_, node, 'Password') + self.Password = value_ + self.Password_nsprefix_ = child_.prefix + elif nodeName_ == 'LangID': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'LangID') + value_ = self.gds_validate_string(value_, node, 'LangID') + self.LangID = value_ + self.LangID_nsprefix_ = child_.prefix +# end class LoginType + + +class DetailsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AccountNo=None, Package=None, Common=None, Domestic=None, CheckPriceEnabled=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AccountNo = AccountNo + self.AccountNo_nsprefix_ = None + self.Package = Package + self.Package_nsprefix_ = None + self.Common = Common + self.Common_nsprefix_ = None + self.Domestic = Domestic + self.Domestic_nsprefix_ = None + self.CheckPriceEnabled = CheckPriceEnabled + self.CheckPriceEnabled_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DetailsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DetailsType.subclass: + return DetailsType.subclass(*args_, **kwargs_) + else: + return DetailsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AccountNo(self): + return self.AccountNo + def set_AccountNo(self, AccountNo): + self.AccountNo = AccountNo + def get_Package(self): + return self.Package + def set_Package(self, Package): + self.Package = Package + def get_Common(self): + return self.Common + def set_Common(self, Common): + self.Common = Common + def get_Domestic(self): + return self.Domestic + def set_Domestic(self, Domestic): + self.Domestic = Domestic + def get_CheckPriceEnabled(self): + return self.CheckPriceEnabled + def set_CheckPriceEnabled(self, CheckPriceEnabled): + self.CheckPriceEnabled = CheckPriceEnabled + def has__content(self): + if ( + self.AccountNo is not None or + self.Package is not None or + self.Common is not None or + self.Domestic is not None or + self.CheckPriceEnabled is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DetailsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DetailsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DetailsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DetailsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DetailsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DetailsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DetailsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AccountNo is not None: + namespaceprefix_ = self.AccountNo_nsprefix_ + ':' if (UseCapturedNS_ and self.AccountNo_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sAccountNo>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AccountNo), input_name='AccountNo')), namespaceprefix_ , eol_)) + if self.Package is not None: + namespaceprefix_ = self.Package_nsprefix_ + ':' if (UseCapturedNS_ and self.Package_nsprefix_) else '' + self.Package.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Package', pretty_print=pretty_print) + if self.Common is not None: + namespaceprefix_ = self.Common_nsprefix_ + ':' if (UseCapturedNS_ and self.Common_nsprefix_) else '' + self.Common.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Common', pretty_print=pretty_print) + if self.Domestic is not None: + namespaceprefix_ = self.Domestic_nsprefix_ + ':' if (UseCapturedNS_ and self.Domestic_nsprefix_) else '' + self.Domestic.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Domestic', pretty_print=pretty_print) + if self.CheckPriceEnabled is not None: + namespaceprefix_ = self.CheckPriceEnabled_nsprefix_ + ':' if (UseCapturedNS_ and self.CheckPriceEnabled_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCheckPriceEnabled>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CheckPriceEnabled), input_name='CheckPriceEnabled')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AccountNo': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'AccountNo') + value_ = self.gds_validate_string(value_, node, 'AccountNo') + self.AccountNo = value_ + self.AccountNo_nsprefix_ = child_.prefix + elif nodeName_ == 'Package': + obj_ = PackageType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Package = obj_ + obj_.original_tagname_ = 'Package' + elif nodeName_ == 'Common': + obj_ = CommonType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Common = obj_ + obj_.original_tagname_ = 'Common' + elif nodeName_ == 'Domestic': + obj_ = DomesticType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Domestic = obj_ + obj_.original_tagname_ = 'Domestic' + elif nodeName_ == 'CheckPriceEnabled': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CheckPriceEnabled') + value_ = self.gds_validate_string(value_, node, 'CheckPriceEnabled') + self.CheckPriceEnabled = value_ + self.CheckPriceEnabled_nsprefix_ = child_.prefix +# end class DetailsType + + +class PackageType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Items=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Items = Items + self.Items_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, PackageType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if PackageType.subclass: + return PackageType.subclass(*args_, **kwargs_) + else: + return PackageType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Items(self): + return self.Items + def set_Items(self, Items): + self.Items = Items + def has__content(self): + if ( + self.Items is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PackageType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('PackageType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'PackageType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='PackageType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='PackageType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='PackageType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='PackageType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Items is not None: + namespaceprefix_ = self.Items_nsprefix_ + ':' if (UseCapturedNS_ and self.Items_nsprefix_) else '' + self.Items.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Items', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Items': + obj_ = ItemsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Items = obj_ + obj_.original_tagname_ = 'Items' +# end class PackageType + + +class ItemsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ItemSeqNo=None, Type=None, INumber=None, IWeight=None, IDescription=None, Length=None, Height=None, Width=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ItemSeqNo = ItemSeqNo + self.ItemSeqNo_nsprefix_ = None + self.Type = Type + self.Type_nsprefix_ = None + self.INumber = INumber + self.INumber_nsprefix_ = None + self.IWeight = IWeight + self.IWeight_nsprefix_ = None + self.IDescription = IDescription + self.IDescription_nsprefix_ = None + self.Length = Length + self.Length_nsprefix_ = None + self.Height = Height + self.Height_nsprefix_ = None + self.Width = Width + self.Width_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ItemsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ItemsType.subclass: + return ItemsType.subclass(*args_, **kwargs_) + else: + return ItemsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ItemSeqNo(self): + return self.ItemSeqNo + def set_ItemSeqNo(self, ItemSeqNo): + self.ItemSeqNo = ItemSeqNo + def get_Type(self): + return self.Type + def set_Type(self, Type): + self.Type = Type + def get_INumber(self): + return self.INumber + def set_INumber(self, INumber): + self.INumber = INumber + def get_IWeight(self): + return self.IWeight + def set_IWeight(self, IWeight): + self.IWeight = IWeight + def get_IDescription(self): + return self.IDescription + def set_IDescription(self, IDescription): + self.IDescription = IDescription + def get_Length(self): + return self.Length + def set_Length(self, Length): + self.Length = Length + def get_Height(self): + return self.Height + def set_Height(self, Height): + self.Height = Height + def get_Width(self): + return self.Width + def set_Width(self, Width): + self.Width = Width + def has__content(self): + if ( + self.ItemSeqNo is not None or + self.Type is not None or + self.INumber is not None or + self.IWeight is not None or + self.IDescription is not None or + self.Length is not None or + self.Height is not None or + self.Width is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ItemsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ItemsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ItemsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ItemsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ItemsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ItemsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ItemsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ItemSeqNo is not None: + namespaceprefix_ = self.ItemSeqNo_nsprefix_ + ':' if (UseCapturedNS_ and self.ItemSeqNo_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sItemSeqNo>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ItemSeqNo), input_name='ItemSeqNo')), namespaceprefix_ , eol_)) + if self.Type is not None: + namespaceprefix_ = self.Type_nsprefix_ + ':' if (UseCapturedNS_ and self.Type_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sType>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Type), input_name='Type')), namespaceprefix_ , eol_)) + if self.INumber is not None: + namespaceprefix_ = self.INumber_nsprefix_ + ':' if (UseCapturedNS_ and self.INumber_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sINumber>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.INumber), input_name='INumber')), namespaceprefix_ , eol_)) + if self.IWeight is not None: + namespaceprefix_ = self.IWeight_nsprefix_ + ':' if (UseCapturedNS_ and self.IWeight_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sIWeight>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IWeight), input_name='IWeight')), namespaceprefix_ , eol_)) + if self.IDescription is not None: + namespaceprefix_ = self.IDescription_nsprefix_ + ':' if (UseCapturedNS_ and self.IDescription_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sIDescription>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.IDescription), input_name='IDescription')), namespaceprefix_ , eol_)) + if self.Length is not None: + namespaceprefix_ = self.Length_nsprefix_ + ':' if (UseCapturedNS_ and self.Length_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sLength>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Length), input_name='Length')), namespaceprefix_ , eol_)) + if self.Height is not None: + namespaceprefix_ = self.Height_nsprefix_ + ':' if (UseCapturedNS_ and self.Height_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sHeight>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Height), input_name='Height')), namespaceprefix_ , eol_)) + if self.Width is not None: + namespaceprefix_ = self.Width_nsprefix_ + ':' if (UseCapturedNS_ and self.Width_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWidth>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Width), input_name='Width')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ItemSeqNo': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'ItemSeqNo') + value_ = self.gds_validate_string(value_, node, 'ItemSeqNo') + self.ItemSeqNo = value_ + self.ItemSeqNo_nsprefix_ = child_.prefix + elif nodeName_ == 'Type': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Type') + value_ = self.gds_validate_string(value_, node, 'Type') + self.Type = value_ + self.Type_nsprefix_ = child_.prefix + elif nodeName_ == 'INumber': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'INumber') + value_ = self.gds_validate_string(value_, node, 'INumber') + self.INumber = value_ + self.INumber_nsprefix_ = child_.prefix + elif nodeName_ == 'IWeight': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'IWeight') + value_ = self.gds_validate_string(value_, node, 'IWeight') + self.IWeight = value_ + self.IWeight_nsprefix_ = child_.prefix + elif nodeName_ == 'IDescription': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'IDescription') + value_ = self.gds_validate_string(value_, node, 'IDescription') + self.IDescription = value_ + self.IDescription_nsprefix_ = child_.prefix + elif nodeName_ == 'Length': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Length') + value_ = self.gds_validate_string(value_, node, 'Length') + self.Length = value_ + self.Length_nsprefix_ = child_.prefix + elif nodeName_ == 'Height': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Height') + value_ = self.gds_validate_string(value_, node, 'Height') + self.Height = value_ + self.Height_nsprefix_ = child_.prefix + elif nodeName_ == 'Width': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Width') + value_ = self.gds_validate_string(value_, node, 'Width') + self.Width = value_ + self.Width_nsprefix_ = child_.prefix +# end class ItemsType + + +class CommonType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ContactName=None, Service=None, Insurance=None, InsuranceCurrency=None, SenderReference=None, Payment=None, Instructions=None, SpecialGoods=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ContactName = ContactName + self.ContactName_nsprefix_ = None + self.Service = Service + self.Service_nsprefix_ = None + self.Insurance = Insurance + self.Insurance_nsprefix_ = None + self.InsuranceCurrency = InsuranceCurrency + self.InsuranceCurrency_nsprefix_ = None + self.SenderReference = SenderReference + self.SenderReference_nsprefix_ = None + self.Payment = Payment + self.Payment_nsprefix_ = None + self.Instructions = Instructions + self.Instructions_nsprefix_ = None + self.SpecialGoods = SpecialGoods + self.SpecialGoods_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CommonType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CommonType.subclass: + return CommonType.subclass(*args_, **kwargs_) + else: + return CommonType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ContactName(self): + return self.ContactName + def set_ContactName(self, ContactName): + self.ContactName = ContactName + def get_Service(self): + return self.Service + def set_Service(self, Service): + self.Service = Service + def get_Insurance(self): + return self.Insurance + def set_Insurance(self, Insurance): + self.Insurance = Insurance + def get_InsuranceCurrency(self): + return self.InsuranceCurrency + def set_InsuranceCurrency(self, InsuranceCurrency): + self.InsuranceCurrency = InsuranceCurrency + def get_SenderReference(self): + return self.SenderReference + def set_SenderReference(self, SenderReference): + self.SenderReference = SenderReference + def get_Payment(self): + return self.Payment + def set_Payment(self, Payment): + self.Payment = Payment + def get_Instructions(self): + return self.Instructions + def set_Instructions(self, Instructions): + self.Instructions = Instructions + def get_SpecialGoods(self): + return self.SpecialGoods + def set_SpecialGoods(self, SpecialGoods): + self.SpecialGoods = SpecialGoods + def has__content(self): + if ( + self.ContactName is not None or + self.Service is not None or + self.Insurance is not None or + self.InsuranceCurrency is not None or + self.SenderReference is not None or + self.Payment is not None or + self.Instructions is not None or + self.SpecialGoods is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CommonType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CommonType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CommonType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CommonType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CommonType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CommonType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CommonType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ContactName is not None: + namespaceprefix_ = self.ContactName_nsprefix_ + ':' if (UseCapturedNS_ and self.ContactName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sContactName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ContactName), input_name='ContactName')), namespaceprefix_ , eol_)) + if self.Service is not None: + namespaceprefix_ = self.Service_nsprefix_ + ':' if (UseCapturedNS_ and self.Service_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sService>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Service), input_name='Service')), namespaceprefix_ , eol_)) + if self.Insurance is not None: + namespaceprefix_ = self.Insurance_nsprefix_ + ':' if (UseCapturedNS_ and self.Insurance_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sInsurance>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Insurance), input_name='Insurance')), namespaceprefix_ , eol_)) + if self.InsuranceCurrency is not None: + namespaceprefix_ = self.InsuranceCurrency_nsprefix_ + ':' if (UseCapturedNS_ and self.InsuranceCurrency_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sInsuranceCurrency>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.InsuranceCurrency), input_name='InsuranceCurrency')), namespaceprefix_ , eol_)) + if self.SenderReference is not None: + namespaceprefix_ = self.SenderReference_nsprefix_ + ':' if (UseCapturedNS_ and self.SenderReference_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSenderReference>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SenderReference), input_name='SenderReference')), namespaceprefix_ , eol_)) + if self.Payment is not None: + namespaceprefix_ = self.Payment_nsprefix_ + ':' if (UseCapturedNS_ and self.Payment_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPayment>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Payment), input_name='Payment')), namespaceprefix_ , eol_)) + if self.Instructions is not None: + namespaceprefix_ = self.Instructions_nsprefix_ + ':' if (UseCapturedNS_ and self.Instructions_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sInstructions>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Instructions), input_name='Instructions')), namespaceprefix_ , eol_)) + if self.SpecialGoods is not None: + namespaceprefix_ = self.SpecialGoods_nsprefix_ + ':' if (UseCapturedNS_ and self.SpecialGoods_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSpecialGoods>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SpecialGoods), input_name='SpecialGoods')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ContactName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'ContactName') + value_ = self.gds_validate_string(value_, node, 'ContactName') + self.ContactName = value_ + self.ContactName_nsprefix_ = child_.prefix + elif nodeName_ == 'Service': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Service') + value_ = self.gds_validate_string(value_, node, 'Service') + self.Service = value_ + self.Service_nsprefix_ = child_.prefix + elif nodeName_ == 'Insurance': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Insurance') + value_ = self.gds_validate_string(value_, node, 'Insurance') + self.Insurance = value_ + self.Insurance_nsprefix_ = child_.prefix + elif nodeName_ == 'InsuranceCurrency': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'InsuranceCurrency') + value_ = self.gds_validate_string(value_, node, 'InsuranceCurrency') + self.InsuranceCurrency = value_ + self.InsuranceCurrency_nsprefix_ = child_.prefix + elif nodeName_ == 'SenderReference': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'SenderReference') + value_ = self.gds_validate_string(value_, node, 'SenderReference') + self.SenderReference = value_ + self.SenderReference_nsprefix_ = child_.prefix + elif nodeName_ == 'Payment': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Payment') + value_ = self.gds_validate_string(value_, node, 'Payment') + self.Payment = value_ + self.Payment_nsprefix_ = child_.prefix + elif nodeName_ == 'Instructions': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Instructions') + value_ = self.gds_validate_string(value_, node, 'Instructions') + self.Instructions = value_ + self.Instructions_nsprefix_ = child_.prefix + elif nodeName_ == 'SpecialGoods': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'SpecialGoods') + value_ = self.gds_validate_string(value_, node, 'SpecialGoods') + self.SpecialGoods = value_ + self.SpecialGoods_nsprefix_ = child_.prefix +# end class CommonType + + +class DomesticType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, COD=None, OperationalOptions=None, EOM=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.COD = COD + self.COD_nsprefix_ = None + self.OperationalOptions = OperationalOptions + self.OperationalOptions_nsprefix_ = None + self.EOM = EOM + self.EOM_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, DomesticType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if DomesticType.subclass: + return DomesticType.subclass(*args_, **kwargs_) + else: + return DomesticType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_COD(self): + return self.COD + def set_COD(self, COD): + self.COD = COD + def get_OperationalOptions(self): + return self.OperationalOptions + def set_OperationalOptions(self, OperationalOptions): + self.OperationalOptions = OperationalOptions + def get_EOM(self): + return self.EOM + def set_EOM(self, EOM): + self.EOM = EOM + def has__content(self): + if ( + self.COD is not None or + self.OperationalOptions is not None or + self.EOM is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DomesticType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('DomesticType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'DomesticType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='DomesticType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='DomesticType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='DomesticType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='DomesticType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.COD is not None: + namespaceprefix_ = self.COD_nsprefix_ + ':' if (UseCapturedNS_ and self.COD_nsprefix_) else '' + self.COD.export(outfile, level, namespaceprefix_, namespacedef_='', name_='COD', pretty_print=pretty_print) + if self.OperationalOptions is not None: + namespaceprefix_ = self.OperationalOptions_nsprefix_ + ':' if (UseCapturedNS_ and self.OperationalOptions_nsprefix_) else '' + self.OperationalOptions.export(outfile, level, namespaceprefix_, namespacedef_='', name_='OperationalOptions', pretty_print=pretty_print) + if self.EOM is not None: + namespaceprefix_ = self.EOM_nsprefix_ + ':' if (UseCapturedNS_ and self.EOM_nsprefix_) else '' + self.EOM.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EOM', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'COD': + obj_ = CODType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.COD = obj_ + obj_.original_tagname_ = 'COD' + elif nodeName_ == 'OperationalOptions': + obj_ = OperationalOptionsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.OperationalOptions = obj_ + obj_.original_tagname_ = 'OperationalOptions' + elif nodeName_ == 'EOM': + obj_ = EOMType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.EOM = obj_ + obj_.original_tagname_ = 'EOM' +# end class DomesticType + + +class CODType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Amount=None, Currency=None, SenderComm=None, SenderRefund=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Amount = Amount + self.Amount_nsprefix_ = None + self.Currency = Currency + self.Currency_nsprefix_ = None + self.SenderComm = SenderComm + self.SenderComm_nsprefix_ = None + self.SenderRefund = SenderRefund + self.SenderRefund_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CODType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CODType.subclass: + return CODType.subclass(*args_, **kwargs_) + else: + return CODType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Amount(self): + return self.Amount + def set_Amount(self, Amount): + self.Amount = Amount + def get_Currency(self): + return self.Currency + def set_Currency(self, Currency): + self.Currency = Currency + def get_SenderComm(self): + return self.SenderComm + def set_SenderComm(self, SenderComm): + self.SenderComm = SenderComm + def get_SenderRefund(self): + return self.SenderRefund + def set_SenderRefund(self, SenderRefund): + self.SenderRefund = SenderRefund + def has__content(self): + if ( + self.Amount is not None or + self.Currency is not None or + self.SenderComm is not None or + self.SenderRefund is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CODType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CODType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CODType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CODType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CODType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CODType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CODType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Amount is not None: + namespaceprefix_ = self.Amount_nsprefix_ + ':' if (UseCapturedNS_ and self.Amount_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sAmount>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Amount), input_name='Amount')), namespaceprefix_ , eol_)) + if self.Currency is not None: + namespaceprefix_ = self.Currency_nsprefix_ + ':' if (UseCapturedNS_ and self.Currency_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCurrency>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Currency), input_name='Currency')), namespaceprefix_ , eol_)) + if self.SenderComm is not None: + namespaceprefix_ = self.SenderComm_nsprefix_ + ':' if (UseCapturedNS_ and self.SenderComm_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSenderComm>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SenderComm), input_name='SenderComm')), namespaceprefix_ , eol_)) + if self.SenderRefund is not None: + namespaceprefix_ = self.SenderRefund_nsprefix_ + ':' if (UseCapturedNS_ and self.SenderRefund_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSenderRefund>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SenderRefund), input_name='SenderRefund')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Amount': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Amount') + value_ = self.gds_validate_string(value_, node, 'Amount') + self.Amount = value_ + self.Amount_nsprefix_ = child_.prefix + elif nodeName_ == 'Currency': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Currency') + value_ = self.gds_validate_string(value_, node, 'Currency') + self.Currency = value_ + self.Currency_nsprefix_ = child_.prefix + elif nodeName_ == 'SenderComm': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'SenderComm') + value_ = self.gds_validate_string(value_, node, 'SenderComm') + self.SenderComm = value_ + self.SenderComm_nsprefix_ = child_.prefix + elif nodeName_ == 'SenderRefund': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'SenderRefund') + value_ = self.gds_validate_string(value_, node, 'SenderRefund') + self.SenderRefund = value_ + self.SenderRefund_nsprefix_ = child_.prefix +# end class CODType + + +class OperationalOptionsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Option=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Option = Option + self.Option_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, OperationalOptionsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if OperationalOptionsType.subclass: + return OperationalOptionsType.subclass(*args_, **kwargs_) + else: + return OperationalOptionsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Option(self): + return self.Option + def set_Option(self, Option): + self.Option = Option + def has__content(self): + if ( + self.Option is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OperationalOptionsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('OperationalOptionsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'OperationalOptionsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='OperationalOptionsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='OperationalOptionsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='OperationalOptionsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='OperationalOptionsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Option is not None: + namespaceprefix_ = self.Option_nsprefix_ + ':' if (UseCapturedNS_ and self.Option_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sOption>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Option), input_name='Option')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Option': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Option') + value_ = self.gds_validate_string(value_, node, 'Option') + self.Option = value_ + self.Option_nsprefix_ = child_.prefix +# end class OperationalOptionsType + + +class EOMType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Division=None, Enclosure=None, Unification=None, OfferNo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Division = Division + self.Division_nsprefix_ = None + self.Enclosure = Enclosure + self.Enclosure_nsprefix_ = None + self.Unification = Unification + self.Unification_nsprefix_ = None + self.OfferNo = OfferNo + self.OfferNo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, EOMType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if EOMType.subclass: + return EOMType.subclass(*args_, **kwargs_) + else: + return EOMType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Division(self): + return self.Division + def set_Division(self, Division): + self.Division = Division + def get_Enclosure(self): + return self.Enclosure + def set_Enclosure(self, Enclosure): + self.Enclosure = Enclosure + def get_Unification(self): + return self.Unification + def set_Unification(self, Unification): + self.Unification = Unification + def get_OfferNo(self): + return self.OfferNo + def set_OfferNo(self, OfferNo): + self.OfferNo = OfferNo + def has__content(self): + if ( + self.Division is not None or + self.Enclosure is not None or + self.Unification is not None or + self.OfferNo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EOMType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('EOMType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'EOMType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='EOMType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='EOMType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='EOMType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='EOMType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Division is not None: + namespaceprefix_ = self.Division_nsprefix_ + ':' if (UseCapturedNS_ and self.Division_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sDivision>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Division), input_name='Division')), namespaceprefix_ , eol_)) + if self.Enclosure is not None: + namespaceprefix_ = self.Enclosure_nsprefix_ + ':' if (UseCapturedNS_ and self.Enclosure_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sEnclosure>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Enclosure), input_name='Enclosure')), namespaceprefix_ , eol_)) + if self.Unification is not None: + namespaceprefix_ = self.Unification_nsprefix_ + ':' if (UseCapturedNS_ and self.Unification_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sUnification>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Unification), input_name='Unification')), namespaceprefix_ , eol_)) + if self.OfferNo is not None: + namespaceprefix_ = self.OfferNo_nsprefix_ + ':' if (UseCapturedNS_ and self.OfferNo_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sOfferNo>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.OfferNo), input_name='OfferNo')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Division': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Division') + value_ = self.gds_validate_string(value_, node, 'Division') + self.Division = value_ + self.Division_nsprefix_ = child_.prefix + elif nodeName_ == 'Enclosure': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Enclosure') + value_ = self.gds_validate_string(value_, node, 'Enclosure') + self.Enclosure = value_ + self.Enclosure_nsprefix_ = child_.prefix + elif nodeName_ == 'Unification': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Unification') + value_ = self.gds_validate_string(value_, node, 'Unification') + self.Unification = value_ + self.Unification_nsprefix_ = child_.prefix + elif nodeName_ == 'OfferNo': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'OfferNo') + value_ = self.gds_validate_string(value_, node, 'OfferNo') + self.OfferNo = value_ + self.OfferNo_nsprefix_ = child_.prefix +# end class EOMType + + +class ShipmentType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ShipmentKey=None, isChanged=None, Date=None, Template=None, Receiver=None, Incomplete=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ShipmentKey = ShipmentKey + self.ShipmentKey_nsprefix_ = None + self.isChanged = isChanged + self.isChanged_nsprefix_ = None + self.Date = Date + self.Date_nsprefix_ = None + self.Template = Template + self.Template_nsprefix_ = None + self.Receiver = Receiver + self.Receiver_nsprefix_ = None + self.Incomplete = Incomplete + self.Incomplete_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ShipmentType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ShipmentType.subclass: + return ShipmentType.subclass(*args_, **kwargs_) + else: + return ShipmentType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ShipmentKey(self): + return self.ShipmentKey + def set_ShipmentKey(self, ShipmentKey): + self.ShipmentKey = ShipmentKey + def get_isChanged(self): + return self.isChanged + def set_isChanged(self, isChanged): + self.isChanged = isChanged + def get_Date(self): + return self.Date + def set_Date(self, Date): + self.Date = Date + def get_Template(self): + return self.Template + def set_Template(self, Template): + self.Template = Template + def get_Receiver(self): + return self.Receiver + def set_Receiver(self, Receiver): + self.Receiver = Receiver + def get_Incomplete(self): + return self.Incomplete + def set_Incomplete(self, Incomplete): + self.Incomplete = Incomplete + def has__content(self): + if ( + self.ShipmentKey is not None or + self.isChanged is not None or + self.Date is not None or + self.Template is not None or + self.Receiver is not None or + self.Incomplete is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ShipmentType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ShipmentType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ShipmentType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ShipmentType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ShipmentType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ShipmentType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ShipmentType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ShipmentKey is not None: + namespaceprefix_ = self.ShipmentKey_nsprefix_ + ':' if (UseCapturedNS_ and self.ShipmentKey_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sShipmentKey>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ShipmentKey), input_name='ShipmentKey')), namespaceprefix_ , eol_)) + if self.isChanged is not None: + namespaceprefix_ = self.isChanged_nsprefix_ + ':' if (UseCapturedNS_ and self.isChanged_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sisChanged>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.isChanged), input_name='isChanged')), namespaceprefix_ , eol_)) + if self.Date is not None: + namespaceprefix_ = self.Date_nsprefix_ + ':' if (UseCapturedNS_ and self.Date_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sDate>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Date), input_name='Date')), namespaceprefix_ , eol_)) + if self.Template is not None: + namespaceprefix_ = self.Template_nsprefix_ + ':' if (UseCapturedNS_ and self.Template_nsprefix_) else '' + self.Template.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Template', pretty_print=pretty_print) + if self.Receiver is not None: + namespaceprefix_ = self.Receiver_nsprefix_ + ':' if (UseCapturedNS_ and self.Receiver_nsprefix_) else '' + self.Receiver.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Receiver', pretty_print=pretty_print) + if self.Incomplete is not None: + namespaceprefix_ = self.Incomplete_nsprefix_ + ':' if (UseCapturedNS_ and self.Incomplete_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sIncomplete>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Incomplete), input_name='Incomplete')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ShipmentKey': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'ShipmentKey') + value_ = self.gds_validate_string(value_, node, 'ShipmentKey') + self.ShipmentKey = value_ + self.ShipmentKey_nsprefix_ = child_.prefix + elif nodeName_ == 'isChanged': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'isChanged') + value_ = self.gds_validate_string(value_, node, 'isChanged') + self.isChanged = value_ + self.isChanged_nsprefix_ = child_.prefix + elif nodeName_ == 'Date': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Date') + value_ = self.gds_validate_string(value_, node, 'Date') + self.Date = value_ + self.Date_nsprefix_ = child_.prefix + elif nodeName_ == 'Template': + obj_ = TemplateType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Template = obj_ + obj_.original_tagname_ = 'Template' + elif nodeName_ == 'Receiver': + obj_ = ReceiverType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Receiver = obj_ + obj_.original_tagname_ = 'Receiver' + elif nodeName_ == 'Incomplete': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Incomplete') + value_ = self.gds_validate_string(value_, node, 'Incomplete') + self.Incomplete = value_ + self.Incomplete_nsprefix_ = child_.prefix +# end class ShipmentType + + +class TemplateType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TemplateName=None, TemplateUse=None, AmendTemplate=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TemplateName = TemplateName + self.TemplateName_nsprefix_ = None + self.TemplateUse = TemplateUse + self.TemplateUse_nsprefix_ = None + self.AmendTemplate = AmendTemplate + self.AmendTemplate_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TemplateType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TemplateType.subclass: + return TemplateType.subclass(*args_, **kwargs_) + else: + return TemplateType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TemplateName(self): + return self.TemplateName + def set_TemplateName(self, TemplateName): + self.TemplateName = TemplateName + def get_TemplateUse(self): + return self.TemplateUse + def set_TemplateUse(self, TemplateUse): + self.TemplateUse = TemplateUse + def get_AmendTemplate(self): + return self.AmendTemplate + def set_AmendTemplate(self, AmendTemplate): + self.AmendTemplate = AmendTemplate + def has__content(self): + if ( + self.TemplateName is not None or + self.TemplateUse is not None or + self.AmendTemplate is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TemplateType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TemplateType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TemplateType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TemplateType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TemplateType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TemplateType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='TemplateType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TemplateName is not None: + namespaceprefix_ = self.TemplateName_nsprefix_ + ':' if (UseCapturedNS_ and self.TemplateName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sTemplateName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TemplateName), input_name='TemplateName')), namespaceprefix_ , eol_)) + if self.TemplateUse is not None: + namespaceprefix_ = self.TemplateUse_nsprefix_ + ':' if (UseCapturedNS_ and self.TemplateUse_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sTemplateUse>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TemplateUse), input_name='TemplateUse')), namespaceprefix_ , eol_)) + if self.AmendTemplate is not None: + namespaceprefix_ = self.AmendTemplate_nsprefix_ + ':' if (UseCapturedNS_ and self.AmendTemplate_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sAmendTemplate>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AmendTemplate), input_name='AmendTemplate')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TemplateName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'TemplateName') + value_ = self.gds_validate_string(value_, node, 'TemplateName') + self.TemplateName = value_ + self.TemplateName_nsprefix_ = child_.prefix + elif nodeName_ == 'TemplateUse': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'TemplateUse') + value_ = self.gds_validate_string(value_, node, 'TemplateUse') + self.TemplateUse = value_ + self.TemplateUse_nsprefix_ = child_.prefix + elif nodeName_ == 'AmendTemplate': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'AmendTemplate') + value_ = self.gds_validate_string(value_, node, 'AmendTemplate') + self.AmendTemplate = value_ + self.AmendTemplate_nsprefix_ = child_.prefix +# end class TemplateType + + +class ReceiverType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Address=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Address = Address + self.Address_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, ReceiverType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if ReceiverType.subclass: + return ReceiverType.subclass(*args_, **kwargs_) + else: + return ReceiverType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Address(self): + return self.Address + def set_Address(self, Address): + self.Address = Address + def has__content(self): + if ( + self.Address is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ReceiverType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('ReceiverType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'ReceiverType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='ReceiverType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='ReceiverType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='ReceiverType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='ReceiverType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Address is not None: + namespaceprefix_ = self.Address_nsprefix_ + ':' if (UseCapturedNS_ and self.Address_nsprefix_) else '' + self.Address.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Address', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Address': + obj_ = AddressType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Address = obj_ + obj_.original_tagname_ = 'Address' +# end class ReceiverType + + +class AddressType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ShortName=None, CompanyName=None, ReceiverAccountNo=None, AddressLine1=None, AddressLine2=None, AddressLine3=None, TownId=None, Town=None, ProvinceState=None, Postcode=None, CountryID=None, ContactName=None, PhoneID1=None, PhoneID2=None, FaxID1=None, FaxID2=None, Email=None, PreAlert=None, AmendAddress=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ShortName = ShortName + self.ShortName_nsprefix_ = None + self.CompanyName = CompanyName + self.CompanyName_nsprefix_ = None + self.ReceiverAccountNo = ReceiverAccountNo + self.ReceiverAccountNo_nsprefix_ = None + self.AddressLine1 = AddressLine1 + self.AddressLine1_nsprefix_ = None + self.AddressLine2 = AddressLine2 + self.AddressLine2_nsprefix_ = None + self.AddressLine3 = AddressLine3 + self.AddressLine3_nsprefix_ = None + self.TownId = TownId + self.TownId_nsprefix_ = None + self.Town = Town + self.Town_nsprefix_ = None + self.ProvinceState = ProvinceState + self.ProvinceState_nsprefix_ = None + self.Postcode = Postcode + self.Postcode_nsprefix_ = None + self.CountryID = CountryID + self.CountryID_nsprefix_ = None + self.ContactName = ContactName + self.ContactName_nsprefix_ = None + self.PhoneID1 = PhoneID1 + self.PhoneID1_nsprefix_ = None + self.PhoneID2 = PhoneID2 + self.PhoneID2_nsprefix_ = None + self.FaxID1 = FaxID1 + self.FaxID1_nsprefix_ = None + self.FaxID2 = FaxID2 + self.FaxID2_nsprefix_ = None + self.Email = Email + self.Email_nsprefix_ = None + self.PreAlert = PreAlert + self.PreAlert_nsprefix_ = None + self.AmendAddress = AmendAddress + self.AmendAddress_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, AddressType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if AddressType.subclass: + return AddressType.subclass(*args_, **kwargs_) + else: + return AddressType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ShortName(self): + return self.ShortName + def set_ShortName(self, ShortName): + self.ShortName = ShortName + def get_CompanyName(self): + return self.CompanyName + def set_CompanyName(self, CompanyName): + self.CompanyName = CompanyName + def get_ReceiverAccountNo(self): + return self.ReceiverAccountNo + def set_ReceiverAccountNo(self, ReceiverAccountNo): + self.ReceiverAccountNo = ReceiverAccountNo + def get_AddressLine1(self): + return self.AddressLine1 + def set_AddressLine1(self, AddressLine1): + self.AddressLine1 = AddressLine1 + def get_AddressLine2(self): + return self.AddressLine2 + def set_AddressLine2(self, AddressLine2): + self.AddressLine2 = AddressLine2 + def get_AddressLine3(self): + return self.AddressLine3 + def set_AddressLine3(self, AddressLine3): + self.AddressLine3 = AddressLine3 + def get_TownId(self): + return self.TownId + def set_TownId(self, TownId): + self.TownId = TownId + def get_Town(self): + return self.Town + def set_Town(self, Town): + self.Town = Town + def get_ProvinceState(self): + return self.ProvinceState + def set_ProvinceState(self, ProvinceState): + self.ProvinceState = ProvinceState + def get_Postcode(self): + return self.Postcode + def set_Postcode(self, Postcode): + self.Postcode = Postcode + def get_CountryID(self): + return self.CountryID + def set_CountryID(self, CountryID): + self.CountryID = CountryID + def get_ContactName(self): + return self.ContactName + def set_ContactName(self, ContactName): + self.ContactName = ContactName + def get_PhoneID1(self): + return self.PhoneID1 + def set_PhoneID1(self, PhoneID1): + self.PhoneID1 = PhoneID1 + def get_PhoneID2(self): + return self.PhoneID2 + def set_PhoneID2(self, PhoneID2): + self.PhoneID2 = PhoneID2 + def get_FaxID1(self): + return self.FaxID1 + def set_FaxID1(self, FaxID1): + self.FaxID1 = FaxID1 + def get_FaxID2(self): + return self.FaxID2 + def set_FaxID2(self, FaxID2): + self.FaxID2 = FaxID2 + def get_Email(self): + return self.Email + def set_Email(self, Email): + self.Email = Email + def get_PreAlert(self): + return self.PreAlert + def set_PreAlert(self, PreAlert): + self.PreAlert = PreAlert + def get_AmendAddress(self): + return self.AmendAddress + def set_AmendAddress(self, AmendAddress): + self.AmendAddress = AmendAddress + def has__content(self): + if ( + self.ShortName is not None or + self.CompanyName is not None or + self.ReceiverAccountNo is not None or + self.AddressLine1 is not None or + self.AddressLine2 is not None or + self.AddressLine3 is not None or + self.TownId is not None or + self.Town is not None or + self.ProvinceState is not None or + self.Postcode is not None or + self.CountryID is not None or + self.ContactName is not None or + self.PhoneID1 is not None or + self.PhoneID2 is not None or + self.FaxID1 is not None or + self.FaxID2 is not None or + self.Email is not None or + self.PreAlert is not None or + self.AmendAddress is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AddressType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('AddressType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'AddressType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='AddressType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='AddressType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='AddressType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='AddressType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ShortName is not None: + namespaceprefix_ = self.ShortName_nsprefix_ + ':' if (UseCapturedNS_ and self.ShortName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sShortName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ShortName), input_name='ShortName')), namespaceprefix_ , eol_)) + if self.CompanyName is not None: + namespaceprefix_ = self.CompanyName_nsprefix_ + ':' if (UseCapturedNS_ and self.CompanyName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCompanyName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CompanyName), input_name='CompanyName')), namespaceprefix_ , eol_)) + if self.ReceiverAccountNo is not None: + namespaceprefix_ = self.ReceiverAccountNo_nsprefix_ + ':' if (UseCapturedNS_ and self.ReceiverAccountNo_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sReceiverAccountNo>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ReceiverAccountNo), input_name='ReceiverAccountNo')), namespaceprefix_ , eol_)) + if self.AddressLine1 is not None: + namespaceprefix_ = self.AddressLine1_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine1_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sAddressLine1>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine1), input_name='AddressLine1')), namespaceprefix_ , eol_)) + if self.AddressLine2 is not None: + namespaceprefix_ = self.AddressLine2_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine2_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sAddressLine2>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine2), input_name='AddressLine2')), namespaceprefix_ , eol_)) + if self.AddressLine3 is not None: + namespaceprefix_ = self.AddressLine3_nsprefix_ + ':' if (UseCapturedNS_ and self.AddressLine3_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sAddressLine3>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AddressLine3), input_name='AddressLine3')), namespaceprefix_ , eol_)) + if self.TownId is not None: + namespaceprefix_ = self.TownId_nsprefix_ + ':' if (UseCapturedNS_ and self.TownId_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sTownId>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TownId), input_name='TownId')), namespaceprefix_ , eol_)) + if self.Town is not None: + namespaceprefix_ = self.Town_nsprefix_ + ':' if (UseCapturedNS_ and self.Town_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sTown>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Town), input_name='Town')), namespaceprefix_ , eol_)) + if self.ProvinceState is not None: + namespaceprefix_ = self.ProvinceState_nsprefix_ + ':' if (UseCapturedNS_ and self.ProvinceState_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sProvinceState>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ProvinceState), input_name='ProvinceState')), namespaceprefix_ , eol_)) + if self.Postcode is not None: + namespaceprefix_ = self.Postcode_nsprefix_ + ':' if (UseCapturedNS_ and self.Postcode_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPostcode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Postcode), input_name='Postcode')), namespaceprefix_ , eol_)) + if self.CountryID is not None: + namespaceprefix_ = self.CountryID_nsprefix_ + ':' if (UseCapturedNS_ and self.CountryID_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCountryID>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CountryID), input_name='CountryID')), namespaceprefix_ , eol_)) + if self.ContactName is not None: + namespaceprefix_ = self.ContactName_nsprefix_ + ':' if (UseCapturedNS_ and self.ContactName_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sContactName>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ContactName), input_name='ContactName')), namespaceprefix_ , eol_)) + if self.PhoneID1 is not None: + namespaceprefix_ = self.PhoneID1_nsprefix_ + ':' if (UseCapturedNS_ and self.PhoneID1_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPhoneID1>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PhoneID1), input_name='PhoneID1')), namespaceprefix_ , eol_)) + if self.PhoneID2 is not None: + namespaceprefix_ = self.PhoneID2_nsprefix_ + ':' if (UseCapturedNS_ and self.PhoneID2_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPhoneID2>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PhoneID2), input_name='PhoneID2')), namespaceprefix_ , eol_)) + if self.FaxID1 is not None: + namespaceprefix_ = self.FaxID1_nsprefix_ + ':' if (UseCapturedNS_ and self.FaxID1_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sFaxID1>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.FaxID1), input_name='FaxID1')), namespaceprefix_ , eol_)) + if self.FaxID2 is not None: + namespaceprefix_ = self.FaxID2_nsprefix_ + ':' if (UseCapturedNS_ and self.FaxID2_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sFaxID2>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.FaxID2), input_name='FaxID2')), namespaceprefix_ , eol_)) + if self.Email is not None: + namespaceprefix_ = self.Email_nsprefix_ + ':' if (UseCapturedNS_ and self.Email_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sEmail>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Email), input_name='Email')), namespaceprefix_ , eol_)) + if self.PreAlert is not None: + namespaceprefix_ = self.PreAlert_nsprefix_ + ':' if (UseCapturedNS_ and self.PreAlert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPreAlert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PreAlert), input_name='PreAlert')), namespaceprefix_ , eol_)) + if self.AmendAddress is not None: + namespaceprefix_ = self.AmendAddress_nsprefix_ + ':' if (UseCapturedNS_ and self.AmendAddress_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sAmendAddress>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AmendAddress), input_name='AmendAddress')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ShortName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'ShortName') + value_ = self.gds_validate_string(value_, node, 'ShortName') + self.ShortName = value_ + self.ShortName_nsprefix_ = child_.prefix + elif nodeName_ == 'CompanyName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CompanyName') + value_ = self.gds_validate_string(value_, node, 'CompanyName') + self.CompanyName = value_ + self.CompanyName_nsprefix_ = child_.prefix + elif nodeName_ == 'ReceiverAccountNo': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'ReceiverAccountNo') + value_ = self.gds_validate_string(value_, node, 'ReceiverAccountNo') + self.ReceiverAccountNo = value_ + self.ReceiverAccountNo_nsprefix_ = child_.prefix + elif nodeName_ == 'AddressLine1': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'AddressLine1') + value_ = self.gds_validate_string(value_, node, 'AddressLine1') + self.AddressLine1 = value_ + self.AddressLine1_nsprefix_ = child_.prefix + elif nodeName_ == 'AddressLine2': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'AddressLine2') + value_ = self.gds_validate_string(value_, node, 'AddressLine2') + self.AddressLine2 = value_ + self.AddressLine2_nsprefix_ = child_.prefix + elif nodeName_ == 'AddressLine3': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'AddressLine3') + value_ = self.gds_validate_string(value_, node, 'AddressLine3') + self.AddressLine3 = value_ + self.AddressLine3_nsprefix_ = child_.prefix + elif nodeName_ == 'TownId': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'TownId') + value_ = self.gds_validate_string(value_, node, 'TownId') + self.TownId = value_ + self.TownId_nsprefix_ = child_.prefix + elif nodeName_ == 'Town': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Town') + value_ = self.gds_validate_string(value_, node, 'Town') + self.Town = value_ + self.Town_nsprefix_ = child_.prefix + elif nodeName_ == 'ProvinceState': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'ProvinceState') + value_ = self.gds_validate_string(value_, node, 'ProvinceState') + self.ProvinceState = value_ + self.ProvinceState_nsprefix_ = child_.prefix + elif nodeName_ == 'Postcode': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Postcode') + value_ = self.gds_validate_string(value_, node, 'Postcode') + self.Postcode = value_ + self.Postcode_nsprefix_ = child_.prefix + elif nodeName_ == 'CountryID': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CountryID') + value_ = self.gds_validate_string(value_, node, 'CountryID') + self.CountryID = value_ + self.CountryID_nsprefix_ = child_.prefix + elif nodeName_ == 'ContactName': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'ContactName') + value_ = self.gds_validate_string(value_, node, 'ContactName') + self.ContactName = value_ + self.ContactName_nsprefix_ = child_.prefix + elif nodeName_ == 'PhoneID1': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'PhoneID1') + value_ = self.gds_validate_string(value_, node, 'PhoneID1') + self.PhoneID1 = value_ + self.PhoneID1_nsprefix_ = child_.prefix + elif nodeName_ == 'PhoneID2': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'PhoneID2') + value_ = self.gds_validate_string(value_, node, 'PhoneID2') + self.PhoneID2 = value_ + self.PhoneID2_nsprefix_ = child_.prefix + elif nodeName_ == 'FaxID1': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'FaxID1') + value_ = self.gds_validate_string(value_, node, 'FaxID1') + self.FaxID1 = value_ + self.FaxID1_nsprefix_ = child_.prefix + elif nodeName_ == 'FaxID2': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'FaxID2') + value_ = self.gds_validate_string(value_, node, 'FaxID2') + self.FaxID2 = value_ + self.FaxID2_nsprefix_ = child_.prefix + elif nodeName_ == 'Email': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Email') + value_ = self.gds_validate_string(value_, node, 'Email') + self.Email = value_ + self.Email_nsprefix_ = child_.prefix + elif nodeName_ == 'PreAlert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'PreAlert') + value_ = self.gds_validate_string(value_, node, 'PreAlert') + self.PreAlert = value_ + self.PreAlert_nsprefix_ = child_.prefix + elif nodeName_ == 'AmendAddress': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'AmendAddress') + value_ = self.gds_validate_string(value_, node, 'AmendAddress') + self.AmendAddress = value_ + self.AmendAddress_nsprefix_ = child_.prefix +# end class AddressType + + +# +# End data representation classes. +# + + +GDSClassesMapping = { +} + + +USAGE_TEXT = """ +Usage: python .py [ -s ] +""" + + +def usage(): + print(USAGE_TEXT) + sys.exit(1) + + +def get_root_tag(node): + tag = Tag_pattern_.match(node.tag).groups()[-1] + prefix_tag = TagNamePrefix + tag + rootClass = GDSClassesMapping.get(prefix_tag) + if rootClass is None: + rootClass = globals().get(prefix_tag) + return tag, rootClass + + +def get_required_ns_prefix_defs(rootNode): + '''Get all name space prefix definitions required in this XML doc. + Return a dictionary of definitions and a char string of definitions. + ''' + nsmap = { + prefix: uri + for node in rootNode.iter() + for (prefix, uri) in node.nsmap.items() + if prefix is not None + } + namespacedefs = ' '.join([ + 'xmlns:{}="{}"'.format(prefix, uri) + for prefix, uri in nsmap.items() + ]) + return nsmap, namespacedefs + + +def parse(inFileName, silence=False, print_warnings=True): + global CapturedNsmap_ + gds_collector = GdsCollector_() + parser = None + doc = parsexml_(inFileName, parser) + rootNode = doc.getroot() + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'Document' + rootClass = Document + rootObj = rootClass.factory() + rootObj.build(rootNode, gds_collector_=gds_collector) + CapturedNsmap_, namespacedefs = get_required_ns_prefix_defs(rootNode) + if not SaveElementTreeNode: + doc = None + rootNode = None + if not silence: + sys.stdout.write('\n') + rootObj.export( + sys.stdout, 0, name_=rootTag, + namespacedef_=namespacedefs, + pretty_print=True) + if print_warnings and len(gds_collector.get_messages()) > 0: + separator = ('-' * 50) + '\n' + sys.stderr.write(separator) + sys.stderr.write('----- Warnings -- count: {} -----\n'.format( + len(gds_collector.get_messages()), )) + gds_collector.write_messages(sys.stderr) + sys.stderr.write(separator) + return rootObj + + +def parseEtree(inFileName, silence=False, print_warnings=True, + mapping=None, reverse_mapping=None, nsmap=None): + parser = None + doc = parsexml_(inFileName, parser) + gds_collector = GdsCollector_() + rootNode = doc.getroot() + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'Document' + rootClass = Document + rootObj = rootClass.factory() + rootObj.build(rootNode, gds_collector_=gds_collector) + if mapping is None: + mapping = {} + if reverse_mapping is None: + reverse_mapping = {} + rootElement = rootObj.to_etree( + None, name_=rootTag, mapping_=mapping, + reverse_mapping_=reverse_mapping, nsmap_=nsmap) + reverse_node_mapping = rootObj.gds_reverse_node_mapping(mapping) + # Enable Python to collect the space used by the DOM. + if not SaveElementTreeNode: + doc = None + rootNode = None + if not silence: + content = etree_.tostring( + rootElement, pretty_print=True, + xml_declaration=True, encoding="utf-8") + sys.stdout.write(str(content)) + sys.stdout.write('\n') + if print_warnings and len(gds_collector.get_messages()) > 0: + separator = ('-' * 50) + '\n' + sys.stderr.write(separator) + sys.stderr.write('----- Warnings -- count: {} -----\n'.format( + len(gds_collector.get_messages()), )) + gds_collector.write_messages(sys.stderr) + sys.stderr.write(separator) + return rootObj, rootElement, mapping, reverse_node_mapping + + +def parseString(inString, silence=False, print_warnings=True): + '''Parse a string, create the object tree, and export it. + + Arguments: + - inString -- A string. This XML fragment should not start + with an XML declaration containing an encoding. + - silence -- A boolean. If False, export the object. + Returns -- The root object in the tree. + ''' + parser = None + rootNode= parsexmlstring_(inString, parser) + gds_collector = GdsCollector_() + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'Document' + rootClass = Document + rootObj = rootClass.factory() + rootObj.build(rootNode, gds_collector_=gds_collector) + if not SaveElementTreeNode: + rootNode = None + if not silence: + sys.stdout.write('\n') + rootObj.export( + sys.stdout, 0, name_=rootTag, + namespacedef_='') + if print_warnings and len(gds_collector.get_messages()) > 0: + separator = ('-' * 50) + '\n' + sys.stderr.write(separator) + sys.stderr.write('----- Warnings -- count: {} -----\n'.format( + len(gds_collector.get_messages()), )) + gds_collector.write_messages(sys.stderr) + sys.stderr.write(separator) + return rootObj + + +def parseLiteral(inFileName, silence=False, print_warnings=True): + parser = None + doc = parsexml_(inFileName, parser) + gds_collector = GdsCollector_() + rootNode = doc.getroot() + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'Document' + rootClass = Document + rootObj = rootClass.factory() + rootObj.build(rootNode, gds_collector_=gds_collector) + # Enable Python to collect the space used by the DOM. + if not SaveElementTreeNode: + doc = None + rootNode = None + if not silence: + sys.stdout.write('#from rating import *\n\n') + sys.stdout.write('import rating as model_\n\n') + sys.stdout.write('rootObj = model_.rootClass(\n') + rootObj.exportLiteral(sys.stdout, 0, name_=rootTag) + sys.stdout.write(')\n') + if print_warnings and len(gds_collector.get_messages()) > 0: + separator = ('-' * 50) + '\n' + sys.stderr.write(separator) + sys.stderr.write('----- Warnings -- count: {} -----\n'.format( + len(gds_collector.get_messages()), )) + gds_collector.write_messages(sys.stderr) + sys.stderr.write(separator) + return rootObj + + +def main(): + args = sys.argv[1:] + if len(args) == 1: + parse(args[0]) + else: + usage() + + +if __name__ == '__main__': + #import pdb; pdb.set_trace() + main() + +RenameMappings_ = { +} + +# +# Mapping of namespaces to types defined in them +# and the file in which each is defined. +# simpleTypes are marked "ST" and complexTypes "CT". +NamespaceToDefMappings_ = {} + +__all__ = [ + "AddressType", + "CODType", + "CommonType", + "DetailsType", + "Document", + "DomesticType", + "EOMType", + "ItemsType", + "LoginType", + "OperationalOptionsType", + "PackageType", + "ReceiverType", + "ShipmentType", + "TemplateType" +] diff --git a/modules/connectors/tnt_it/karrio/schemas/tnt_it/routinglabel.py b/modules/connectors/tnt_it/karrio/schemas/tnt_it/routinglabel.py new file mode 100644 index 0000000000..abe7cd2678 --- /dev/null +++ b/modules/connectors/tnt_it/karrio/schemas/tnt_it/routinglabel.py @@ -0,0 +1,6421 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# +# Generated Sat Sep 21 11:02:43 2024 by generateDS.py version 2.44.1. +# Python 3.12.2 (main, May 6 2024, 11:46:13) [Clang 15.0.0 (clang-1500.3.9.4)] +# +# Command line options: +# ('--no-namespace-defs', '') +# ('-o', './karrio/schemas/tnt_it/routinglabel.py') +# +# Command line arguments: +# ./schemas/routinglabel.xsd +# +# Command line: +# /Users/danielkobina/Workspace/karrio/karrio/.venv/karrio/bin/generateDS --no-namespace-defs -o "./karrio/schemas/tnt_it/routinglabel.py" ./schemas/routinglabel.xsd +# +# Current working directory (os.getcwd()): +# tnt_it +# + +import sys +try: + ModulenotfoundExp_ = ModuleNotFoundError +except NameError: + ModulenotfoundExp_ = ImportError +from six.moves import zip_longest +import os +import re as re_ +import base64 +import datetime as datetime_ +import decimal as decimal_ +from lxml import etree as etree_ + + +Validate_simpletypes_ = True +SaveElementTreeNode = True +TagNamePrefix = "" +if sys.version_info.major == 2: + BaseStrType_ = basestring +else: + BaseStrType_ = str + + +def parsexml_(infile, parser=None, **kwargs): + if parser is None: + # Use the lxml ElementTree compatible parser so that, e.g., + # we ignore comments. + try: + parser = etree_.ETCompatXMLParser() + except AttributeError: + # fallback to xml.etree + parser = etree_.XMLParser() + try: + if isinstance(infile, os.PathLike): + infile = os.path.join(infile) + except AttributeError: + pass + doc = etree_.parse(infile, parser=parser, **kwargs) + return doc + +def parsexmlstring_(instring, parser=None, **kwargs): + if parser is None: + # Use the lxml ElementTree compatible parser so that, e.g., + # we ignore comments. + try: + parser = etree_.ETCompatXMLParser() + except AttributeError: + # fallback to xml.etree + parser = etree_.XMLParser() + element = etree_.fromstring(instring, parser=parser, **kwargs) + return element + +# +# Namespace prefix definition table (and other attributes, too) +# +# The module generatedsnamespaces, if it is importable, must contain +# a dictionary named GeneratedsNamespaceDefs. This Python dictionary +# should map element type names (strings) to XML schema namespace prefix +# definitions. The export method for any class for which there is +# a namespace prefix definition, will export that definition in the +# XML representation of that element. See the export method of +# any generated element type class for an example of the use of this +# table. +# A sample table is: +# +# # File: generatedsnamespaces.py +# +# GenerateDSNamespaceDefs = { +# "ElementtypeA": "http://www.xxx.com/namespaceA", +# "ElementtypeB": "http://www.xxx.com/namespaceB", +# } +# +# Additionally, the generatedsnamespaces module can contain a python +# dictionary named GenerateDSNamespaceTypePrefixes that associates element +# types with the namespace prefixes that are to be added to the +# "xsi:type" attribute value. See the _exportAttributes method of +# any generated element type and the generation of "xsi:type" for an +# example of the use of this table. +# An example table: +# +# # File: generatedsnamespaces.py +# +# GenerateDSNamespaceTypePrefixes = { +# "ElementtypeC": "aaa:", +# "ElementtypeD": "bbb:", +# } +# + +try: + from generatedsnamespaces import GenerateDSNamespaceDefs as GenerateDSNamespaceDefs_ +except ModulenotfoundExp_ : + GenerateDSNamespaceDefs_ = {} +try: + from generatedsnamespaces import GenerateDSNamespaceTypePrefixes as GenerateDSNamespaceTypePrefixes_ +except ModulenotfoundExp_ : + GenerateDSNamespaceTypePrefixes_ = {} + +# +# You can replace the following class definition by defining an +# importable module named "generatedscollector" containing a class +# named "GdsCollector". See the default class definition below for +# clues about the possible content of that class. +# +try: + from generatedscollector import GdsCollector as GdsCollector_ +except ModulenotfoundExp_ : + + class GdsCollector_(object): + + def __init__(self, messages=None): + if messages is None: + self.messages = [] + else: + self.messages = messages + + def add_message(self, msg): + self.messages.append(msg) + + def get_messages(self): + return self.messages + + def clear_messages(self): + self.messages = [] + + def print_messages(self): + for msg in self.messages: + print("Warning: {}".format(msg)) + + def write_messages(self, outstream): + for msg in self.messages: + outstream.write("Warning: {}\n".format(msg)) + + +# +# The super-class for enum types +# + +try: + from enum import Enum +except ModulenotfoundExp_ : + Enum = object + +# +# The root super-class for element type classes +# +# Calls to the methods in these classes are generated by generateDS.py. +# You can replace these methods by re-implementing the following class +# in a module named generatedssuper.py. + +try: + from generatedssuper import GeneratedsSuper +except ModulenotfoundExp_ as exp: + try: + from generatedssupersuper import GeneratedsSuperSuper + except ModulenotfoundExp_ as exp: + class GeneratedsSuperSuper(object): + pass + + class GeneratedsSuper(GeneratedsSuperSuper): + __hash__ = object.__hash__ + tzoff_pattern = re_.compile('(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)$') + class _FixedOffsetTZ(datetime_.tzinfo): + def __init__(self, offset, name): + self.__offset = datetime_.timedelta(minutes=offset) + self.__name = name + def utcoffset(self, dt): + return self.__offset + def tzname(self, dt): + return self.__name + def dst(self, dt): + return None + def __str__(self): + settings = { + 'str_pretty_print': True, + 'str_indent_level': 0, + 'str_namespaceprefix': '', + 'str_name': self.__class__.__name__, + 'str_namespacedefs': '', + } + for n in settings: + if hasattr(self, n): + settings[n] = getattr(self, n) + if sys.version_info.major == 2: + from StringIO import StringIO + else: + from io import StringIO + output = StringIO() + self.export( + output, + settings['str_indent_level'], + pretty_print=settings['str_pretty_print'], + namespaceprefix_=settings['str_namespaceprefix'], + name_=settings['str_name'], + namespacedef_=settings['str_namespacedefs'] + ) + strval = output.getvalue() + output.close() + return strval + def gds_format_string(self, input_data, input_name=''): + return input_data + def gds_parse_string(self, input_data, node=None, input_name=''): + return input_data + def gds_validate_string(self, input_data, node=None, input_name=''): + if not input_data: + return '' + else: + return input_data + def gds_format_base64(self, input_data, input_name=''): + return base64.b64encode(input_data).decode('ascii') + def gds_validate_base64(self, input_data, node=None, input_name=''): + return input_data + def gds_format_integer(self, input_data, input_name=''): + return '%d' % int(input_data) + def gds_parse_integer(self, input_data, node=None, input_name=''): + try: + ival = int(input_data) + except (TypeError, ValueError) as exp: + raise_parse_error(node, 'Requires integer value: %s' % exp) + return ival + def gds_validate_integer(self, input_data, node=None, input_name=''): + try: + value = int(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires integer value') + return value + def gds_format_integer_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return '%s' % ' '.join(input_data) + def gds_validate_integer_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + try: + int(value) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires sequence of integer values') + return values + def gds_format_float(self, input_data, input_name=''): + value = ('%.15f' % float(input_data)).rstrip('0') + if value.endswith('.'): + value += '0' + return value + + def gds_parse_float(self, input_data, node=None, input_name=''): + try: + fval_ = float(input_data) + except (TypeError, ValueError) as exp: + raise_parse_error(node, 'Requires float or double value: %s' % exp) + return fval_ + def gds_validate_float(self, input_data, node=None, input_name=''): + try: + value = float(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires float value') + return value + def gds_format_float_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return '%s' % ' '.join(input_data) + def gds_validate_float_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + try: + float(value) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires sequence of float values') + return values + def gds_format_decimal(self, input_data, input_name=''): + return_value = '%s' % input_data + if '.' in return_value: + return_value = return_value.rstrip('0') + if return_value.endswith('.'): + return_value = return_value.rstrip('.') + return return_value + def gds_parse_decimal(self, input_data, node=None, input_name=''): + try: + decimal_value = decimal_.Decimal(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires decimal value') + return decimal_value + def gds_validate_decimal(self, input_data, node=None, input_name=''): + try: + value = decimal_.Decimal(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires decimal value') + return value + def gds_format_decimal_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return ' '.join([self.gds_format_decimal(item) for item in input_data]) + def gds_validate_decimal_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + try: + decimal_.Decimal(value) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires sequence of decimal values') + return values + def gds_format_double(self, input_data, input_name=''): + return '%s' % input_data + def gds_parse_double(self, input_data, node=None, input_name=''): + try: + fval_ = float(input_data) + except (TypeError, ValueError) as exp: + raise_parse_error(node, 'Requires double or float value: %s' % exp) + return fval_ + def gds_validate_double(self, input_data, node=None, input_name=''): + try: + value = float(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires double or float value') + return value + def gds_format_double_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return '%s' % ' '.join(input_data) + def gds_validate_double_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + try: + float(value) + except (TypeError, ValueError): + raise_parse_error( + node, 'Requires sequence of double or float values') + return values + def gds_format_boolean(self, input_data, input_name=''): + return ('%s' % input_data).lower() + def gds_parse_boolean(self, input_data, node=None, input_name=''): + input_data = input_data.strip() + if input_data in ('true', '1'): + bval = True + elif input_data in ('false', '0'): + bval = False + else: + raise_parse_error(node, 'Requires boolean value') + return bval + def gds_validate_boolean(self, input_data, node=None, input_name=''): + if input_data not in (True, 1, False, 0, ): + raise_parse_error( + node, + 'Requires boolean value ' + '(one of True, 1, False, 0)') + return input_data + def gds_format_boolean_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return '%s' % ' '.join(input_data) + def gds_validate_boolean_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + value = self.gds_parse_boolean(value, node, input_name) + if value not in (True, 1, False, 0, ): + raise_parse_error( + node, + 'Requires sequence of boolean values ' + '(one of True, 1, False, 0)') + return values + def gds_validate_datetime(self, input_data, node=None, input_name=''): + return input_data + def gds_format_datetime(self, input_data, input_name=''): + if input_data.microsecond == 0: + _svalue = '%04d-%02d-%02dT%02d:%02d:%02d' % ( + input_data.year, + input_data.month, + input_data.day, + input_data.hour, + input_data.minute, + input_data.second, + ) + else: + _svalue = '%04d-%02d-%02dT%02d:%02d:%02d.%s' % ( + input_data.year, + input_data.month, + input_data.day, + input_data.hour, + input_data.minute, + input_data.second, + ('%f' % (float(input_data.microsecond) / 1000000))[2:], + ) + if input_data.tzinfo is not None: + tzoff = input_data.tzinfo.utcoffset(input_data) + if tzoff is not None: + total_seconds = tzoff.seconds + (86400 * tzoff.days) + if total_seconds == 0: + _svalue += 'Z' + else: + if total_seconds < 0: + _svalue += '-' + total_seconds *= -1 + else: + _svalue += '+' + hours = total_seconds // 3600 + minutes = (total_seconds - (hours * 3600)) // 60 + _svalue += '{0:02d}:{1:02d}'.format(hours, minutes) + return _svalue + @classmethod + def gds_parse_datetime(cls, input_data): + tz = None + if input_data[-1] == 'Z': + tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC') + input_data = input_data[:-1] + else: + results = GeneratedsSuper.tzoff_pattern.search(input_data) + if results is not None: + tzoff_parts = results.group(2).split(':') + tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1]) + if results.group(1) == '-': + tzoff *= -1 + tz = GeneratedsSuper._FixedOffsetTZ( + tzoff, results.group(0)) + input_data = input_data[:-6] + time_parts = input_data.split('.') + if len(time_parts) > 1: + micro_seconds = int(float('0.' + time_parts[1]) * 1000000) + input_data = '%s.%s' % ( + time_parts[0], "{}".format(micro_seconds).rjust(6, "0"), ) + dt = datetime_.datetime.strptime( + input_data, '%Y-%m-%dT%H:%M:%S.%f') + else: + dt = datetime_.datetime.strptime( + input_data, '%Y-%m-%dT%H:%M:%S') + dt = dt.replace(tzinfo=tz) + return dt + def gds_validate_date(self, input_data, node=None, input_name=''): + return input_data + def gds_format_date(self, input_data, input_name=''): + _svalue = '%04d-%02d-%02d' % ( + input_data.year, + input_data.month, + input_data.day, + ) + try: + if input_data.tzinfo is not None: + tzoff = input_data.tzinfo.utcoffset(input_data) + if tzoff is not None: + total_seconds = tzoff.seconds + (86400 * tzoff.days) + if total_seconds == 0: + _svalue += 'Z' + else: + if total_seconds < 0: + _svalue += '-' + total_seconds *= -1 + else: + _svalue += '+' + hours = total_seconds // 3600 + minutes = (total_seconds - (hours * 3600)) // 60 + _svalue += '{0:02d}:{1:02d}'.format( + hours, minutes) + except AttributeError: + pass + return _svalue + @classmethod + def gds_parse_date(cls, input_data): + tz = None + if input_data[-1] == 'Z': + tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC') + input_data = input_data[:-1] + else: + results = GeneratedsSuper.tzoff_pattern.search(input_data) + if results is not None: + tzoff_parts = results.group(2).split(':') + tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1]) + if results.group(1) == '-': + tzoff *= -1 + tz = GeneratedsSuper._FixedOffsetTZ( + tzoff, results.group(0)) + input_data = input_data[:-6] + dt = datetime_.datetime.strptime(input_data, '%Y-%m-%d') + dt = dt.replace(tzinfo=tz) + return dt.date() + def gds_validate_time(self, input_data, node=None, input_name=''): + return input_data + def gds_format_time(self, input_data, input_name=''): + if input_data.microsecond == 0: + _svalue = '%02d:%02d:%02d' % ( + input_data.hour, + input_data.minute, + input_data.second, + ) + else: + _svalue = '%02d:%02d:%02d.%s' % ( + input_data.hour, + input_data.minute, + input_data.second, + ('%f' % (float(input_data.microsecond) / 1000000))[2:], + ) + if input_data.tzinfo is not None: + tzoff = input_data.tzinfo.utcoffset(input_data) + if tzoff is not None: + total_seconds = tzoff.seconds + (86400 * tzoff.days) + if total_seconds == 0: + _svalue += 'Z' + else: + if total_seconds < 0: + _svalue += '-' + total_seconds *= -1 + else: + _svalue += '+' + hours = total_seconds // 3600 + minutes = (total_seconds - (hours * 3600)) // 60 + _svalue += '{0:02d}:{1:02d}'.format(hours, minutes) + return _svalue + def gds_validate_simple_patterns(self, patterns, target): + # pat is a list of lists of strings/patterns. + # The target value must match at least one of the patterns + # in order for the test to succeed. + found1 = True + target = str(target) + for patterns1 in patterns: + found2 = False + for patterns2 in patterns1: + mo = re_.search(patterns2, target) + if mo is not None and len(mo.group(0)) == len(target): + found2 = True + break + if not found2: + found1 = False + break + return found1 + @classmethod + def gds_parse_time(cls, input_data): + tz = None + if input_data[-1] == 'Z': + tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC') + input_data = input_data[:-1] + else: + results = GeneratedsSuper.tzoff_pattern.search(input_data) + if results is not None: + tzoff_parts = results.group(2).split(':') + tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1]) + if results.group(1) == '-': + tzoff *= -1 + tz = GeneratedsSuper._FixedOffsetTZ( + tzoff, results.group(0)) + input_data = input_data[:-6] + if len(input_data.split('.')) > 1: + dt = datetime_.datetime.strptime(input_data, '%H:%M:%S.%f') + else: + dt = datetime_.datetime.strptime(input_data, '%H:%M:%S') + dt = dt.replace(tzinfo=tz) + return dt.time() + def gds_check_cardinality_( + self, value, input_name, + min_occurs=0, max_occurs=1, required=None): + if value is None: + length = 0 + elif isinstance(value, list): + length = len(value) + else: + length = 1 + if required is not None : + if required and length < 1: + self.gds_collector_.add_message( + "Required value {}{} is missing".format( + input_name, self.gds_get_node_lineno_())) + if length < min_occurs: + self.gds_collector_.add_message( + "Number of values for {}{} is below " + "the minimum allowed, " + "expected at least {}, found {}".format( + input_name, self.gds_get_node_lineno_(), + min_occurs, length)) + elif length > max_occurs: + self.gds_collector_.add_message( + "Number of values for {}{} is above " + "the maximum allowed, " + "expected at most {}, found {}".format( + input_name, self.gds_get_node_lineno_(), + max_occurs, length)) + def gds_validate_builtin_ST_( + self, validator, value, input_name, + min_occurs=None, max_occurs=None, required=None): + if value is not None: + try: + validator(value, input_name=input_name) + except GDSParseError as parse_error: + self.gds_collector_.add_message(str(parse_error)) + def gds_validate_defined_ST_( + self, validator, value, input_name, + min_occurs=None, max_occurs=None, required=None): + if value is not None: + try: + validator(value) + except GDSParseError as parse_error: + self.gds_collector_.add_message(str(parse_error)) + def gds_str_lower(self, instring): + return instring.lower() + def get_path_(self, node): + path_list = [] + self.get_path_list_(node, path_list) + path_list.reverse() + path = '/'.join(path_list) + return path + Tag_strip_pattern_ = re_.compile(r'{.*}') + def get_path_list_(self, node, path_list): + if node is None: + return + tag = GeneratedsSuper.Tag_strip_pattern_.sub('', node.tag) + if tag: + path_list.append(tag) + self.get_path_list_(node.getparent(), path_list) + def get_class_obj_(self, node, default_class=None): + class_obj1 = default_class + if 'xsi' in node.nsmap: + classname = node.get('{%s}type' % node.nsmap['xsi']) + if classname is not None: + names = classname.split(':') + if len(names) == 2: + classname = names[1] + class_obj2 = globals().get(classname) + if class_obj2 is not None: + class_obj1 = class_obj2 + return class_obj1 + def gds_build_any(self, node, type_name=None): + # provide default value in case option --disable-xml is used. + content = "" + content = etree_.tostring(node, encoding="unicode") + return content + @classmethod + def gds_reverse_node_mapping(cls, mapping): + return dict(((v, k) for k, v in mapping.items())) + @staticmethod + def gds_encode(instring): + if sys.version_info.major == 2: + if ExternalEncoding: + encoding = ExternalEncoding + else: + encoding = 'utf-8' + return instring.encode(encoding) + else: + return instring + @staticmethod + def convert_unicode(instring): + if isinstance(instring, str): + result = quote_xml(instring) + elif sys.version_info.major == 2 and isinstance(instring, unicode): + result = quote_xml(instring).encode('utf8') + else: + result = GeneratedsSuper.gds_encode(str(instring)) + return result + def __eq__(self, other): + def excl_select_objs_(obj): + return (obj[0] != 'parent_object_' and + obj[0] != 'gds_collector_') + if type(self) != type(other): + return False + return all(x == y for x, y in zip_longest( + filter(excl_select_objs_, self.__dict__.items()), + filter(excl_select_objs_, other.__dict__.items()))) + def __ne__(self, other): + return not self.__eq__(other) + # Django ETL transform hooks. + def gds_djo_etl_transform(self): + pass + def gds_djo_etl_transform_db_obj(self, dbobj): + pass + # SQLAlchemy ETL transform hooks. + def gds_sqa_etl_transform(self): + return 0, None + def gds_sqa_etl_transform_db_obj(self, dbobj): + pass + def gds_get_node_lineno_(self): + if (hasattr(self, "gds_elementtree_node_") and + self.gds_elementtree_node_ is not None): + return ' near line {}'.format( + self.gds_elementtree_node_.sourceline) + else: + return "" + + + def getSubclassFromModule_(module, class_): + '''Get the subclass of a class from a specific module.''' + name = class_.__name__ + 'Sub' + if hasattr(module, name): + return getattr(module, name) + else: + return None + + +# +# If you have installed IPython you can uncomment and use the following. +# IPython is available from http://ipython.scipy.org/. +# + +## from IPython.Shell import IPShellEmbed +## args = '' +## ipshell = IPShellEmbed(args, +## banner = 'Dropping into IPython', +## exit_msg = 'Leaving Interpreter, back to program.') + +# Then use the following line where and when you want to drop into the +# IPython shell: +# ipshell(' -- Entering ipshell.\nHit Ctrl-D to exit') + +# +# Globals +# + +ExternalEncoding = '' +# Set this to false in order to deactivate during export, the use of +# name space prefixes captured from the input document. +UseCapturedNS_ = True +CapturedNsmap_ = {} +Tag_pattern_ = re_.compile(r'({.*})?(.*)') +String_cleanup_pat_ = re_.compile(r"[\n\r\s]+") +Namespace_extract_pat_ = re_.compile(r'{(.*)}(.*)') +CDATA_pattern_ = re_.compile(r"", re_.DOTALL) + +# Change this to redirect the generated superclass module to use a +# specific subclass module. +CurrentSubclassModule_ = None + +# +# Support/utility functions. +# + + +def showIndent(outfile, level, pretty_print=True): + if pretty_print: + for idx in range(level): + outfile.write(' ') + + +def quote_xml(inStr): + "Escape markup chars, but do not modify CDATA sections." + if not inStr: + return '' + s1 = (isinstance(inStr, BaseStrType_) and inStr or '%s' % inStr) + s2 = '' + pos = 0 + matchobjects = CDATA_pattern_.finditer(s1) + for mo in matchobjects: + s3 = s1[pos:mo.start()] + s2 += quote_xml_aux(s3) + s2 += s1[mo.start():mo.end()] + pos = mo.end() + s3 = s1[pos:] + s2 += quote_xml_aux(s3) + return s2 + + +def quote_xml_aux(inStr): + s1 = inStr.replace('&', '&') + s1 = s1.replace('<', '<') + s1 = s1.replace('>', '>') + return s1 + + +def quote_attrib(inStr): + s1 = (isinstance(inStr, BaseStrType_) and inStr or '%s' % inStr) + s1 = s1.replace('&', '&') + s1 = s1.replace('<', '<') + s1 = s1.replace('>', '>') + s1 = s1.replace('\n', ' ') + if '"' in s1: + if "'" in s1: + s1 = '"%s"' % s1.replace('"', """) + else: + s1 = "'%s'" % s1 + else: + s1 = '"%s"' % s1 + return s1 + + +def quote_python(inStr): + s1 = inStr + if s1.find("'") == -1: + if s1.find('\n') == -1: + return "'%s'" % s1 + else: + return "'''%s'''" % s1 + else: + if s1.find('"') != -1: + s1 = s1.replace('"', '\\"') + if s1.find('\n') == -1: + return '"%s"' % s1 + else: + return '"""%s"""' % s1 + + +def get_all_text_(node): + if node.text is not None: + text = node.text + else: + text = '' + for child in node: + if child.tail is not None: + text += child.tail + return text + + +def find_attr_value_(attr_name, node): + attrs = node.attrib + attr_parts = attr_name.split(':') + value = None + if len(attr_parts) == 1: + value = attrs.get(attr_name) + elif len(attr_parts) == 2: + prefix, name = attr_parts + if prefix == 'xml': + namespace = 'http://www.w3.org/XML/1998/namespace' + else: + namespace = node.nsmap.get(prefix) + if namespace is not None: + value = attrs.get('{%s}%s' % (namespace, name, )) + return value + + +def encode_str_2_3(instr): + return instr + + +class GDSParseError(Exception): + pass + + +def raise_parse_error(node, msg): + if node is not None: + msg = '%s (element %s/line %d)' % (msg, node.tag, node.sourceline, ) + raise GDSParseError(msg) + + +class MixedContainer: + # Constants for category: + CategoryNone = 0 + CategoryText = 1 + CategorySimple = 2 + CategoryComplex = 3 + # Constants for content_type: + TypeNone = 0 + TypeText = 1 + TypeString = 2 + TypeInteger = 3 + TypeFloat = 4 + TypeDecimal = 5 + TypeDouble = 6 + TypeBoolean = 7 + TypeBase64 = 8 + def __init__(self, category, content_type, name, value): + self.category = category + self.content_type = content_type + self.name = name + self.value = value + def getCategory(self): + return self.category + def getContenttype(self, content_type): + return self.content_type + def getValue(self): + return self.value + def getName(self): + return self.name + def export(self, outfile, level, name, namespace, + pretty_print=True): + if self.category == MixedContainer.CategoryText: + # Prevent exporting empty content as empty lines. + if self.value.strip(): + outfile.write(self.value) + elif self.category == MixedContainer.CategorySimple: + self.exportSimple(outfile, level, name) + else: # category == MixedContainer.CategoryComplex + self.value.export( + outfile, level, namespace, name_=name, + pretty_print=pretty_print) + def exportSimple(self, outfile, level, name): + if self.content_type == MixedContainer.TypeString: + outfile.write('<%s>%s' % ( + self.name, self.value, self.name)) + elif self.content_type == MixedContainer.TypeInteger or \ + self.content_type == MixedContainer.TypeBoolean: + outfile.write('<%s>%d' % ( + self.name, self.value, self.name)) + elif self.content_type == MixedContainer.TypeFloat or \ + self.content_type == MixedContainer.TypeDecimal: + outfile.write('<%s>%f' % ( + self.name, self.value, self.name)) + elif self.content_type == MixedContainer.TypeDouble: + outfile.write('<%s>%g' % ( + self.name, self.value, self.name)) + elif self.content_type == MixedContainer.TypeBase64: + outfile.write('<%s>%s' % ( + self.name, + base64.b64encode(self.value), + self.name)) + def to_etree(self, element, mapping_=None, reverse_mapping_=None, nsmap_=None): + if self.category == MixedContainer.CategoryText: + # Prevent exporting empty content as empty lines. + if self.value.strip(): + if len(element) > 0: + if element[-1].tail is None: + element[-1].tail = self.value + else: + element[-1].tail += self.value + else: + if element.text is None: + element.text = self.value + else: + element.text += self.value + elif self.category == MixedContainer.CategorySimple: + subelement = etree_.SubElement( + element, '%s' % self.name) + subelement.text = self.to_etree_simple() + else: # category == MixedContainer.CategoryComplex + self.value.to_etree(element) + def to_etree_simple(self, mapping_=None, reverse_mapping_=None, nsmap_=None): + if self.content_type == MixedContainer.TypeString: + text = self.value + elif (self.content_type == MixedContainer.TypeInteger or + self.content_type == MixedContainer.TypeBoolean): + text = '%d' % self.value + elif (self.content_type == MixedContainer.TypeFloat or + self.content_type == MixedContainer.TypeDecimal): + text = '%f' % self.value + elif self.content_type == MixedContainer.TypeDouble: + text = '%g' % self.value + elif self.content_type == MixedContainer.TypeBase64: + text = '%s' % base64.b64encode(self.value) + return text + def exportLiteral(self, outfile, level, name): + if self.category == MixedContainer.CategoryText: + showIndent(outfile, level) + outfile.write( + 'model_.MixedContainer(%d, %d, "%s", "%s"),\n' % ( + self.category, self.content_type, + self.name, self.value)) + elif self.category == MixedContainer.CategorySimple: + showIndent(outfile, level) + outfile.write( + 'model_.MixedContainer(%d, %d, "%s", "%s"),\n' % ( + self.category, self.content_type, + self.name, self.value)) + else: # category == MixedContainer.CategoryComplex + showIndent(outfile, level) + outfile.write( + 'model_.MixedContainer(%d, %d, "%s",\n' % ( + self.category, self.content_type, self.name,)) + self.value.exportLiteral(outfile, level + 1) + showIndent(outfile, level) + outfile.write(')\n') + + +class MemberSpec_(object): + def __init__(self, name='', data_type='', container=0, + optional=0, child_attrs=None, choice=None): + self.name = name + self.data_type = data_type + self.container = container + self.child_attrs = child_attrs + self.choice = choice + self.optional = optional + def set_name(self, name): self.name = name + def get_name(self): return self.name + def set_data_type(self, data_type): self.data_type = data_type + def get_data_type_chain(self): return self.data_type + def get_data_type(self): + if isinstance(self.data_type, list): + if len(self.data_type) > 0: + return self.data_type[-1] + else: + return 'xs:string' + else: + return self.data_type + def set_container(self, container): self.container = container + def get_container(self): return self.container + def set_child_attrs(self, child_attrs): self.child_attrs = child_attrs + def get_child_attrs(self): return self.child_attrs + def set_choice(self, choice): self.choice = choice + def get_choice(self): return self.choice + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional + + +def _cast(typ, value): + if typ is None or value is None: + return value + return typ(value) + + +# +# Start enum classes +# +# +# Start data representation classes +# +class shipment(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, software=None, security=None, labelType=None, labeltype=None, FullPageLabel=None, consignment=None, hazardous=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.software = software + self.software_nsprefix_ = None + self.security = security + self.security_nsprefix_ = None + self.labelType = labelType + self.validate_labelTypeType(self.labelType) + self.labelType_nsprefix_ = None + self.labeltype = labeltype + self.validate_labeltypeType(self.labeltype) + self.labeltype_nsprefix_ = None + self.FullPageLabel = FullPageLabel + self.validate_FullPageLabelType(self.FullPageLabel) + self.FullPageLabel_nsprefix_ = None + if consignment is None: + self.consignment = [] + else: + self.consignment = consignment + self.consignment_nsprefix_ = None + self.hazardous = hazardous + self.validate_hazardousType18(self.hazardous) + self.hazardous_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, shipment) + if subclass is not None: + return subclass(*args_, **kwargs_) + if shipment.subclass: + return shipment.subclass(*args_, **kwargs_) + else: + return shipment(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_software(self): + return self.software + def set_software(self, software): + self.software = software + def get_security(self): + return self.security + def set_security(self, security): + self.security = security + def get_labelType(self): + return self.labelType + def set_labelType(self, labelType): + self.labelType = labelType + def get_labeltype(self): + return self.labeltype + def set_labeltype(self, labeltype): + self.labeltype = labeltype + def get_FullPageLabel(self): + return self.FullPageLabel + def set_FullPageLabel(self, FullPageLabel): + self.FullPageLabel = FullPageLabel + def get_consignment(self): + return self.consignment + def set_consignment(self, consignment): + self.consignment = consignment + def add_consignment(self, value): + self.consignment.append(value) + def insert_consignment_at(self, index, value): + self.consignment.insert(index, value) + def replace_consignment_at(self, index, value): + self.consignment[index] = value + def get_hazardous(self): + return self.hazardous + def set_hazardous(self, hazardous): + self.hazardous = hazardous + def validate_labelTypeType(self, value): + result = True + # Validate type labelTypeType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 4: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on labelTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_labeltypeType(self, value): + result = True + # Validate type labeltypeType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 4: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on labeltypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_FullPageLabelType(self, value): + result = True + # Validate type FullPageLabelType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 15: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on FullPageLabelType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_hazardousType18(self, value): + result = True + # Validate type hazardousType18, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 5: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on hazardousType18' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on hazardousType18' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.software is not None or + self.security is not None or + self.labelType is not None or + self.labeltype is not None or + self.FullPageLabel is not None or + self.consignment or + self.hazardous is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='shipment', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('shipment') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'shipment': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='shipment') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='shipment', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='shipment'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='shipment', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.software is not None: + namespaceprefix_ = self.software_nsprefix_ + ':' if (UseCapturedNS_ and self.software_nsprefix_) else '' + self.software.export(outfile, level, namespaceprefix_, namespacedef_='', name_='software', pretty_print=pretty_print) + if self.security is not None: + namespaceprefix_ = self.security_nsprefix_ + ':' if (UseCapturedNS_ and self.security_nsprefix_) else '' + self.security.export(outfile, level, namespaceprefix_, namespacedef_='', name_='security', pretty_print=pretty_print) + if self.labelType is not None: + namespaceprefix_ = self.labelType_nsprefix_ + ':' if (UseCapturedNS_ and self.labelType_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%slabelType>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.labelType), input_name='labelType')), namespaceprefix_ , eol_)) + if self.labeltype is not None: + namespaceprefix_ = self.labeltype_nsprefix_ + ':' if (UseCapturedNS_ and self.labeltype_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%slabeltype>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.labeltype), input_name='labeltype')), namespaceprefix_ , eol_)) + if self.FullPageLabel is not None: + namespaceprefix_ = self.FullPageLabel_nsprefix_ + ':' if (UseCapturedNS_ and self.FullPageLabel_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sFullPageLabel>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.FullPageLabel), input_name='FullPageLabel')), namespaceprefix_ , eol_)) + for consignment_ in self.consignment: + namespaceprefix_ = self.consignment_nsprefix_ + ':' if (UseCapturedNS_ and self.consignment_nsprefix_) else '' + consignment_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='consignment', pretty_print=pretty_print) + if self.hazardous is not None: + namespaceprefix_ = self.hazardous_nsprefix_ + ':' if (UseCapturedNS_ and self.hazardous_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%shazardous>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.hazardous), input_name='hazardous')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'software': + obj_ = softwareType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.software = obj_ + obj_.original_tagname_ = 'software' + elif nodeName_ == 'security': + obj_ = securityType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.security = obj_ + obj_.original_tagname_ = 'security' + elif nodeName_ == 'labelType': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'labelType') + value_ = self.gds_validate_string(value_, node, 'labelType') + self.labelType = value_ + self.labelType_nsprefix_ = child_.prefix + # validate type labelTypeType + self.validate_labelTypeType(self.labelType) + elif nodeName_ == 'labeltype': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'labeltype') + value_ = self.gds_validate_string(value_, node, 'labeltype') + self.labeltype = value_ + self.labeltype_nsprefix_ = child_.prefix + # validate type labeltypeType + self.validate_labeltypeType(self.labeltype) + elif nodeName_ == 'FullPageLabel': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'FullPageLabel') + value_ = self.gds_validate_string(value_, node, 'FullPageLabel') + self.FullPageLabel = value_ + self.FullPageLabel_nsprefix_ = child_.prefix + # validate type FullPageLabelType + self.validate_FullPageLabelType(self.FullPageLabel) + elif nodeName_ == 'consignment': + obj_ = consignmentType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.consignment.append(obj_) + obj_.original_tagname_ = 'consignment' + elif nodeName_ == 'hazardous': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'hazardous') + value_ = self.gds_validate_string(value_, node, 'hazardous') + self.hazardous = value_ + self.hazardous_nsprefix_ = child_.prefix + # validate type hazardousType18 + self.validate_hazardousType18(self.hazardous) +# end class shipment + + +class softwareType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, application=None, version=None, versione=None, function=None, langId=None, langid=None, TNTUser=None, CITUser=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.application = application + self.validate_applicationType(self.application) + self.application_nsprefix_ = None + self.version = version + self.validate_versionType(self.version) + self.version_nsprefix_ = None + self.versione = versione + self.validate_versioneType(self.versione) + self.versione_nsprefix_ = None + self.function = function + self.validate_functionType(self.function) + self.function_nsprefix_ = None + self.langId = langId + self.validate_langIdType(self.langId) + self.langId_nsprefix_ = None + self.langid = langid + self.validate_langidType(self.langid) + self.langid_nsprefix_ = None + self.TNTUser = TNTUser + self.validate_TNTUserType(self.TNTUser) + self.TNTUser_nsprefix_ = None + self.CITUser = CITUser + self.validate_CITUserType(self.CITUser) + self.CITUser_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, softwareType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if softwareType.subclass: + return softwareType.subclass(*args_, **kwargs_) + else: + return softwareType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_application(self): + return self.application + def set_application(self, application): + self.application = application + def get_version(self): + return self.version + def set_version(self, version): + self.version = version + def get_versione(self): + return self.versione + def set_versione(self, versione): + self.versione = versione + def get_function(self): + return self.function + def set_function(self, function): + self.function = function + def get_langId(self): + return self.langId + def set_langId(self, langId): + self.langId = langId + def get_langid(self): + return self.langid + def set_langid(self, langid): + self.langid = langid + def get_TNTUser(self): + return self.TNTUser + def set_TNTUser(self, TNTUser): + self.TNTUser = TNTUser + def get_CITUser(self): + return self.CITUser + def set_CITUser(self, CITUser): + self.CITUser = CITUser + def validate_applicationType(self, value): + result = True + # Validate type applicationType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 10: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on applicationType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on applicationType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_versionType(self, value): + result = True + # Validate type versionType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 10: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on versionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on versionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_versioneType(self, value): + result = True + # Validate type versioneType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 10: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on versioneType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on versioneType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_functionType(self, value): + result = True + # Validate type functionType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 10: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on functionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on functionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_langIdType(self, value): + result = True + # Validate type langIdType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 10: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on langIdType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on langIdType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_langidType(self, value): + result = True + # Validate type langidType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 10: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on langidType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on langidType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TNTUserType(self, value): + result = True + # Validate type TNTUserType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 50: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on TNTUserType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on TNTUserType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_CITUserType(self, value): + result = True + # Validate type CITUserType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 10: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on CITUserType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on CITUserType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.application is not None or + self.version is not None or + self.versione is not None or + self.function is not None or + self.langId is not None or + self.langid is not None or + self.TNTUser is not None or + self.CITUser is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='softwareType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('softwareType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'softwareType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='softwareType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='softwareType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='softwareType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='softwareType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.application is not None: + namespaceprefix_ = self.application_nsprefix_ + ':' if (UseCapturedNS_ and self.application_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sapplication>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.application), input_name='application')), namespaceprefix_ , eol_)) + if self.version is not None: + namespaceprefix_ = self.version_nsprefix_ + ':' if (UseCapturedNS_ and self.version_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sversion>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.version), input_name='version')), namespaceprefix_ , eol_)) + if self.versione is not None: + namespaceprefix_ = self.versione_nsprefix_ + ':' if (UseCapturedNS_ and self.versione_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sversione>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.versione), input_name='versione')), namespaceprefix_ , eol_)) + if self.function is not None: + namespaceprefix_ = self.function_nsprefix_ + ':' if (UseCapturedNS_ and self.function_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sfunction>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.function), input_name='function')), namespaceprefix_ , eol_)) + if self.langId is not None: + namespaceprefix_ = self.langId_nsprefix_ + ':' if (UseCapturedNS_ and self.langId_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%slangId>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.langId), input_name='langId')), namespaceprefix_ , eol_)) + if self.langid is not None: + namespaceprefix_ = self.langid_nsprefix_ + ':' if (UseCapturedNS_ and self.langid_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%slangid>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.langid), input_name='langid')), namespaceprefix_ , eol_)) + if self.TNTUser is not None: + namespaceprefix_ = self.TNTUser_nsprefix_ + ':' if (UseCapturedNS_ and self.TNTUser_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sTNTUser>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TNTUser), input_name='TNTUser')), namespaceprefix_ , eol_)) + if self.CITUser is not None: + namespaceprefix_ = self.CITUser_nsprefix_ + ':' if (UseCapturedNS_ and self.CITUser_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCITUser>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CITUser), input_name='CITUser')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'application': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'application') + value_ = self.gds_validate_string(value_, node, 'application') + self.application = value_ + self.application_nsprefix_ = child_.prefix + # validate type applicationType + self.validate_applicationType(self.application) + elif nodeName_ == 'version': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'version') + value_ = self.gds_validate_string(value_, node, 'version') + self.version = value_ + self.version_nsprefix_ = child_.prefix + # validate type versionType + self.validate_versionType(self.version) + elif nodeName_ == 'versione': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'versione') + value_ = self.gds_validate_string(value_, node, 'versione') + self.versione = value_ + self.versione_nsprefix_ = child_.prefix + # validate type versioneType + self.validate_versioneType(self.versione) + elif nodeName_ == 'function': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'function') + value_ = self.gds_validate_string(value_, node, 'function') + self.function = value_ + self.function_nsprefix_ = child_.prefix + # validate type functionType + self.validate_functionType(self.function) + elif nodeName_ == 'langId': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'langId') + value_ = self.gds_validate_string(value_, node, 'langId') + self.langId = value_ + self.langId_nsprefix_ = child_.prefix + # validate type langIdType + self.validate_langIdType(self.langId) + elif nodeName_ == 'langid': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'langid') + value_ = self.gds_validate_string(value_, node, 'langid') + self.langid = value_ + self.langid_nsprefix_ = child_.prefix + # validate type langidType + self.validate_langidType(self.langid) + elif nodeName_ == 'TNTUser': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'TNTUser') + value_ = self.gds_validate_string(value_, node, 'TNTUser') + self.TNTUser = value_ + self.TNTUser_nsprefix_ = child_.prefix + # validate type TNTUserType + self.validate_TNTUserType(self.TNTUser) + elif nodeName_ == 'CITUser': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CITUser') + value_ = self.gds_validate_string(value_, node, 'CITUser') + self.CITUser = value_ + self.CITUser_nsprefix_ = child_.prefix + # validate type CITUserType + self.validate_CITUserType(self.CITUser) +# end class softwareType + + +class securityType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, customer=None, user=None, password=None, langId=None, langid=None, TNTUser=None, CITUser=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.customer = customer + self.validate_customerType(self.customer) + self.customer_nsprefix_ = None + self.user = user + self.validate_userType(self.user) + self.user_nsprefix_ = None + self.password = password + self.validate_passwordType(self.password) + self.password_nsprefix_ = None + self.langId = langId + self.validate_langIdType1(self.langId) + self.langId_nsprefix_ = None + self.langid = langid + self.validate_langidType2(self.langid) + self.langid_nsprefix_ = None + self.TNTUser = TNTUser + self.validate_TNTUserType3(self.TNTUser) + self.TNTUser_nsprefix_ = None + self.CITUser = CITUser + self.validate_CITUserType4(self.CITUser) + self.CITUser_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, securityType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if securityType.subclass: + return securityType.subclass(*args_, **kwargs_) + else: + return securityType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_customer(self): + return self.customer + def set_customer(self, customer): + self.customer = customer + def get_user(self): + return self.user + def set_user(self, user): + self.user = user + def get_password(self): + return self.password + def set_password(self, password): + self.password = password + def get_langId(self): + return self.langId + def set_langId(self, langId): + self.langId = langId + def get_langid(self): + return self.langid + def set_langid(self, langid): + self.langid = langid + def get_TNTUser(self): + return self.TNTUser + def set_TNTUser(self, TNTUser): + self.TNTUser = TNTUser + def get_CITUser(self): + return self.CITUser + def set_CITUser(self, CITUser): + self.CITUser = CITUser + def validate_customerType(self, value): + result = True + # Validate type customerType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 100: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on customerType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on customerType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_userType(self, value): + result = True + # Validate type userType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 100: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on userType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on userType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_passwordType(self, value): + result = True + # Validate type passwordType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 100: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on passwordType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on passwordType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_langIdType1(self, value): + result = True + # Validate type langIdType1, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 20: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on langIdType1' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on langIdType1' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_langidType2(self, value): + result = True + # Validate type langidType2, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 20: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on langidType2' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on langidType2' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_TNTUserType3(self, value): + result = True + # Validate type TNTUserType3, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 50: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on TNTUserType3' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on TNTUserType3' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_CITUserType4(self, value): + result = True + # Validate type CITUserType4, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 10: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on CITUserType4' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on CITUserType4' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.customer is not None or + self.user is not None or + self.password is not None or + self.langId is not None or + self.langid is not None or + self.TNTUser is not None or + self.CITUser is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='securityType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('securityType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'securityType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='securityType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='securityType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='securityType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='securityType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.customer is not None: + namespaceprefix_ = self.customer_nsprefix_ + ':' if (UseCapturedNS_ and self.customer_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%scustomer>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.customer), input_name='customer')), namespaceprefix_ , eol_)) + if self.user is not None: + namespaceprefix_ = self.user_nsprefix_ + ':' if (UseCapturedNS_ and self.user_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%suser>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.user), input_name='user')), namespaceprefix_ , eol_)) + if self.password is not None: + namespaceprefix_ = self.password_nsprefix_ + ':' if (UseCapturedNS_ and self.password_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%spassword>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.password), input_name='password')), namespaceprefix_ , eol_)) + if self.langId is not None: + namespaceprefix_ = self.langId_nsprefix_ + ':' if (UseCapturedNS_ and self.langId_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%slangId>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.langId), input_name='langId')), namespaceprefix_ , eol_)) + if self.langid is not None: + namespaceprefix_ = self.langid_nsprefix_ + ':' if (UseCapturedNS_ and self.langid_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%slangid>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.langid), input_name='langid')), namespaceprefix_ , eol_)) + if self.TNTUser is not None: + namespaceprefix_ = self.TNTUser_nsprefix_ + ':' if (UseCapturedNS_ and self.TNTUser_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sTNTUser>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.TNTUser), input_name='TNTUser')), namespaceprefix_ , eol_)) + if self.CITUser is not None: + namespaceprefix_ = self.CITUser_nsprefix_ + ':' if (UseCapturedNS_ and self.CITUser_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCITUser>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CITUser), input_name='CITUser')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'customer': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'customer') + value_ = self.gds_validate_string(value_, node, 'customer') + self.customer = value_ + self.customer_nsprefix_ = child_.prefix + # validate type customerType + self.validate_customerType(self.customer) + elif nodeName_ == 'user': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'user') + value_ = self.gds_validate_string(value_, node, 'user') + self.user = value_ + self.user_nsprefix_ = child_.prefix + # validate type userType + self.validate_userType(self.user) + elif nodeName_ == 'password': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'password') + value_ = self.gds_validate_string(value_, node, 'password') + self.password = value_ + self.password_nsprefix_ = child_.prefix + # validate type passwordType + self.validate_passwordType(self.password) + elif nodeName_ == 'langId': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'langId') + value_ = self.gds_validate_string(value_, node, 'langId') + self.langId = value_ + self.langId_nsprefix_ = child_.prefix + # validate type langIdType1 + self.validate_langIdType1(self.langId) + elif nodeName_ == 'langid': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'langid') + value_ = self.gds_validate_string(value_, node, 'langid') + self.langid = value_ + self.langid_nsprefix_ = child_.prefix + # validate type langidType2 + self.validate_langidType2(self.langid) + elif nodeName_ == 'TNTUser': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'TNTUser') + value_ = self.gds_validate_string(value_, node, 'TNTUser') + self.TNTUser = value_ + self.TNTUser_nsprefix_ = child_.prefix + # validate type TNTUserType3 + self.validate_TNTUserType3(self.TNTUser) + elif nodeName_ == 'CITUser': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'CITUser') + value_ = self.gds_validate_string(value_, node, 'CITUser') + self.CITUser = value_ + self.CITUser_nsprefix_ = child_.prefix + # validate type CITUserType4 + self.validate_CITUserType4(self.CITUser) +# end class securityType + + +class consignmentType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, action=None, insurance=None, hazardous=None, cashondelivery=None, codcommission=None, insurancecommission=None, insurancecommision=None, highvalue=None, specialgoods=None, international=None, International=None, internazionale=None, Internazionale=None, list=None, cashondeliver=None, operationaloptionSender=None, itemaction=None, codcommision=None, operationaloption=None, labelType=None, labeltype=None, laroseDepot=None, senderAccId=None, receiverAccId=None, consignmentno=None, consignmenttype=None, PrintInstrDocs=None, printInstrDocs=None, FullPageLabel=None, GestInsResiAcerType=None, CollectionTrg=None, collectiontrg=None, systemcode=None, systemversion=None, actualweight=None, actualvolume=None, goodsdesc=None, totalpackages=None, packagetype=None, division=None, product=None, vehicle=None, insurancevalue=None, insurancecurrency=None, packingdesc=None, reference=None, collectiondate=None, collectiontime=None, invoicevalue=None, invoicecurrency=None, options=None, termsofpayment=None, specialinstructions=None, codfvalue=None, codfcurrency=None, eomofferno=None, eomdivision=None, eomenclosure=None, eomunification=None, dropoffpoint=None, privacyAccepted=None, addresses=None, dimensions=None, articles=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.action = _cast(None, action) + self.action_nsprefix_ = None + self.insurance = _cast(None, insurance) + self.insurance_nsprefix_ = None + self.hazardous = _cast(None, hazardous) + self.hazardous_nsprefix_ = None + self.cashondelivery = _cast(None, cashondelivery) + self.cashondelivery_nsprefix_ = None + self.codcommission = _cast(None, codcommission) + self.codcommission_nsprefix_ = None + self.insurancecommission = _cast(None, insurancecommission) + self.insurancecommission_nsprefix_ = None + self.insurancecommision = _cast(None, insurancecommision) + self.insurancecommision_nsprefix_ = None + self.highvalue = _cast(None, highvalue) + self.highvalue_nsprefix_ = None + self.specialgoods = _cast(None, specialgoods) + self.specialgoods_nsprefix_ = None + self.international = _cast(None, international) + self.international_nsprefix_ = None + self.International = _cast(None, International) + self.International_nsprefix_ = None + self.internazionale = _cast(None, internazionale) + self.internazionale_nsprefix_ = None + self.Internazionale = _cast(None, Internazionale) + self.Internazionale_nsprefix_ = None + self.list = _cast(None, list) + self.list_nsprefix_ = None + self.cashondeliver = _cast(None, cashondeliver) + self.cashondeliver_nsprefix_ = None + self.operationaloptionSender = _cast(None, operationaloptionSender) + self.operationaloptionSender_nsprefix_ = None + self.itemaction = _cast(None, itemaction) + self.itemaction_nsprefix_ = None + self.codcommision = _cast(None, codcommision) + self.codcommision_nsprefix_ = None + self.operationaloption = _cast(None, operationaloption) + self.operationaloption_nsprefix_ = None + self.labelType = labelType + self.validate_labelTypeType5(self.labelType) + self.labelType_nsprefix_ = None + self.labeltype = labeltype + self.validate_labeltypeType6(self.labeltype) + self.labeltype_nsprefix_ = None + self.laroseDepot = laroseDepot + self.validate_laroseDepotType(self.laroseDepot) + self.laroseDepot_nsprefix_ = None + self.senderAccId = senderAccId + self.validate_senderAccIdType(self.senderAccId) + self.senderAccId_nsprefix_ = None + self.receiverAccId = receiverAccId + self.validate_receiverAccIdType(self.receiverAccId) + self.receiverAccId_nsprefix_ = None + self.consignmentno = consignmentno + self.validate_consignmentnoType(self.consignmentno) + self.consignmentno_nsprefix_ = None + self.consignmenttype = consignmenttype + self.validate_consignmenttypeType(self.consignmenttype) + self.consignmenttype_nsprefix_ = None + self.PrintInstrDocs = PrintInstrDocs + self.validate_PrintInstrDocsType(self.PrintInstrDocs) + self.PrintInstrDocs_nsprefix_ = None + self.printInstrDocs = printInstrDocs + self.validate_printInstrDocsType(self.printInstrDocs) + self.printInstrDocs_nsprefix_ = None + self.FullPageLabel = FullPageLabel + self.validate_FullPageLabelType7(self.FullPageLabel) + self.FullPageLabel_nsprefix_ = None + self.GestInsResiAcerType = GestInsResiAcerType + self.validate_GestInsResiAcerTypeType(self.GestInsResiAcerType) + self.GestInsResiAcerType_nsprefix_ = None + self.CollectionTrg = CollectionTrg + self.CollectionTrg_nsprefix_ = None + self.collectiontrg = collectiontrg + self.collectiontrg_nsprefix_ = None + self.systemcode = systemcode + self.validate_systemcodeType(self.systemcode) + self.systemcode_nsprefix_ = None + self.systemversion = systemversion + self.validate_systemversionType(self.systemversion) + self.systemversion_nsprefix_ = None + self.actualweight = actualweight + self.validate_actualweightType(self.actualweight) + self.actualweight_nsprefix_ = None + self.actualvolume = actualvolume + self.validate_actualvolumeType(self.actualvolume) + self.actualvolume_nsprefix_ = None + self.goodsdesc = goodsdesc + self.validate_goodsdescType(self.goodsdesc) + self.goodsdesc_nsprefix_ = None + self.totalpackages = totalpackages + self.validate_totalpackagesType(self.totalpackages) + self.totalpackages_nsprefix_ = None + self.packagetype = packagetype + self.validate_packagetypeType(self.packagetype) + self.packagetype_nsprefix_ = None + self.division = division + self.validate_divisionType(self.division) + self.division_nsprefix_ = None + self.product = product + self.validate_productType(self.product) + self.product_nsprefix_ = None + self.vehicle = vehicle + self.validate_vehicleType(self.vehicle) + self.vehicle_nsprefix_ = None + self.insurancevalue = insurancevalue + self.validate_insurancevalueType(self.insurancevalue) + self.insurancevalue_nsprefix_ = None + self.insurancecurrency = insurancecurrency + self.validate_insurancecurrencyType(self.insurancecurrency) + self.insurancecurrency_nsprefix_ = None + self.packingdesc = packingdesc + self.validate_packingdescType(self.packingdesc) + self.packingdesc_nsprefix_ = None + self.reference = reference + self.validate_referenceType(self.reference) + self.reference_nsprefix_ = None + self.collectiondate = collectiondate + self.validate_collectiondateType(self.collectiondate) + self.collectiondate_nsprefix_ = None + self.collectiontime = collectiontime + self.validate_collectiontimeType(self.collectiontime) + self.collectiontime_nsprefix_ = None + self.invoicevalue = invoicevalue + self.validate_invoicevalueType(self.invoicevalue) + self.invoicevalue_nsprefix_ = None + self.invoicecurrency = invoicecurrency + self.validate_invoicecurrencyType(self.invoicecurrency) + self.invoicecurrency_nsprefix_ = None + self.options = options + self.options_nsprefix_ = None + self.termsofpayment = termsofpayment + self.validate_termsofpaymentType(self.termsofpayment) + self.termsofpayment_nsprefix_ = None + self.specialinstructions = specialinstructions + self.validate_specialinstructionsType(self.specialinstructions) + self.specialinstructions_nsprefix_ = None + self.codfvalue = codfvalue + self.validate_codfvalueType(self.codfvalue) + self.codfvalue_nsprefix_ = None + self.codfcurrency = codfcurrency + self.validate_codfcurrencyType(self.codfcurrency) + self.codfcurrency_nsprefix_ = None + self.eomofferno = eomofferno + self.validate_eomoffernoType(self.eomofferno) + self.eomofferno_nsprefix_ = None + self.eomdivision = eomdivision + self.validate_eomdivisionType(self.eomdivision) + self.eomdivision_nsprefix_ = None + self.eomenclosure = eomenclosure + self.validate_eomenclosureType(self.eomenclosure) + self.eomenclosure_nsprefix_ = None + self.eomunification = eomunification + self.validate_eomunificationType(self.eomunification) + self.eomunification_nsprefix_ = None + self.dropoffpoint = dropoffpoint + self.validate_dropoffpointType(self.dropoffpoint) + self.dropoffpoint_nsprefix_ = None + self.privacyAccepted = privacyAccepted + self.validate_privacyAcceptedType(self.privacyAccepted) + self.privacyAccepted_nsprefix_ = None + self.addresses = addresses + self.addresses_nsprefix_ = None + if dimensions is None: + self.dimensions = [] + else: + self.dimensions = dimensions + self.dimensions_nsprefix_ = None + if articles is None: + self.articles = [] + else: + self.articles = articles + self.articles_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, consignmentType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if consignmentType.subclass: + return consignmentType.subclass(*args_, **kwargs_) + else: + return consignmentType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_labelType(self): + return self.labelType + def set_labelType(self, labelType): + self.labelType = labelType + def get_labeltype(self): + return self.labeltype + def set_labeltype(self, labeltype): + self.labeltype = labeltype + def get_laroseDepot(self): + return self.laroseDepot + def set_laroseDepot(self, laroseDepot): + self.laroseDepot = laroseDepot + def get_senderAccId(self): + return self.senderAccId + def set_senderAccId(self, senderAccId): + self.senderAccId = senderAccId + def get_receiverAccId(self): + return self.receiverAccId + def set_receiverAccId(self, receiverAccId): + self.receiverAccId = receiverAccId + def get_consignmentno(self): + return self.consignmentno + def set_consignmentno(self, consignmentno): + self.consignmentno = consignmentno + def get_consignmenttype(self): + return self.consignmenttype + def set_consignmenttype(self, consignmenttype): + self.consignmenttype = consignmenttype + def get_PrintInstrDocs(self): + return self.PrintInstrDocs + def set_PrintInstrDocs(self, PrintInstrDocs): + self.PrintInstrDocs = PrintInstrDocs + def get_printInstrDocs(self): + return self.printInstrDocs + def set_printInstrDocs(self, printInstrDocs): + self.printInstrDocs = printInstrDocs + def get_FullPageLabel(self): + return self.FullPageLabel + def set_FullPageLabel(self, FullPageLabel): + self.FullPageLabel = FullPageLabel + def get_GestInsResiAcerType(self): + return self.GestInsResiAcerType + def set_GestInsResiAcerType(self, GestInsResiAcerType): + self.GestInsResiAcerType = GestInsResiAcerType + def get_CollectionTrg(self): + return self.CollectionTrg + def set_CollectionTrg(self, CollectionTrg): + self.CollectionTrg = CollectionTrg + def get_collectiontrg(self): + return self.collectiontrg + def set_collectiontrg(self, collectiontrg): + self.collectiontrg = collectiontrg + def get_systemcode(self): + return self.systemcode + def set_systemcode(self, systemcode): + self.systemcode = systemcode + def get_systemversion(self): + return self.systemversion + def set_systemversion(self, systemversion): + self.systemversion = systemversion + def get_actualweight(self): + return self.actualweight + def set_actualweight(self, actualweight): + self.actualweight = actualweight + def get_actualvolume(self): + return self.actualvolume + def set_actualvolume(self, actualvolume): + self.actualvolume = actualvolume + def get_goodsdesc(self): + return self.goodsdesc + def set_goodsdesc(self, goodsdesc): + self.goodsdesc = goodsdesc + def get_totalpackages(self): + return self.totalpackages + def set_totalpackages(self, totalpackages): + self.totalpackages = totalpackages + def get_packagetype(self): + return self.packagetype + def set_packagetype(self, packagetype): + self.packagetype = packagetype + def get_division(self): + return self.division + def set_division(self, division): + self.division = division + def get_product(self): + return self.product + def set_product(self, product): + self.product = product + def get_vehicle(self): + return self.vehicle + def set_vehicle(self, vehicle): + self.vehicle = vehicle + def get_insurancevalue(self): + return self.insurancevalue + def set_insurancevalue(self, insurancevalue): + self.insurancevalue = insurancevalue + def get_insurancecurrency(self): + return self.insurancecurrency + def set_insurancecurrency(self, insurancecurrency): + self.insurancecurrency = insurancecurrency + def get_packingdesc(self): + return self.packingdesc + def set_packingdesc(self, packingdesc): + self.packingdesc = packingdesc + def get_reference(self): + return self.reference + def set_reference(self, reference): + self.reference = reference + def get_collectiondate(self): + return self.collectiondate + def set_collectiondate(self, collectiondate): + self.collectiondate = collectiondate + def get_collectiontime(self): + return self.collectiontime + def set_collectiontime(self, collectiontime): + self.collectiontime = collectiontime + def get_invoicevalue(self): + return self.invoicevalue + def set_invoicevalue(self, invoicevalue): + self.invoicevalue = invoicevalue + def get_invoicecurrency(self): + return self.invoicecurrency + def set_invoicecurrency(self, invoicecurrency): + self.invoicecurrency = invoicecurrency + def get_options(self): + return self.options + def set_options(self, options): + self.options = options + def get_termsofpayment(self): + return self.termsofpayment + def set_termsofpayment(self, termsofpayment): + self.termsofpayment = termsofpayment + def get_specialinstructions(self): + return self.specialinstructions + def set_specialinstructions(self, specialinstructions): + self.specialinstructions = specialinstructions + def get_codfvalue(self): + return self.codfvalue + def set_codfvalue(self, codfvalue): + self.codfvalue = codfvalue + def get_codfcurrency(self): + return self.codfcurrency + def set_codfcurrency(self, codfcurrency): + self.codfcurrency = codfcurrency + def get_eomofferno(self): + return self.eomofferno + def set_eomofferno(self, eomofferno): + self.eomofferno = eomofferno + def get_eomdivision(self): + return self.eomdivision + def set_eomdivision(self, eomdivision): + self.eomdivision = eomdivision + def get_eomenclosure(self): + return self.eomenclosure + def set_eomenclosure(self, eomenclosure): + self.eomenclosure = eomenclosure + def get_eomunification(self): + return self.eomunification + def set_eomunification(self, eomunification): + self.eomunification = eomunification + def get_dropoffpoint(self): + return self.dropoffpoint + def set_dropoffpoint(self, dropoffpoint): + self.dropoffpoint = dropoffpoint + def get_privacyAccepted(self): + return self.privacyAccepted + def set_privacyAccepted(self, privacyAccepted): + self.privacyAccepted = privacyAccepted + def get_addresses(self): + return self.addresses + def set_addresses(self, addresses): + self.addresses = addresses + def get_dimensions(self): + return self.dimensions + def set_dimensions(self, dimensions): + self.dimensions = dimensions + def add_dimensions(self, value): + self.dimensions.append(value) + def insert_dimensions_at(self, index, value): + self.dimensions.insert(index, value) + def replace_dimensions_at(self, index, value): + self.dimensions[index] = value + def get_articles(self): + return self.articles + def set_articles(self, articles): + self.articles = articles + def add_articles(self, value): + self.articles.append(value) + def insert_articles_at(self, index, value): + self.articles.insert(index, value) + def replace_articles_at(self, index, value): + self.articles[index] = value + def get_action(self): + return self.action + def set_action(self, action): + self.action = action + def get_insurance(self): + return self.insurance + def set_insurance(self, insurance): + self.insurance = insurance + def get_hazardous(self): + return self.hazardous + def set_hazardous(self, hazardous): + self.hazardous = hazardous + def get_cashondelivery(self): + return self.cashondelivery + def set_cashondelivery(self, cashondelivery): + self.cashondelivery = cashondelivery + def get_codcommission(self): + return self.codcommission + def set_codcommission(self, codcommission): + self.codcommission = codcommission + def get_insurancecommission(self): + return self.insurancecommission + def set_insurancecommission(self, insurancecommission): + self.insurancecommission = insurancecommission + def get_insurancecommision(self): + return self.insurancecommision + def set_insurancecommision(self, insurancecommision): + self.insurancecommision = insurancecommision + def get_highvalue(self): + return self.highvalue + def set_highvalue(self, highvalue): + self.highvalue = highvalue + def get_specialgoods(self): + return self.specialgoods + def set_specialgoods(self, specialgoods): + self.specialgoods = specialgoods + def get_international(self): + return self.international + def set_international(self, international): + self.international = international + def get_International(self): + return self.International + def set_International(self, International): + self.International = International + def get_internazionale(self): + return self.internazionale + def set_internazionale(self, internazionale): + self.internazionale = internazionale + def get_Internazionale(self): + return self.Internazionale + def set_Internazionale(self, Internazionale): + self.Internazionale = Internazionale + def get_list(self): + return self.list + def set_list(self, list): + self.list = list + def get_cashondeliver(self): + return self.cashondeliver + def set_cashondeliver(self, cashondeliver): + self.cashondeliver = cashondeliver + def get_operationaloptionSender(self): + return self.operationaloptionSender + def set_operationaloptionSender(self, operationaloptionSender): + self.operationaloptionSender = operationaloptionSender + def get_itemaction(self): + return self.itemaction + def set_itemaction(self, itemaction): + self.itemaction = itemaction + def get_codcommision(self): + return self.codcommision + def set_codcommision(self, codcommision): + self.codcommision = codcommision + def get_operationaloption(self): + return self.operationaloption + def set_operationaloption(self, operationaloption): + self.operationaloption = operationaloption + def validate_labelTypeType5(self, value): + result = True + # Validate type labelTypeType5, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 4: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on labelTypeType5' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_labeltypeType6(self, value): + result = True + # Validate type labeltypeType6, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 4: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on labeltypeType6' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_laroseDepotType(self, value): + result = True + # Validate type laroseDepotType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 10: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on laroseDepotType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_senderAccIdType(self, value): + result = True + # Validate type senderAccIdType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 100: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on senderAccIdType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_receiverAccIdType(self, value): + result = True + # Validate type receiverAccIdType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 30: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on receiverAccIdType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_consignmentnoType(self, value): + result = True + # Validate type consignmentnoType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 20: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on consignmentnoType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_consignmenttypeType(self, value): + result = True + # Validate type consignmenttypeType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 10: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on consignmenttypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on consignmenttypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_PrintInstrDocsType(self, value): + result = True + # Validate type PrintInstrDocsType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on PrintInstrDocsType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_printInstrDocsType(self, value): + result = True + # Validate type printInstrDocsType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on printInstrDocsType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_FullPageLabelType7(self, value): + result = True + # Validate type FullPageLabelType7, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 15: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on FullPageLabelType7' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_GestInsResiAcerTypeType(self, value): + result = True + # Validate type GestInsResiAcerTypeType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on GestInsResiAcerTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_systemcodeType(self, value): + result = True + # Validate type systemcodeType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 2: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on systemcodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_systemversionType(self, value): + result = True + # Validate type systemversionType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 5: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on systemversionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_actualweightType(self, value): + result = True + # Validate type actualweightType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + pass + return result + def validate_actualvolumeType(self, value): + result = True + # Validate type actualvolumeType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + pass + return result + def validate_goodsdescType(self, value): + result = True + # Validate type goodsdescType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 30: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on goodsdescType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_totalpackagesType(self, value): + result = True + # Validate type totalpackagesType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + pass + return result + def validate_packagetypeType(self, value): + result = True + # Validate type packagetypeType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 100: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on packagetypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_divisionType(self, value): + result = True + # Validate type divisionType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on divisionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_productType(self, value): + result = True + # Validate type productType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 100: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on productType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_vehicleType(self, value): + result = True + # Validate type vehicleType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 10: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on vehicleType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_insurancevalueType(self, value): + result = True + # Validate type insurancevalueType, a restriction on xsd:integer. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if value < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on insurancevalueType' % {"value": value, "lineno": lineno} ) + result = False + if len(str(value)) >= 13: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd totalDigits restriction on insurancevalueType' % {"value": value, "lineno": lineno} ) + result = False + return result + def validate_insurancecurrencyType(self, value): + result = True + # Validate type insurancecurrencyType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on insurancecurrencyType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_packingdescType(self, value): + result = True + # Validate type packingdescType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 100: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on packingdescType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_referenceType(self, value): + result = True + # Validate type referenceType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 150: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on referenceType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_collectiondateType(self, value): + result = True + # Validate type collectiondateType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 20: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on collectiondateType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_collectiontimeType(self, value): + result = True + # Validate type collectiontimeType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 10: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on collectiontimeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_invoicevalueType(self, value): + result = True + # Validate type invoicevalueType, a restriction on xsd:integer. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if value < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on invoicevalueType' % {"value": value, "lineno": lineno} ) + result = False + if len(str(value)) >= 13: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd totalDigits restriction on invoicevalueType' % {"value": value, "lineno": lineno} ) + result = False + return result + def validate_invoicecurrencyType(self, value): + result = True + # Validate type invoicecurrencyType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on invoicecurrencyType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_termsofpaymentType(self, value): + result = True + # Validate type termsofpaymentType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 50: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on termsofpaymentType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_specialinstructionsType(self, value): + result = True + # Validate type specialinstructionsType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 500: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on specialinstructionsType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_codfvalueType(self, value): + result = True + # Validate type codfvalueType, a restriction on xsd:integer. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if value < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on codfvalueType' % {"value": value, "lineno": lineno} ) + result = False + if len(str(value)) >= 13: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd totalDigits restriction on codfvalueType' % {"value": value, "lineno": lineno} ) + result = False + return result + def validate_codfcurrencyType(self, value): + result = True + # Validate type codfcurrencyType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on codfcurrencyType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_eomoffernoType(self, value): + result = True + # Validate type eomoffernoType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 7: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on eomoffernoType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_eomdivisionType(self, value): + result = True + # Validate type eomdivisionType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 5: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on eomdivisionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_eomenclosureType(self, value): + result = True + # Validate type eomenclosureType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 15: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on eomenclosureType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_eomunificationType(self, value): + result = True + # Validate type eomunificationType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on eomunificationType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_dropoffpointType(self, value): + result = True + # Validate type dropoffpointType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 5: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on dropoffpointType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_privacyAcceptedType(self, value): + result = True + # Validate type privacyAcceptedType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on privacyAcceptedType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_actionType8(self, value): + # Validate type actionType8, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 10: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on actionType8' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on actionType8' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_insuranceType(self, value): + # Validate type insuranceType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 10: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on insuranceType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on insuranceType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_hazardousType(self, value): + # Validate type hazardousType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 5: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on hazardousType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on hazardousType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_cashondeliveryType(self, value): + # Validate type cashondeliveryType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 10: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on cashondeliveryType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on cashondeliveryType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_codcommissionType(self, value): + # Validate type codcommissionType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on codcommissionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on codcommissionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_insurancecommissionType(self, value): + # Validate type insurancecommissionType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on insurancecommissionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on insurancecommissionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_insurancecommisionType9(self, value): + # Validate type insurancecommisionType9, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on insurancecommisionType9' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on insurancecommisionType9' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_highvalueType(self, value): + # Validate type highvalueType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 100: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on highvalueType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on highvalueType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_specialgoodsType(self, value): + # Validate type specialgoodsType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 10: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on specialgoodsType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on specialgoodsType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_internationalType10(self, value): + # Validate type internationalType10, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on internationalType10' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on internationalType10' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_InternationalType11(self, value): + # Validate type InternationalType11, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on InternationalType11' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on InternationalType11' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_internazionaleType12(self, value): + # Validate type internazionaleType12, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on internazionaleType12' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on internazionaleType12' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_InternazionaleType13(self, value): + # Validate type InternazionaleType13, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on InternazionaleType13' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on InternazionaleType13' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_listType14(self, value): + # Validate type listType14, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on listType14' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on listType14' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_cashondeliverType15(self, value): + # Validate type cashondeliverType15, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on cashondeliverType15' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on cashondeliverType15' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_operationaloptionSenderType(self, value): + # Validate type operationaloptionSenderType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 5: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on operationaloptionSenderType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on operationaloptionSenderType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_itemactionType16(self, value): + # Validate type itemactionType16, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on itemactionType16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on itemactionType16' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_codcommisionType17(self, value): + # Validate type codcommisionType17, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on codcommisionType17' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on codcommisionType17' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_operationaloptionType(self, value): + # Validate type operationaloptionType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 100: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on operationaloptionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on operationaloptionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.labelType is not None or + self.labeltype is not None or + self.laroseDepot is not None or + self.senderAccId is not None or + self.receiverAccId is not None or + self.consignmentno is not None or + self.consignmenttype is not None or + self.PrintInstrDocs is not None or + self.printInstrDocs is not None or + self.FullPageLabel is not None or + self.GestInsResiAcerType is not None or + self.CollectionTrg is not None or + self.collectiontrg is not None or + self.systemcode is not None or + self.systemversion is not None or + self.actualweight is not None or + self.actualvolume is not None or + self.goodsdesc is not None or + self.totalpackages is not None or + self.packagetype is not None or + self.division is not None or + self.product is not None or + self.vehicle is not None or + self.insurancevalue is not None or + self.insurancecurrency is not None or + self.packingdesc is not None or + self.reference is not None or + self.collectiondate is not None or + self.collectiontime is not None or + self.invoicevalue is not None or + self.invoicecurrency is not None or + self.options is not None or + self.termsofpayment is not None or + self.specialinstructions is not None or + self.codfvalue is not None or + self.codfcurrency is not None or + self.eomofferno is not None or + self.eomdivision is not None or + self.eomenclosure is not None or + self.eomunification is not None or + self.dropoffpoint is not None or + self.privacyAccepted is not None or + self.addresses is not None or + self.dimensions or + self.articles + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='consignmentType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('consignmentType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'consignmentType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='consignmentType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='consignmentType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='consignmentType'): + if self.action is not None and 'action' not in already_processed: + already_processed.add('action') + outfile.write(' action=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.action), input_name='action')), )) + if self.insurance is not None and 'insurance' not in already_processed: + already_processed.add('insurance') + outfile.write(' insurance=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.insurance), input_name='insurance')), )) + if self.hazardous is not None and 'hazardous' not in already_processed: + already_processed.add('hazardous') + outfile.write(' hazardous=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.hazardous), input_name='hazardous')), )) + if self.cashondelivery is not None and 'cashondelivery' not in already_processed: + already_processed.add('cashondelivery') + outfile.write(' cashondelivery=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.cashondelivery), input_name='cashondelivery')), )) + if self.codcommission is not None and 'codcommission' not in already_processed: + already_processed.add('codcommission') + outfile.write(' codcommission=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.codcommission), input_name='codcommission')), )) + if self.insurancecommission is not None and 'insurancecommission' not in already_processed: + already_processed.add('insurancecommission') + outfile.write(' insurancecommission=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.insurancecommission), input_name='insurancecommission')), )) + if self.insurancecommision is not None and 'insurancecommision' not in already_processed: + already_processed.add('insurancecommision') + outfile.write(' insurancecommision=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.insurancecommision), input_name='insurancecommision')), )) + if self.highvalue is not None and 'highvalue' not in already_processed: + already_processed.add('highvalue') + outfile.write(' highvalue=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.highvalue), input_name='highvalue')), )) + if self.specialgoods is not None and 'specialgoods' not in already_processed: + already_processed.add('specialgoods') + outfile.write(' specialgoods=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.specialgoods), input_name='specialgoods')), )) + if self.international is not None and 'international' not in already_processed: + already_processed.add('international') + outfile.write(' international=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.international), input_name='international')), )) + if self.International is not None and 'International' not in already_processed: + already_processed.add('International') + outfile.write(' International=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.International), input_name='International')), )) + if self.internazionale is not None and 'internazionale' not in already_processed: + already_processed.add('internazionale') + outfile.write(' internazionale=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.internazionale), input_name='internazionale')), )) + if self.Internazionale is not None and 'Internazionale' not in already_processed: + already_processed.add('Internazionale') + outfile.write(' Internazionale=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Internazionale), input_name='Internazionale')), )) + if self.list is not None and 'list' not in already_processed: + already_processed.add('list') + outfile.write(' list=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.list), input_name='list')), )) + if self.cashondeliver is not None and 'cashondeliver' not in already_processed: + already_processed.add('cashondeliver') + outfile.write(' cashondeliver=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.cashondeliver), input_name='cashondeliver')), )) + if self.operationaloptionSender is not None and 'operationaloptionSender' not in already_processed: + already_processed.add('operationaloptionSender') + outfile.write(' operationaloptionSender=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.operationaloptionSender), input_name='operationaloptionSender')), )) + if self.itemaction is not None and 'itemaction' not in already_processed: + already_processed.add('itemaction') + outfile.write(' itemaction=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.itemaction), input_name='itemaction')), )) + if self.codcommision is not None and 'codcommision' not in already_processed: + already_processed.add('codcommision') + outfile.write(' codcommision=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.codcommision), input_name='codcommision')), )) + if self.operationaloption is not None and 'operationaloption' not in already_processed: + already_processed.add('operationaloption') + outfile.write(' operationaloption=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.operationaloption), input_name='operationaloption')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='consignmentType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.labelType is not None: + namespaceprefix_ = self.labelType_nsprefix_ + ':' if (UseCapturedNS_ and self.labelType_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%slabelType>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.labelType), input_name='labelType')), namespaceprefix_ , eol_)) + if self.labeltype is not None: + namespaceprefix_ = self.labeltype_nsprefix_ + ':' if (UseCapturedNS_ and self.labeltype_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%slabeltype>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.labeltype), input_name='labeltype')), namespaceprefix_ , eol_)) + if self.laroseDepot is not None: + namespaceprefix_ = self.laroseDepot_nsprefix_ + ':' if (UseCapturedNS_ and self.laroseDepot_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%slaroseDepot>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.laroseDepot), input_name='laroseDepot')), namespaceprefix_ , eol_)) + if self.senderAccId is not None: + namespaceprefix_ = self.senderAccId_nsprefix_ + ':' if (UseCapturedNS_ and self.senderAccId_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%ssenderAccId>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.senderAccId), input_name='senderAccId')), namespaceprefix_ , eol_)) + if self.receiverAccId is not None: + namespaceprefix_ = self.receiverAccId_nsprefix_ + ':' if (UseCapturedNS_ and self.receiverAccId_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sreceiverAccId>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.receiverAccId), input_name='receiverAccId')), namespaceprefix_ , eol_)) + if self.consignmentno is not None: + namespaceprefix_ = self.consignmentno_nsprefix_ + ':' if (UseCapturedNS_ and self.consignmentno_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sconsignmentno>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.consignmentno), input_name='consignmentno')), namespaceprefix_ , eol_)) + if self.consignmenttype is not None: + namespaceprefix_ = self.consignmenttype_nsprefix_ + ':' if (UseCapturedNS_ and self.consignmenttype_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sconsignmenttype>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.consignmenttype), input_name='consignmenttype')), namespaceprefix_ , eol_)) + if self.PrintInstrDocs is not None: + namespaceprefix_ = self.PrintInstrDocs_nsprefix_ + ':' if (UseCapturedNS_ and self.PrintInstrDocs_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPrintInstrDocs>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.PrintInstrDocs), input_name='PrintInstrDocs')), namespaceprefix_ , eol_)) + if self.printInstrDocs is not None: + namespaceprefix_ = self.printInstrDocs_nsprefix_ + ':' if (UseCapturedNS_ and self.printInstrDocs_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sprintInstrDocs>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.printInstrDocs), input_name='printInstrDocs')), namespaceprefix_ , eol_)) + if self.FullPageLabel is not None: + namespaceprefix_ = self.FullPageLabel_nsprefix_ + ':' if (UseCapturedNS_ and self.FullPageLabel_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sFullPageLabel>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.FullPageLabel), input_name='FullPageLabel')), namespaceprefix_ , eol_)) + if self.GestInsResiAcerType is not None: + namespaceprefix_ = self.GestInsResiAcerType_nsprefix_ + ':' if (UseCapturedNS_ and self.GestInsResiAcerType_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sGestInsResiAcerType>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.GestInsResiAcerType), input_name='GestInsResiAcerType')), namespaceprefix_ , eol_)) + if self.CollectionTrg is not None: + namespaceprefix_ = self.CollectionTrg_nsprefix_ + ':' if (UseCapturedNS_ and self.CollectionTrg_nsprefix_) else '' + self.CollectionTrg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='CollectionTrg', pretty_print=pretty_print) + if self.collectiontrg is not None: + namespaceprefix_ = self.collectiontrg_nsprefix_ + ':' if (UseCapturedNS_ and self.collectiontrg_nsprefix_) else '' + self.collectiontrg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='collectiontrg', pretty_print=pretty_print) + if self.systemcode is not None: + namespaceprefix_ = self.systemcode_nsprefix_ + ':' if (UseCapturedNS_ and self.systemcode_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%ssystemcode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.systemcode), input_name='systemcode')), namespaceprefix_ , eol_)) + if self.systemversion is not None: + namespaceprefix_ = self.systemversion_nsprefix_ + ':' if (UseCapturedNS_ and self.systemversion_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%ssystemversion>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.systemversion), input_name='systemversion')), namespaceprefix_ , eol_)) + if self.actualweight is not None: + namespaceprefix_ = self.actualweight_nsprefix_ + ':' if (UseCapturedNS_ and self.actualweight_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sactualweight>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.actualweight), input_name='actualweight')), namespaceprefix_ , eol_)) + if self.actualvolume is not None: + namespaceprefix_ = self.actualvolume_nsprefix_ + ':' if (UseCapturedNS_ and self.actualvolume_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sactualvolume>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.actualvolume), input_name='actualvolume')), namespaceprefix_ , eol_)) + if self.goodsdesc is not None: + namespaceprefix_ = self.goodsdesc_nsprefix_ + ':' if (UseCapturedNS_ and self.goodsdesc_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sgoodsdesc>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.goodsdesc), input_name='goodsdesc')), namespaceprefix_ , eol_)) + if self.totalpackages is not None: + namespaceprefix_ = self.totalpackages_nsprefix_ + ':' if (UseCapturedNS_ and self.totalpackages_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%stotalpackages>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.totalpackages), input_name='totalpackages')), namespaceprefix_ , eol_)) + if self.packagetype is not None: + namespaceprefix_ = self.packagetype_nsprefix_ + ':' if (UseCapturedNS_ and self.packagetype_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%spackagetype>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.packagetype), input_name='packagetype')), namespaceprefix_ , eol_)) + if self.division is not None: + namespaceprefix_ = self.division_nsprefix_ + ':' if (UseCapturedNS_ and self.division_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sdivision>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.division), input_name='division')), namespaceprefix_ , eol_)) + if self.product is not None: + namespaceprefix_ = self.product_nsprefix_ + ':' if (UseCapturedNS_ and self.product_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sproduct>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.product), input_name='product')), namespaceprefix_ , eol_)) + if self.vehicle is not None: + namespaceprefix_ = self.vehicle_nsprefix_ + ':' if (UseCapturedNS_ and self.vehicle_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%svehicle>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vehicle), input_name='vehicle')), namespaceprefix_ , eol_)) + if self.insurancevalue is not None: + namespaceprefix_ = self.insurancevalue_nsprefix_ + ':' if (UseCapturedNS_ and self.insurancevalue_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sinsurancevalue>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.insurancevalue, input_name='insurancevalue'), namespaceprefix_ , eol_)) + if self.insurancecurrency is not None: + namespaceprefix_ = self.insurancecurrency_nsprefix_ + ':' if (UseCapturedNS_ and self.insurancecurrency_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sinsurancecurrency>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.insurancecurrency), input_name='insurancecurrency')), namespaceprefix_ , eol_)) + if self.packingdesc is not None: + namespaceprefix_ = self.packingdesc_nsprefix_ + ':' if (UseCapturedNS_ and self.packingdesc_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%spackingdesc>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.packingdesc), input_name='packingdesc')), namespaceprefix_ , eol_)) + if self.reference is not None: + namespaceprefix_ = self.reference_nsprefix_ + ':' if (UseCapturedNS_ and self.reference_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sreference>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.reference), input_name='reference')), namespaceprefix_ , eol_)) + if self.collectiondate is not None: + namespaceprefix_ = self.collectiondate_nsprefix_ + ':' if (UseCapturedNS_ and self.collectiondate_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%scollectiondate>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.collectiondate), input_name='collectiondate')), namespaceprefix_ , eol_)) + if self.collectiontime is not None: + namespaceprefix_ = self.collectiontime_nsprefix_ + ':' if (UseCapturedNS_ and self.collectiontime_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%scollectiontime>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.collectiontime), input_name='collectiontime')), namespaceprefix_ , eol_)) + if self.invoicevalue is not None: + namespaceprefix_ = self.invoicevalue_nsprefix_ + ':' if (UseCapturedNS_ and self.invoicevalue_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sinvoicevalue>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.invoicevalue, input_name='invoicevalue'), namespaceprefix_ , eol_)) + if self.invoicecurrency is not None: + namespaceprefix_ = self.invoicecurrency_nsprefix_ + ':' if (UseCapturedNS_ and self.invoicecurrency_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sinvoicecurrency>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.invoicecurrency), input_name='invoicecurrency')), namespaceprefix_ , eol_)) + if self.options is not None: + namespaceprefix_ = self.options_nsprefix_ + ':' if (UseCapturedNS_ and self.options_nsprefix_) else '' + self.options.export(outfile, level, namespaceprefix_, namespacedef_='', name_='options', pretty_print=pretty_print) + if self.termsofpayment is not None: + namespaceprefix_ = self.termsofpayment_nsprefix_ + ':' if (UseCapturedNS_ and self.termsofpayment_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%stermsofpayment>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.termsofpayment), input_name='termsofpayment')), namespaceprefix_ , eol_)) + if self.specialinstructions is not None: + namespaceprefix_ = self.specialinstructions_nsprefix_ + ':' if (UseCapturedNS_ and self.specialinstructions_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sspecialinstructions>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.specialinstructions), input_name='specialinstructions')), namespaceprefix_ , eol_)) + if self.codfvalue is not None: + namespaceprefix_ = self.codfvalue_nsprefix_ + ':' if (UseCapturedNS_ and self.codfvalue_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%scodfvalue>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.codfvalue, input_name='codfvalue'), namespaceprefix_ , eol_)) + if self.codfcurrency is not None: + namespaceprefix_ = self.codfcurrency_nsprefix_ + ':' if (UseCapturedNS_ and self.codfcurrency_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%scodfcurrency>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.codfcurrency), input_name='codfcurrency')), namespaceprefix_ , eol_)) + if self.eomofferno is not None: + namespaceprefix_ = self.eomofferno_nsprefix_ + ':' if (UseCapturedNS_ and self.eomofferno_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%seomofferno>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.eomofferno), input_name='eomofferno')), namespaceprefix_ , eol_)) + if self.eomdivision is not None: + namespaceprefix_ = self.eomdivision_nsprefix_ + ':' if (UseCapturedNS_ and self.eomdivision_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%seomdivision>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.eomdivision), input_name='eomdivision')), namespaceprefix_ , eol_)) + if self.eomenclosure is not None: + namespaceprefix_ = self.eomenclosure_nsprefix_ + ':' if (UseCapturedNS_ and self.eomenclosure_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%seomenclosure>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.eomenclosure), input_name='eomenclosure')), namespaceprefix_ , eol_)) + if self.eomunification is not None: + namespaceprefix_ = self.eomunification_nsprefix_ + ':' if (UseCapturedNS_ and self.eomunification_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%seomunification>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.eomunification), input_name='eomunification')), namespaceprefix_ , eol_)) + if self.dropoffpoint is not None: + namespaceprefix_ = self.dropoffpoint_nsprefix_ + ':' if (UseCapturedNS_ and self.dropoffpoint_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sdropoffpoint>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.dropoffpoint), input_name='dropoffpoint')), namespaceprefix_ , eol_)) + if self.privacyAccepted is not None: + namespaceprefix_ = self.privacyAccepted_nsprefix_ + ':' if (UseCapturedNS_ and self.privacyAccepted_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sprivacyAccepted>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.privacyAccepted), input_name='privacyAccepted')), namespaceprefix_ , eol_)) + if self.addresses is not None: + namespaceprefix_ = self.addresses_nsprefix_ + ':' if (UseCapturedNS_ and self.addresses_nsprefix_) else '' + self.addresses.export(outfile, level, namespaceprefix_, namespacedef_='', name_='addresses', pretty_print=pretty_print) + for dimensions_ in self.dimensions: + namespaceprefix_ = self.dimensions_nsprefix_ + ':' if (UseCapturedNS_ and self.dimensions_nsprefix_) else '' + dimensions_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='dimensions', pretty_print=pretty_print) + for articles_ in self.articles: + namespaceprefix_ = self.articles_nsprefix_ + ':' if (UseCapturedNS_ and self.articles_nsprefix_) else '' + articles_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='articles', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('action', node) + if value is not None and 'action' not in already_processed: + already_processed.add('action') + self.action = value + self.validate_actionType8(self.action) # validate type actionType8 + value = find_attr_value_('insurance', node) + if value is not None and 'insurance' not in already_processed: + already_processed.add('insurance') + self.insurance = value + self.validate_insuranceType(self.insurance) # validate type insuranceType + value = find_attr_value_('hazardous', node) + if value is not None and 'hazardous' not in already_processed: + already_processed.add('hazardous') + self.hazardous = value + self.validate_hazardousType(self.hazardous) # validate type hazardousType + value = find_attr_value_('cashondelivery', node) + if value is not None and 'cashondelivery' not in already_processed: + already_processed.add('cashondelivery') + self.cashondelivery = value + self.validate_cashondeliveryType(self.cashondelivery) # validate type cashondeliveryType + value = find_attr_value_('codcommission', node) + if value is not None and 'codcommission' not in already_processed: + already_processed.add('codcommission') + self.codcommission = value + self.validate_codcommissionType(self.codcommission) # validate type codcommissionType + value = find_attr_value_('insurancecommission', node) + if value is not None and 'insurancecommission' not in already_processed: + already_processed.add('insurancecommission') + self.insurancecommission = value + self.validate_insurancecommissionType(self.insurancecommission) # validate type insurancecommissionType + value = find_attr_value_('insurancecommision', node) + if value is not None and 'insurancecommision' not in already_processed: + already_processed.add('insurancecommision') + self.insurancecommision = value + self.validate_insurancecommisionType9(self.insurancecommision) # validate type insurancecommisionType9 + value = find_attr_value_('highvalue', node) + if value is not None and 'highvalue' not in already_processed: + already_processed.add('highvalue') + self.highvalue = value + self.validate_highvalueType(self.highvalue) # validate type highvalueType + value = find_attr_value_('specialgoods', node) + if value is not None and 'specialgoods' not in already_processed: + already_processed.add('specialgoods') + self.specialgoods = value + self.validate_specialgoodsType(self.specialgoods) # validate type specialgoodsType + value = find_attr_value_('international', node) + if value is not None and 'international' not in already_processed: + already_processed.add('international') + self.international = value + self.validate_internationalType10(self.international) # validate type internationalType10 + value = find_attr_value_('International', node) + if value is not None and 'International' not in already_processed: + already_processed.add('International') + self.International = value + self.validate_InternationalType11(self.International) # validate type InternationalType11 + value = find_attr_value_('internazionale', node) + if value is not None and 'internazionale' not in already_processed: + already_processed.add('internazionale') + self.internazionale = value + self.validate_internazionaleType12(self.internazionale) # validate type internazionaleType12 + value = find_attr_value_('Internazionale', node) + if value is not None and 'Internazionale' not in already_processed: + already_processed.add('Internazionale') + self.Internazionale = value + self.validate_InternazionaleType13(self.Internazionale) # validate type InternazionaleType13 + value = find_attr_value_('list', node) + if value is not None and 'list' not in already_processed: + already_processed.add('list') + self.list = value + self.validate_listType14(self.list) # validate type listType14 + value = find_attr_value_('cashondeliver', node) + if value is not None and 'cashondeliver' not in already_processed: + already_processed.add('cashondeliver') + self.cashondeliver = value + self.validate_cashondeliverType15(self.cashondeliver) # validate type cashondeliverType15 + value = find_attr_value_('operationaloptionSender', node) + if value is not None and 'operationaloptionSender' not in already_processed: + already_processed.add('operationaloptionSender') + self.operationaloptionSender = value + self.validate_operationaloptionSenderType(self.operationaloptionSender) # validate type operationaloptionSenderType + value = find_attr_value_('itemaction', node) + if value is not None and 'itemaction' not in already_processed: + already_processed.add('itemaction') + self.itemaction = value + self.validate_itemactionType16(self.itemaction) # validate type itemactionType16 + value = find_attr_value_('codcommision', node) + if value is not None and 'codcommision' not in already_processed: + already_processed.add('codcommision') + self.codcommision = value + self.validate_codcommisionType17(self.codcommision) # validate type codcommisionType17 + value = find_attr_value_('operationaloption', node) + if value is not None and 'operationaloption' not in already_processed: + already_processed.add('operationaloption') + self.operationaloption = value + self.validate_operationaloptionType(self.operationaloption) # validate type operationaloptionType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'labelType': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'labelType') + value_ = self.gds_validate_string(value_, node, 'labelType') + self.labelType = value_ + self.labelType_nsprefix_ = child_.prefix + # validate type labelTypeType5 + self.validate_labelTypeType5(self.labelType) + elif nodeName_ == 'labeltype': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'labeltype') + value_ = self.gds_validate_string(value_, node, 'labeltype') + self.labeltype = value_ + self.labeltype_nsprefix_ = child_.prefix + # validate type labeltypeType6 + self.validate_labeltypeType6(self.labeltype) + elif nodeName_ == 'laroseDepot': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'laroseDepot') + value_ = self.gds_validate_string(value_, node, 'laroseDepot') + self.laroseDepot = value_ + self.laroseDepot_nsprefix_ = child_.prefix + # validate type laroseDepotType + self.validate_laroseDepotType(self.laroseDepot) + elif nodeName_ == 'senderAccId': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'senderAccId') + value_ = self.gds_validate_string(value_, node, 'senderAccId') + self.senderAccId = value_ + self.senderAccId_nsprefix_ = child_.prefix + # validate type senderAccIdType + self.validate_senderAccIdType(self.senderAccId) + elif nodeName_ == 'receiverAccId': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'receiverAccId') + value_ = self.gds_validate_string(value_, node, 'receiverAccId') + self.receiverAccId = value_ + self.receiverAccId_nsprefix_ = child_.prefix + # validate type receiverAccIdType + self.validate_receiverAccIdType(self.receiverAccId) + elif nodeName_ == 'consignmentno': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'consignmentno') + value_ = self.gds_validate_string(value_, node, 'consignmentno') + self.consignmentno = value_ + self.consignmentno_nsprefix_ = child_.prefix + # validate type consignmentnoType + self.validate_consignmentnoType(self.consignmentno) + elif nodeName_ == 'consignmenttype': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'consignmenttype') + value_ = self.gds_validate_string(value_, node, 'consignmenttype') + self.consignmenttype = value_ + self.consignmenttype_nsprefix_ = child_.prefix + # validate type consignmenttypeType + self.validate_consignmenttypeType(self.consignmenttype) + elif nodeName_ == 'PrintInstrDocs': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'PrintInstrDocs') + value_ = self.gds_validate_string(value_, node, 'PrintInstrDocs') + self.PrintInstrDocs = value_ + self.PrintInstrDocs_nsprefix_ = child_.prefix + # validate type PrintInstrDocsType + self.validate_PrintInstrDocsType(self.PrintInstrDocs) + elif nodeName_ == 'printInstrDocs': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'printInstrDocs') + value_ = self.gds_validate_string(value_, node, 'printInstrDocs') + self.printInstrDocs = value_ + self.printInstrDocs_nsprefix_ = child_.prefix + # validate type printInstrDocsType + self.validate_printInstrDocsType(self.printInstrDocs) + elif nodeName_ == 'FullPageLabel': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'FullPageLabel') + value_ = self.gds_validate_string(value_, node, 'FullPageLabel') + self.FullPageLabel = value_ + self.FullPageLabel_nsprefix_ = child_.prefix + # validate type FullPageLabelType7 + self.validate_FullPageLabelType7(self.FullPageLabel) + elif nodeName_ == 'GestInsResiAcerType': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'GestInsResiAcerType') + value_ = self.gds_validate_string(value_, node, 'GestInsResiAcerType') + self.GestInsResiAcerType = value_ + self.GestInsResiAcerType_nsprefix_ = child_.prefix + # validate type GestInsResiAcerTypeType + self.validate_GestInsResiAcerTypeType(self.GestInsResiAcerType) + elif nodeName_ == 'CollectionTrg': + obj_ = CollectionTrgType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.CollectionTrg = obj_ + obj_.original_tagname_ = 'CollectionTrg' + elif nodeName_ == 'collectiontrg': + obj_ = collectiontrgType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.collectiontrg = obj_ + obj_.original_tagname_ = 'collectiontrg' + elif nodeName_ == 'systemcode': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'systemcode') + value_ = self.gds_validate_string(value_, node, 'systemcode') + self.systemcode = value_ + self.systemcode_nsprefix_ = child_.prefix + # validate type systemcodeType + self.validate_systemcodeType(self.systemcode) + elif nodeName_ == 'systemversion': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'systemversion') + value_ = self.gds_validate_string(value_, node, 'systemversion') + self.systemversion = value_ + self.systemversion_nsprefix_ = child_.prefix + # validate type systemversionType + self.validate_systemversionType(self.systemversion) + elif nodeName_ == 'actualweight': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'actualweight') + value_ = self.gds_validate_string(value_, node, 'actualweight') + self.actualweight = value_ + self.actualweight_nsprefix_ = child_.prefix + # validate type actualweightType + self.validate_actualweightType(self.actualweight) + elif nodeName_ == 'actualvolume': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'actualvolume') + value_ = self.gds_validate_string(value_, node, 'actualvolume') + self.actualvolume = value_ + self.actualvolume_nsprefix_ = child_.prefix + # validate type actualvolumeType + self.validate_actualvolumeType(self.actualvolume) + elif nodeName_ == 'goodsdesc': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'goodsdesc') + value_ = self.gds_validate_string(value_, node, 'goodsdesc') + self.goodsdesc = value_ + self.goodsdesc_nsprefix_ = child_.prefix + # validate type goodsdescType + self.validate_goodsdescType(self.goodsdesc) + elif nodeName_ == 'totalpackages': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'totalpackages') + value_ = self.gds_validate_string(value_, node, 'totalpackages') + self.totalpackages = value_ + self.totalpackages_nsprefix_ = child_.prefix + # validate type totalpackagesType + self.validate_totalpackagesType(self.totalpackages) + elif nodeName_ == 'packagetype': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'packagetype') + value_ = self.gds_validate_string(value_, node, 'packagetype') + self.packagetype = value_ + self.packagetype_nsprefix_ = child_.prefix + # validate type packagetypeType + self.validate_packagetypeType(self.packagetype) + elif nodeName_ == 'division': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'division') + value_ = self.gds_validate_string(value_, node, 'division') + self.division = value_ + self.division_nsprefix_ = child_.prefix + # validate type divisionType + self.validate_divisionType(self.division) + elif nodeName_ == 'product': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'product') + value_ = self.gds_validate_string(value_, node, 'product') + self.product = value_ + self.product_nsprefix_ = child_.prefix + # validate type productType + self.validate_productType(self.product) + elif nodeName_ == 'vehicle': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'vehicle') + value_ = self.gds_validate_string(value_, node, 'vehicle') + self.vehicle = value_ + self.vehicle_nsprefix_ = child_.prefix + # validate type vehicleType + self.validate_vehicleType(self.vehicle) + elif nodeName_ == 'insurancevalue' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'insurancevalue') + ival_ = self.gds_validate_integer(ival_, node, 'insurancevalue') + self.insurancevalue = ival_ + self.insurancevalue_nsprefix_ = child_.prefix + # validate type insurancevalueType + self.validate_insurancevalueType(self.insurancevalue) + elif nodeName_ == 'insurancecurrency': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'insurancecurrency') + value_ = self.gds_validate_string(value_, node, 'insurancecurrency') + self.insurancecurrency = value_ + self.insurancecurrency_nsprefix_ = child_.prefix + # validate type insurancecurrencyType + self.validate_insurancecurrencyType(self.insurancecurrency) + elif nodeName_ == 'packingdesc': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'packingdesc') + value_ = self.gds_validate_string(value_, node, 'packingdesc') + self.packingdesc = value_ + self.packingdesc_nsprefix_ = child_.prefix + # validate type packingdescType + self.validate_packingdescType(self.packingdesc) + elif nodeName_ == 'reference': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'reference') + value_ = self.gds_validate_string(value_, node, 'reference') + self.reference = value_ + self.reference_nsprefix_ = child_.prefix + # validate type referenceType + self.validate_referenceType(self.reference) + elif nodeName_ == 'collectiondate': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'collectiondate') + value_ = self.gds_validate_string(value_, node, 'collectiondate') + self.collectiondate = value_ + self.collectiondate_nsprefix_ = child_.prefix + # validate type collectiondateType + self.validate_collectiondateType(self.collectiondate) + elif nodeName_ == 'collectiontime': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'collectiontime') + value_ = self.gds_validate_string(value_, node, 'collectiontime') + self.collectiontime = value_ + self.collectiontime_nsprefix_ = child_.prefix + # validate type collectiontimeType + self.validate_collectiontimeType(self.collectiontime) + elif nodeName_ == 'invoicevalue' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'invoicevalue') + ival_ = self.gds_validate_integer(ival_, node, 'invoicevalue') + self.invoicevalue = ival_ + self.invoicevalue_nsprefix_ = child_.prefix + # validate type invoicevalueType + self.validate_invoicevalueType(self.invoicevalue) + elif nodeName_ == 'invoicecurrency': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'invoicecurrency') + value_ = self.gds_validate_string(value_, node, 'invoicecurrency') + self.invoicecurrency = value_ + self.invoicecurrency_nsprefix_ = child_.prefix + # validate type invoicecurrencyType + self.validate_invoicecurrencyType(self.invoicecurrency) + elif nodeName_ == 'options': + obj_ = optionsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.options = obj_ + obj_.original_tagname_ = 'options' + elif nodeName_ == 'termsofpayment': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'termsofpayment') + value_ = self.gds_validate_string(value_, node, 'termsofpayment') + self.termsofpayment = value_ + self.termsofpayment_nsprefix_ = child_.prefix + # validate type termsofpaymentType + self.validate_termsofpaymentType(self.termsofpayment) + elif nodeName_ == 'specialinstructions': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'specialinstructions') + value_ = self.gds_validate_string(value_, node, 'specialinstructions') + self.specialinstructions = value_ + self.specialinstructions_nsprefix_ = child_.prefix + # validate type specialinstructionsType + self.validate_specialinstructionsType(self.specialinstructions) + elif nodeName_ == 'codfvalue' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'codfvalue') + ival_ = self.gds_validate_integer(ival_, node, 'codfvalue') + self.codfvalue = ival_ + self.codfvalue_nsprefix_ = child_.prefix + # validate type codfvalueType + self.validate_codfvalueType(self.codfvalue) + elif nodeName_ == 'codfcurrency': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'codfcurrency') + value_ = self.gds_validate_string(value_, node, 'codfcurrency') + self.codfcurrency = value_ + self.codfcurrency_nsprefix_ = child_.prefix + # validate type codfcurrencyType + self.validate_codfcurrencyType(self.codfcurrency) + elif nodeName_ == 'eomofferno': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'eomofferno') + value_ = self.gds_validate_string(value_, node, 'eomofferno') + self.eomofferno = value_ + self.eomofferno_nsprefix_ = child_.prefix + # validate type eomoffernoType + self.validate_eomoffernoType(self.eomofferno) + elif nodeName_ == 'eomdivision': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'eomdivision') + value_ = self.gds_validate_string(value_, node, 'eomdivision') + self.eomdivision = value_ + self.eomdivision_nsprefix_ = child_.prefix + # validate type eomdivisionType + self.validate_eomdivisionType(self.eomdivision) + elif nodeName_ == 'eomenclosure': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'eomenclosure') + value_ = self.gds_validate_string(value_, node, 'eomenclosure') + self.eomenclosure = value_ + self.eomenclosure_nsprefix_ = child_.prefix + # validate type eomenclosureType + self.validate_eomenclosureType(self.eomenclosure) + elif nodeName_ == 'eomunification': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'eomunification') + value_ = self.gds_validate_string(value_, node, 'eomunification') + self.eomunification = value_ + self.eomunification_nsprefix_ = child_.prefix + # validate type eomunificationType + self.validate_eomunificationType(self.eomunification) + elif nodeName_ == 'dropoffpoint': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'dropoffpoint') + value_ = self.gds_validate_string(value_, node, 'dropoffpoint') + self.dropoffpoint = value_ + self.dropoffpoint_nsprefix_ = child_.prefix + # validate type dropoffpointType + self.validate_dropoffpointType(self.dropoffpoint) + elif nodeName_ == 'privacyAccepted': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'privacyAccepted') + value_ = self.gds_validate_string(value_, node, 'privacyAccepted') + self.privacyAccepted = value_ + self.privacyAccepted_nsprefix_ = child_.prefix + # validate type privacyAcceptedType + self.validate_privacyAcceptedType(self.privacyAccepted) + elif nodeName_ == 'addresses': + obj_ = addressesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.addresses = obj_ + obj_.original_tagname_ = 'addresses' + elif nodeName_ == 'dimensions': + obj_ = dimensionsType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.dimensions.append(obj_) + obj_.original_tagname_ = 'dimensions' + elif nodeName_ == 'articles': + obj_ = articlesType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.articles.append(obj_) + obj_.original_tagname_ = 'articles' +# end class consignmentType + + +class CollectionTrgType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, priopntime=None, priclotime=None, secopntime=None, secclotime=None, availabilitytime=None, pickupdate=None, pickuptime=None, pickupinstr=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.priopntime = priopntime + self.priopntime_nsprefix_ = None + self.priclotime = priclotime + self.priclotime_nsprefix_ = None + self.secopntime = secopntime + self.secopntime_nsprefix_ = None + self.secclotime = secclotime + self.secclotime_nsprefix_ = None + self.availabilitytime = availabilitytime + self.availabilitytime_nsprefix_ = None + self.pickupdate = pickupdate + self.pickupdate_nsprefix_ = None + self.pickuptime = pickuptime + self.pickuptime_nsprefix_ = None + self.pickupinstr = pickupinstr + self.pickupinstr_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CollectionTrgType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CollectionTrgType.subclass: + return CollectionTrgType.subclass(*args_, **kwargs_) + else: + return CollectionTrgType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_priopntime(self): + return self.priopntime + def set_priopntime(self, priopntime): + self.priopntime = priopntime + def get_priclotime(self): + return self.priclotime + def set_priclotime(self, priclotime): + self.priclotime = priclotime + def get_secopntime(self): + return self.secopntime + def set_secopntime(self, secopntime): + self.secopntime = secopntime + def get_secclotime(self): + return self.secclotime + def set_secclotime(self, secclotime): + self.secclotime = secclotime + def get_availabilitytime(self): + return self.availabilitytime + def set_availabilitytime(self, availabilitytime): + self.availabilitytime = availabilitytime + def get_pickupdate(self): + return self.pickupdate + def set_pickupdate(self, pickupdate): + self.pickupdate = pickupdate + def get_pickuptime(self): + return self.pickuptime + def set_pickuptime(self, pickuptime): + self.pickuptime = pickuptime + def get_pickupinstr(self): + return self.pickupinstr + def set_pickupinstr(self, pickupinstr): + self.pickupinstr = pickupinstr + def has__content(self): + if ( + self.priopntime is not None or + self.priclotime is not None or + self.secopntime is not None or + self.secclotime is not None or + self.availabilitytime is not None or + self.pickupdate is not None or + self.pickuptime is not None or + self.pickupinstr is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CollectionTrgType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CollectionTrgType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CollectionTrgType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CollectionTrgType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CollectionTrgType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CollectionTrgType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='CollectionTrgType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.priopntime is not None: + namespaceprefix_ = self.priopntime_nsprefix_ + ':' if (UseCapturedNS_ and self.priopntime_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%spriopntime>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.priopntime, input_name='priopntime'), namespaceprefix_ , eol_)) + if self.priclotime is not None: + namespaceprefix_ = self.priclotime_nsprefix_ + ':' if (UseCapturedNS_ and self.priclotime_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%spriclotime>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.priclotime, input_name='priclotime'), namespaceprefix_ , eol_)) + if self.secopntime is not None: + namespaceprefix_ = self.secopntime_nsprefix_ + ':' if (UseCapturedNS_ and self.secopntime_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%ssecopntime>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.secopntime, input_name='secopntime'), namespaceprefix_ , eol_)) + if self.secclotime is not None: + namespaceprefix_ = self.secclotime_nsprefix_ + ':' if (UseCapturedNS_ and self.secclotime_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%ssecclotime>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.secclotime, input_name='secclotime'), namespaceprefix_ , eol_)) + if self.availabilitytime is not None: + namespaceprefix_ = self.availabilitytime_nsprefix_ + ':' if (UseCapturedNS_ and self.availabilitytime_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%savailabilitytime>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.availabilitytime, input_name='availabilitytime'), namespaceprefix_ , eol_)) + if self.pickupdate is not None: + namespaceprefix_ = self.pickupdate_nsprefix_ + ':' if (UseCapturedNS_ and self.pickupdate_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%spickupdate>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.pickupdate), input_name='pickupdate')), namespaceprefix_ , eol_)) + if self.pickuptime is not None: + namespaceprefix_ = self.pickuptime_nsprefix_ + ':' if (UseCapturedNS_ and self.pickuptime_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%spickuptime>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.pickuptime, input_name='pickuptime'), namespaceprefix_ , eol_)) + if self.pickupinstr is not None: + namespaceprefix_ = self.pickupinstr_nsprefix_ + ':' if (UseCapturedNS_ and self.pickupinstr_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%spickupinstr>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.pickupinstr), input_name='pickupinstr')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'priopntime' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'priopntime') + ival_ = self.gds_validate_integer(ival_, node, 'priopntime') + self.priopntime = ival_ + self.priopntime_nsprefix_ = child_.prefix + elif nodeName_ == 'priclotime' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'priclotime') + ival_ = self.gds_validate_integer(ival_, node, 'priclotime') + self.priclotime = ival_ + self.priclotime_nsprefix_ = child_.prefix + elif nodeName_ == 'secopntime' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'secopntime') + ival_ = self.gds_validate_integer(ival_, node, 'secopntime') + self.secopntime = ival_ + self.secopntime_nsprefix_ = child_.prefix + elif nodeName_ == 'secclotime' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'secclotime') + ival_ = self.gds_validate_integer(ival_, node, 'secclotime') + self.secclotime = ival_ + self.secclotime_nsprefix_ = child_.prefix + elif nodeName_ == 'availabilitytime' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'availabilitytime') + ival_ = self.gds_validate_integer(ival_, node, 'availabilitytime') + self.availabilitytime = ival_ + self.availabilitytime_nsprefix_ = child_.prefix + elif nodeName_ == 'pickupdate': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'pickupdate') + value_ = self.gds_validate_string(value_, node, 'pickupdate') + self.pickupdate = value_ + self.pickupdate_nsprefix_ = child_.prefix + elif nodeName_ == 'pickuptime' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'pickuptime') + ival_ = self.gds_validate_integer(ival_, node, 'pickuptime') + self.pickuptime = ival_ + self.pickuptime_nsprefix_ = child_.prefix + elif nodeName_ == 'pickupinstr': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'pickupinstr') + value_ = self.gds_validate_string(value_, node, 'pickupinstr') + self.pickupinstr = value_ + self.pickupinstr_nsprefix_ = child_.prefix +# end class CollectionTrgType + + +class collectiontrgType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, priopntime=None, priclotime=None, secopntime=None, secclotime=None, availabilitytime=None, pickupdate=None, pickuptime=None, pickupinstr=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.priopntime = priopntime + self.priopntime_nsprefix_ = None + self.priclotime = priclotime + self.priclotime_nsprefix_ = None + self.secopntime = secopntime + self.secopntime_nsprefix_ = None + self.secclotime = secclotime + self.secclotime_nsprefix_ = None + self.availabilitytime = availabilitytime + self.availabilitytime_nsprefix_ = None + self.pickupdate = pickupdate + self.pickupdate_nsprefix_ = None + self.pickuptime = pickuptime + self.pickuptime_nsprefix_ = None + self.pickupinstr = pickupinstr + self.pickupinstr_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, collectiontrgType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if collectiontrgType.subclass: + return collectiontrgType.subclass(*args_, **kwargs_) + else: + return collectiontrgType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_priopntime(self): + return self.priopntime + def set_priopntime(self, priopntime): + self.priopntime = priopntime + def get_priclotime(self): + return self.priclotime + def set_priclotime(self, priclotime): + self.priclotime = priclotime + def get_secopntime(self): + return self.secopntime + def set_secopntime(self, secopntime): + self.secopntime = secopntime + def get_secclotime(self): + return self.secclotime + def set_secclotime(self, secclotime): + self.secclotime = secclotime + def get_availabilitytime(self): + return self.availabilitytime + def set_availabilitytime(self, availabilitytime): + self.availabilitytime = availabilitytime + def get_pickupdate(self): + return self.pickupdate + def set_pickupdate(self, pickupdate): + self.pickupdate = pickupdate + def get_pickuptime(self): + return self.pickuptime + def set_pickuptime(self, pickuptime): + self.pickuptime = pickuptime + def get_pickupinstr(self): + return self.pickupinstr + def set_pickupinstr(self, pickupinstr): + self.pickupinstr = pickupinstr + def has__content(self): + if ( + self.priopntime is not None or + self.priclotime is not None or + self.secopntime is not None or + self.secclotime is not None or + self.availabilitytime is not None or + self.pickupdate is not None or + self.pickuptime is not None or + self.pickupinstr is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='collectiontrgType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('collectiontrgType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'collectiontrgType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='collectiontrgType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='collectiontrgType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='collectiontrgType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='collectiontrgType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.priopntime is not None: + namespaceprefix_ = self.priopntime_nsprefix_ + ':' if (UseCapturedNS_ and self.priopntime_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%spriopntime>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.priopntime, input_name='priopntime'), namespaceprefix_ , eol_)) + if self.priclotime is not None: + namespaceprefix_ = self.priclotime_nsprefix_ + ':' if (UseCapturedNS_ and self.priclotime_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%spriclotime>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.priclotime, input_name='priclotime'), namespaceprefix_ , eol_)) + if self.secopntime is not None: + namespaceprefix_ = self.secopntime_nsprefix_ + ':' if (UseCapturedNS_ and self.secopntime_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%ssecopntime>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.secopntime, input_name='secopntime'), namespaceprefix_ , eol_)) + if self.secclotime is not None: + namespaceprefix_ = self.secclotime_nsprefix_ + ':' if (UseCapturedNS_ and self.secclotime_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%ssecclotime>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.secclotime, input_name='secclotime'), namespaceprefix_ , eol_)) + if self.availabilitytime is not None: + namespaceprefix_ = self.availabilitytime_nsprefix_ + ':' if (UseCapturedNS_ and self.availabilitytime_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%savailabilitytime>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.availabilitytime, input_name='availabilitytime'), namespaceprefix_ , eol_)) + if self.pickupdate is not None: + namespaceprefix_ = self.pickupdate_nsprefix_ + ':' if (UseCapturedNS_ and self.pickupdate_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%spickupdate>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.pickupdate), input_name='pickupdate')), namespaceprefix_ , eol_)) + if self.pickuptime is not None: + namespaceprefix_ = self.pickuptime_nsprefix_ + ':' if (UseCapturedNS_ and self.pickuptime_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%spickuptime>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.pickuptime, input_name='pickuptime'), namespaceprefix_ , eol_)) + if self.pickupinstr is not None: + namespaceprefix_ = self.pickupinstr_nsprefix_ + ':' if (UseCapturedNS_ and self.pickupinstr_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%spickupinstr>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.pickupinstr), input_name='pickupinstr')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'priopntime' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'priopntime') + ival_ = self.gds_validate_integer(ival_, node, 'priopntime') + self.priopntime = ival_ + self.priopntime_nsprefix_ = child_.prefix + elif nodeName_ == 'priclotime' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'priclotime') + ival_ = self.gds_validate_integer(ival_, node, 'priclotime') + self.priclotime = ival_ + self.priclotime_nsprefix_ = child_.prefix + elif nodeName_ == 'secopntime' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'secopntime') + ival_ = self.gds_validate_integer(ival_, node, 'secopntime') + self.secopntime = ival_ + self.secopntime_nsprefix_ = child_.prefix + elif nodeName_ == 'secclotime' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'secclotime') + ival_ = self.gds_validate_integer(ival_, node, 'secclotime') + self.secclotime = ival_ + self.secclotime_nsprefix_ = child_.prefix + elif nodeName_ == 'availabilitytime' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'availabilitytime') + ival_ = self.gds_validate_integer(ival_, node, 'availabilitytime') + self.availabilitytime = ival_ + self.availabilitytime_nsprefix_ = child_.prefix + elif nodeName_ == 'pickupdate': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'pickupdate') + value_ = self.gds_validate_string(value_, node, 'pickupdate') + self.pickupdate = value_ + self.pickupdate_nsprefix_ = child_.prefix + elif nodeName_ == 'pickuptime' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'pickuptime') + ival_ = self.gds_validate_integer(ival_, node, 'pickuptime') + self.pickuptime = ival_ + self.pickuptime_nsprefix_ = child_.prefix + elif nodeName_ == 'pickupinstr': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'pickupinstr') + value_ = self.gds_validate_string(value_, node, 'pickupinstr') + self.pickupinstr = value_ + self.pickupinstr_nsprefix_ = child_.prefix +# end class collectiontrgType + + +class optionsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, option=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if option is None: + self.option = [] + else: + self.option = option + self.option_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, optionsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if optionsType.subclass: + return optionsType.subclass(*args_, **kwargs_) + else: + return optionsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_option(self): + return self.option + def set_option(self, option): + self.option = option + def add_option(self, value): + self.option.append(value) + def insert_option_at(self, index, value): + self.option.insert(index, value) + def replace_option_at(self, index, value): + self.option[index] = value + def validate_optionType(self, value): + result = True + # Validate type optionType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on optionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.option + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='optionsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('optionsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'optionsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='optionsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='optionsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='optionsType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='optionsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for option_ in self.option: + namespaceprefix_ = self.option_nsprefix_ + ':' if (UseCapturedNS_ and self.option_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%soption>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(option_), input_name='option')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'option': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'option') + value_ = self.gds_validate_string(value_, node, 'option') + self.option.append(value_) + self.option_nsprefix_ = child_.prefix + # validate type optionType + self.validate_optionType(self.option[-1]) +# end class optionsType + + +class addressesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, address=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + if address is None: + self.address = [] + else: + self.address = address + self.address_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, addressesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if addressesType.subclass: + return addressesType.subclass(*args_, **kwargs_) + else: + return addressesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_address(self): + return self.address + def set_address(self, address): + self.address = address + def add_address(self, value): + self.address.append(value) + def insert_address_at(self, index, value): + self.address.insert(index, value) + def replace_address_at(self, index, value): + self.address[index] = value + def has__content(self): + if ( + self.address + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='addressesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('addressesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'addressesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='addressesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='addressesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='addressesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='addressesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for address_ in self.address: + namespaceprefix_ = self.address_nsprefix_ + ':' if (UseCapturedNS_ and self.address_nsprefix_) else '' + address_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='address', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'address': + obj_ = addressType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.address.append(obj_) + obj_.original_tagname_ = 'address' +# end class addressesType + + +class addressType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, action=None, addressType_member=None, vatno=None, addrline1=None, addrline2=None, addrline3=None, postcode=None, phone1=None, phone2=None, name=None, country=None, town=None, contactnamecontactname=None, fax1=None, fax2=None, email=None, telex=None, province=None, custcountry=None, title=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.action = _cast(None, action) + self.action_nsprefix_ = None + self.addressType = addressType_member + self.validate_addressTypeType(self.addressType) + self.addressType_nsprefix_ = None + self.vatno = vatno + self.validate_vatnoType(self.vatno) + self.vatno_nsprefix_ = None + self.addrline1 = addrline1 + self.validate_addrline1Type(self.addrline1) + self.addrline1_nsprefix_ = None + self.addrline2 = addrline2 + self.validate_addrline2Type(self.addrline2) + self.addrline2_nsprefix_ = None + self.addrline3 = addrline3 + self.validate_addrline3Type(self.addrline3) + self.addrline3_nsprefix_ = None + self.postcode = postcode + self.validate_postcodeType(self.postcode) + self.postcode_nsprefix_ = None + self.phone1 = phone1 + self.validate_phone1Type(self.phone1) + self.phone1_nsprefix_ = None + self.phone2 = phone2 + self.validate_phone2Type(self.phone2) + self.phone2_nsprefix_ = None + self.name = name + self.validate_nameType(self.name) + self.name_nsprefix_ = None + self.country = country + self.validate_countryType(self.country) + self.country_nsprefix_ = None + self.town = town + self.validate_townType(self.town) + self.town_nsprefix_ = None + self.contactnamecontactname = contactnamecontactname + self.validate_contactnamecontactnameType(self.contactnamecontactname) + self.contactnamecontactname_nsprefix_ = None + self.fax1 = fax1 + self.validate_fax1Type(self.fax1) + self.fax1_nsprefix_ = None + self.fax2 = fax2 + self.validate_fax2Type(self.fax2) + self.fax2_nsprefix_ = None + self.email = email + self.validate_emailType(self.email) + self.email_nsprefix_ = None + self.telex = telex + self.validate_telexType(self.telex) + self.telex_nsprefix_ = None + self.province = province + self.validate_provinceType(self.province) + self.province_nsprefix_ = None + self.custcountry = custcountry + self.validate_custcountryType(self.custcountry) + self.custcountry_nsprefix_ = None + self.title = title + self.validate_titleType(self.title) + self.title_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, addressType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if addressType.subclass: + return addressType.subclass(*args_, **kwargs_) + else: + return addressType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_addressType(self): + return self.addressType + def set_addressType(self, addressType): + self.addressType = addressType + def get_vatno(self): + return self.vatno + def set_vatno(self, vatno): + self.vatno = vatno + def get_addrline1(self): + return self.addrline1 + def set_addrline1(self, addrline1): + self.addrline1 = addrline1 + def get_addrline2(self): + return self.addrline2 + def set_addrline2(self, addrline2): + self.addrline2 = addrline2 + def get_addrline3(self): + return self.addrline3 + def set_addrline3(self, addrline3): + self.addrline3 = addrline3 + def get_postcode(self): + return self.postcode + def set_postcode(self, postcode): + self.postcode = postcode + def get_phone1(self): + return self.phone1 + def set_phone1(self, phone1): + self.phone1 = phone1 + def get_phone2(self): + return self.phone2 + def set_phone2(self, phone2): + self.phone2 = phone2 + def get_name(self): + return self.name + def set_name(self, name): + self.name = name + def get_country(self): + return self.country + def set_country(self, country): + self.country = country + def get_town(self): + return self.town + def set_town(self, town): + self.town = town + def get_contactnamecontactname(self): + return self.contactnamecontactname + def set_contactnamecontactname(self, contactnamecontactname): + self.contactnamecontactname = contactnamecontactname + def get_fax1(self): + return self.fax1 + def set_fax1(self, fax1): + self.fax1 = fax1 + def get_fax2(self): + return self.fax2 + def set_fax2(self, fax2): + self.fax2 = fax2 + def get_email(self): + return self.email + def set_email(self, email): + self.email = email + def get_telex(self): + return self.telex + def set_telex(self, telex): + self.telex = telex + def get_province(self): + return self.province + def set_province(self, province): + self.province = province + def get_custcountry(self): + return self.custcountry + def set_custcountry(self, custcountry): + self.custcountry = custcountry + def get_title(self): + return self.title + def set_title(self, title): + self.title = title + def get_action(self): + return self.action + def set_action(self, action): + self.action = action + def validate_addressTypeType(self, value): + result = True + # Validate type addressTypeType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 2: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on addressTypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_vatnoType(self, value): + result = True + # Validate type vatnoType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 20: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on vatnoType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_addrline1Type(self, value): + result = True + # Validate type addrline1Type, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 100: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on addrline1Type' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_addrline2Type(self, value): + result = True + # Validate type addrline2Type, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 100: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on addrline2Type' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_addrline3Type(self, value): + result = True + # Validate type addrline3Type, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 100: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on addrline3Type' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_postcodeType(self, value): + result = True + # Validate type postcodeType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 20: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on postcodeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_phone1Type(self, value): + result = True + # Validate type phone1Type, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 11: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on phone1Type' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_phone2Type(self, value): + result = True + # Validate type phone2Type, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 11: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on phone2Type' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_nameType(self, value): + result = True + # Validate type nameType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 50: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on nameType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_countryType(self, value): + result = True + # Validate type countryType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on countryType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_townType(self, value): + result = True + # Validate type townType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 30: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on townType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_contactnamecontactnameType(self, value): + result = True + # Validate type contactnamecontactnameType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 50: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on contactnamecontactnameType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_fax1Type(self, value): + result = True + # Validate type fax1Type, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 50: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on fax1Type' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_fax2Type(self, value): + result = True + # Validate type fax2Type, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 50: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on fax2Type' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_emailType(self, value): + result = True + # Validate type emailType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 60: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on emailType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_telexType(self, value): + result = True + # Validate type telexType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 9: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on telexType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_provinceType(self, value): + result = True + # Validate type provinceType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 30: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on provinceType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_custcountryType(self, value): + result = True + # Validate type custcountryType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on custcountryType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_titleType(self, value): + result = True + # Validate type titleType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 4: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on titleType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_actionType(self, value): + # Validate type actionType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 10: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on actionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on actionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.addressType is not None or + self.vatno is not None or + self.addrline1 is not None or + self.addrline2 is not None or + self.addrline3 is not None or + self.postcode is not None or + self.phone1 is not None or + self.phone2 is not None or + self.name is not None or + self.country is not None or + self.town is not None or + self.contactnamecontactname is not None or + self.fax1 is not None or + self.fax2 is not None or + self.email is not None or + self.telex is not None or + self.province is not None or + self.custcountry is not None or + self.title is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='addressType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('addressType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'addressType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='addressType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='addressType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='addressType'): + if self.action is not None and 'action' not in already_processed: + already_processed.add('action') + outfile.write(' action=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.action), input_name='action')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='addressType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.addressType is not None: + namespaceprefix_ = self.addressType_nsprefix_ + ':' if (UseCapturedNS_ and self.addressType_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%saddressType>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.addressType), input_name='addressType')), namespaceprefix_ , eol_)) + if self.vatno is not None: + namespaceprefix_ = self.vatno_nsprefix_ + ':' if (UseCapturedNS_ and self.vatno_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%svatno>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vatno), input_name='vatno')), namespaceprefix_ , eol_)) + if self.addrline1 is not None: + namespaceprefix_ = self.addrline1_nsprefix_ + ':' if (UseCapturedNS_ and self.addrline1_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%saddrline1>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.addrline1), input_name='addrline1')), namespaceprefix_ , eol_)) + if self.addrline2 is not None: + namespaceprefix_ = self.addrline2_nsprefix_ + ':' if (UseCapturedNS_ and self.addrline2_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%saddrline2>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.addrline2), input_name='addrline2')), namespaceprefix_ , eol_)) + if self.addrline3 is not None: + namespaceprefix_ = self.addrline3_nsprefix_ + ':' if (UseCapturedNS_ and self.addrline3_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%saddrline3>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.addrline3), input_name='addrline3')), namespaceprefix_ , eol_)) + if self.postcode is not None: + namespaceprefix_ = self.postcode_nsprefix_ + ':' if (UseCapturedNS_ and self.postcode_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%spostcode>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.postcode), input_name='postcode')), namespaceprefix_ , eol_)) + if self.phone1 is not None: + namespaceprefix_ = self.phone1_nsprefix_ + ':' if (UseCapturedNS_ and self.phone1_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sphone1>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.phone1), input_name='phone1')), namespaceprefix_ , eol_)) + if self.phone2 is not None: + namespaceprefix_ = self.phone2_nsprefix_ + ':' if (UseCapturedNS_ and self.phone2_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sphone2>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.phone2), input_name='phone2')), namespaceprefix_ , eol_)) + if self.name is not None: + namespaceprefix_ = self.name_nsprefix_ + ':' if (UseCapturedNS_ and self.name_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sname>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.name), input_name='name')), namespaceprefix_ , eol_)) + if self.country is not None: + namespaceprefix_ = self.country_nsprefix_ + ':' if (UseCapturedNS_ and self.country_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%scountry>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.country), input_name='country')), namespaceprefix_ , eol_)) + if self.town is not None: + namespaceprefix_ = self.town_nsprefix_ + ':' if (UseCapturedNS_ and self.town_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%stown>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.town), input_name='town')), namespaceprefix_ , eol_)) + if self.contactnamecontactname is not None: + namespaceprefix_ = self.contactnamecontactname_nsprefix_ + ':' if (UseCapturedNS_ and self.contactnamecontactname_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%scontactnamecontactname>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.contactnamecontactname), input_name='contactnamecontactname')), namespaceprefix_ , eol_)) + if self.fax1 is not None: + namespaceprefix_ = self.fax1_nsprefix_ + ':' if (UseCapturedNS_ and self.fax1_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sfax1>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.fax1), input_name='fax1')), namespaceprefix_ , eol_)) + if self.fax2 is not None: + namespaceprefix_ = self.fax2_nsprefix_ + ':' if (UseCapturedNS_ and self.fax2_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sfax2>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.fax2), input_name='fax2')), namespaceprefix_ , eol_)) + if self.email is not None: + namespaceprefix_ = self.email_nsprefix_ + ':' if (UseCapturedNS_ and self.email_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%semail>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.email), input_name='email')), namespaceprefix_ , eol_)) + if self.telex is not None: + namespaceprefix_ = self.telex_nsprefix_ + ':' if (UseCapturedNS_ and self.telex_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%stelex>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.telex), input_name='telex')), namespaceprefix_ , eol_)) + if self.province is not None: + namespaceprefix_ = self.province_nsprefix_ + ':' if (UseCapturedNS_ and self.province_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sprovince>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.province), input_name='province')), namespaceprefix_ , eol_)) + if self.custcountry is not None: + namespaceprefix_ = self.custcountry_nsprefix_ + ':' if (UseCapturedNS_ and self.custcountry_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%scustcountry>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.custcountry), input_name='custcountry')), namespaceprefix_ , eol_)) + if self.title is not None: + namespaceprefix_ = self.title_nsprefix_ + ':' if (UseCapturedNS_ and self.title_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%stitle>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.title), input_name='title')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('action', node) + if value is not None and 'action' not in already_processed: + already_processed.add('action') + self.action = value + self.validate_actionType(self.action) # validate type actionType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'addressType': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'addressType') + value_ = self.gds_validate_string(value_, node, 'addressType') + self.addressType = value_ + self.addressType_nsprefix_ = child_.prefix + # validate type addressTypeType + self.validate_addressTypeType(self.addressType) + elif nodeName_ == 'vatno': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'vatno') + value_ = self.gds_validate_string(value_, node, 'vatno') + self.vatno = value_ + self.vatno_nsprefix_ = child_.prefix + # validate type vatnoType + self.validate_vatnoType(self.vatno) + elif nodeName_ == 'addrline1': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'addrline1') + value_ = self.gds_validate_string(value_, node, 'addrline1') + self.addrline1 = value_ + self.addrline1_nsprefix_ = child_.prefix + # validate type addrline1Type + self.validate_addrline1Type(self.addrline1) + elif nodeName_ == 'addrline2': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'addrline2') + value_ = self.gds_validate_string(value_, node, 'addrline2') + self.addrline2 = value_ + self.addrline2_nsprefix_ = child_.prefix + # validate type addrline2Type + self.validate_addrline2Type(self.addrline2) + elif nodeName_ == 'addrline3': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'addrline3') + value_ = self.gds_validate_string(value_, node, 'addrline3') + self.addrline3 = value_ + self.addrline3_nsprefix_ = child_.prefix + # validate type addrline3Type + self.validate_addrline3Type(self.addrline3) + elif nodeName_ == 'postcode': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'postcode') + value_ = self.gds_validate_string(value_, node, 'postcode') + self.postcode = value_ + self.postcode_nsprefix_ = child_.prefix + # validate type postcodeType + self.validate_postcodeType(self.postcode) + elif nodeName_ == 'phone1': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'phone1') + value_ = self.gds_validate_string(value_, node, 'phone1') + self.phone1 = value_ + self.phone1_nsprefix_ = child_.prefix + # validate type phone1Type + self.validate_phone1Type(self.phone1) + elif nodeName_ == 'phone2': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'phone2') + value_ = self.gds_validate_string(value_, node, 'phone2') + self.phone2 = value_ + self.phone2_nsprefix_ = child_.prefix + # validate type phone2Type + self.validate_phone2Type(self.phone2) + elif nodeName_ == 'name': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'name') + value_ = self.gds_validate_string(value_, node, 'name') + self.name = value_ + self.name_nsprefix_ = child_.prefix + # validate type nameType + self.validate_nameType(self.name) + elif nodeName_ == 'country': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'country') + value_ = self.gds_validate_string(value_, node, 'country') + self.country = value_ + self.country_nsprefix_ = child_.prefix + # validate type countryType + self.validate_countryType(self.country) + elif nodeName_ == 'town': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'town') + value_ = self.gds_validate_string(value_, node, 'town') + self.town = value_ + self.town_nsprefix_ = child_.prefix + # validate type townType + self.validate_townType(self.town) + elif nodeName_ == 'contactnamecontactname': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'contactnamecontactname') + value_ = self.gds_validate_string(value_, node, 'contactnamecontactname') + self.contactnamecontactname = value_ + self.contactnamecontactname_nsprefix_ = child_.prefix + # validate type contactnamecontactnameType + self.validate_contactnamecontactnameType(self.contactnamecontactname) + elif nodeName_ == 'fax1': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'fax1') + value_ = self.gds_validate_string(value_, node, 'fax1') + self.fax1 = value_ + self.fax1_nsprefix_ = child_.prefix + # validate type fax1Type + self.validate_fax1Type(self.fax1) + elif nodeName_ == 'fax2': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'fax2') + value_ = self.gds_validate_string(value_, node, 'fax2') + self.fax2 = value_ + self.fax2_nsprefix_ = child_.prefix + # validate type fax2Type + self.validate_fax2Type(self.fax2) + elif nodeName_ == 'email': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'email') + value_ = self.gds_validate_string(value_, node, 'email') + self.email = value_ + self.email_nsprefix_ = child_.prefix + # validate type emailType + self.validate_emailType(self.email) + elif nodeName_ == 'telex': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'telex') + value_ = self.gds_validate_string(value_, node, 'telex') + self.telex = value_ + self.telex_nsprefix_ = child_.prefix + # validate type telexType + self.validate_telexType(self.telex) + elif nodeName_ == 'province': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'province') + value_ = self.gds_validate_string(value_, node, 'province') + self.province = value_ + self.province_nsprefix_ = child_.prefix + # validate type provinceType + self.validate_provinceType(self.province) + elif nodeName_ == 'custcountry': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'custcountry') + value_ = self.gds_validate_string(value_, node, 'custcountry') + self.custcountry = value_ + self.custcountry_nsprefix_ = child_.prefix + # validate type custcountryType + self.validate_custcountryType(self.custcountry) + elif nodeName_ == 'title': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'title') + value_ = self.gds_validate_string(value_, node, 'title') + self.title = value_ + self.title_nsprefix_ = child_.prefix + # validate type titleType + self.validate_titleType(self.title) +# end class addressType + + +class dimensionsType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, itemaction=None, international=None, International=None, internazionale=None, Internazionale=None, list=None, insurancecommision=None, cashondeliver=None, codcommision=None, itemsequenceno=None, itemtype=None, itemreference=None, volume=None, weight=None, length=None, height=None, width=None, quantity=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.itemaction = _cast(None, itemaction) + self.itemaction_nsprefix_ = None + self.international = _cast(None, international) + self.international_nsprefix_ = None + self.International = _cast(None, International) + self.International_nsprefix_ = None + self.internazionale = _cast(None, internazionale) + self.internazionale_nsprefix_ = None + self.Internazionale = _cast(None, Internazionale) + self.Internazionale_nsprefix_ = None + self.list = _cast(None, list) + self.list_nsprefix_ = None + self.insurancecommision = _cast(None, insurancecommision) + self.insurancecommision_nsprefix_ = None + self.cashondeliver = _cast(None, cashondeliver) + self.cashondeliver_nsprefix_ = None + self.codcommision = _cast(None, codcommision) + self.codcommision_nsprefix_ = None + self.itemsequenceno = itemsequenceno + self.validate_itemsequencenoType(self.itemsequenceno) + self.itemsequenceno_nsprefix_ = None + self.itemtype = itemtype + self.validate_itemtypeType(self.itemtype) + self.itemtype_nsprefix_ = None + self.itemreference = itemreference + self.validate_itemreferenceType(self.itemreference) + self.itemreference_nsprefix_ = None + self.volume = volume + self.validate_volumeType(self.volume) + self.volume_nsprefix_ = None + self.weight = weight + self.validate_weightType(self.weight) + self.weight_nsprefix_ = None + self.length = length + self.validate_lengthType(self.length) + self.length_nsprefix_ = None + self.height = height + self.validate_heightType(self.height) + self.height_nsprefix_ = None + self.width = width + self.validate_widthType(self.width) + self.width_nsprefix_ = None + self.quantity = quantity + self.validate_quantityType(self.quantity) + self.quantity_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, dimensionsType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if dimensionsType.subclass: + return dimensionsType.subclass(*args_, **kwargs_) + else: + return dimensionsType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_itemsequenceno(self): + return self.itemsequenceno + def set_itemsequenceno(self, itemsequenceno): + self.itemsequenceno = itemsequenceno + def get_itemtype(self): + return self.itemtype + def set_itemtype(self, itemtype): + self.itemtype = itemtype + def get_itemreference(self): + return self.itemreference + def set_itemreference(self, itemreference): + self.itemreference = itemreference + def get_volume(self): + return self.volume + def set_volume(self, volume): + self.volume = volume + def get_weight(self): + return self.weight + def set_weight(self, weight): + self.weight = weight + def get_length(self): + return self.length + def set_length(self, length): + self.length = length + def get_height(self): + return self.height + def set_height(self, height): + self.height = height + def get_width(self): + return self.width + def set_width(self, width): + self.width = width + def get_quantity(self): + return self.quantity + def set_quantity(self, quantity): + self.quantity = quantity + def get_itemaction(self): + return self.itemaction + def set_itemaction(self, itemaction): + self.itemaction = itemaction + def get_international(self): + return self.international + def set_international(self, international): + self.international = international + def get_International(self): + return self.International + def set_International(self, International): + self.International = International + def get_internazionale(self): + return self.internazionale + def set_internazionale(self, internazionale): + self.internazionale = internazionale + def get_Internazionale(self): + return self.Internazionale + def set_Internazionale(self, Internazionale): + self.Internazionale = Internazionale + def get_list(self): + return self.list + def set_list(self, list): + self.list = list + def get_insurancecommision(self): + return self.insurancecommision + def set_insurancecommision(self, insurancecommision): + self.insurancecommision = insurancecommision + def get_cashondeliver(self): + return self.cashondeliver + def set_cashondeliver(self, cashondeliver): + self.cashondeliver = cashondeliver + def get_codcommision(self): + return self.codcommision + def set_codcommision(self, codcommision): + self.codcommision = codcommision + def validate_itemsequencenoType(self, value): + result = True + # Validate type itemsequencenoType, a restriction on xsd:integer. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if value < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on itemsequencenoType' % {"value": value, "lineno": lineno} ) + result = False + if len(str(value)) >= 5: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd totalDigits restriction on itemsequencenoType' % {"value": value, "lineno": lineno} ) + result = False + return result + def validate_itemtypeType(self, value): + result = True + # Validate type itemtypeType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 50: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on itemtypeType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_itemreferenceType(self, value): + result = True + # Validate type itemreferenceType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 24: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on itemreferenceType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_volumeType(self, value): + result = True + # Validate type volumeType, a restriction on xsd:integer. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if value < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on volumeType' % {"value": value, "lineno": lineno} ) + result = False + if len(str(value)) >= 7: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd totalDigits restriction on volumeType' % {"value": value, "lineno": lineno} ) + result = False + return result + def validate_weightType(self, value): + result = True + # Validate type weightType, a restriction on xsd:integer. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if value < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on weightType' % {"value": value, "lineno": lineno} ) + result = False + if len(str(value)) >= 8: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd totalDigits restriction on weightType' % {"value": value, "lineno": lineno} ) + result = False + return result + def validate_lengthType(self, value): + result = True + # Validate type lengthType, a restriction on xsd:integer. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if value < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on lengthType' % {"value": value, "lineno": lineno} ) + result = False + if len(str(value)) >= 6: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd totalDigits restriction on lengthType' % {"value": value, "lineno": lineno} ) + result = False + return result + def validate_heightType(self, value): + result = True + # Validate type heightType, a restriction on xsd:integer. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if value < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on heightType' % {"value": value, "lineno": lineno} ) + result = False + if len(str(value)) >= 6: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd totalDigits restriction on heightType' % {"value": value, "lineno": lineno} ) + result = False + return result + def validate_widthType(self, value): + result = True + # Validate type widthType, a restriction on xsd:integer. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if value < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on widthType' % {"value": value, "lineno": lineno} ) + result = False + if len(str(value)) >= 6: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd totalDigits restriction on widthType' % {"value": value, "lineno": lineno} ) + result = False + return result + def validate_quantityType(self, value): + result = True + # Validate type quantityType, a restriction on xsd:integer. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, int): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (int)' % {"value": value, "lineno": lineno, }) + return False + if value < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minInclusive restriction on quantityType' % {"value": value, "lineno": lineno} ) + result = False + if len(str(value)) >= 5: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd totalDigits restriction on quantityType' % {"value": value, "lineno": lineno} ) + result = False + return result + def validate_itemactionType(self, value): + # Validate type itemactionType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on itemactionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on itemactionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_internationalType(self, value): + # Validate type internationalType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on internationalType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on internationalType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_InternationalType(self, value): + # Validate type InternationalType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on InternationalType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on InternationalType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_internazionaleType(self, value): + # Validate type internazionaleType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on internazionaleType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on internazionaleType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_InternazionaleType(self, value): + # Validate type InternazionaleType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on InternazionaleType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on InternazionaleType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_listType(self, value): + # Validate type listType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on listType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 1: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on listType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_insurancecommisionType(self, value): + # Validate type insurancecommisionType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on insurancecommisionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on insurancecommisionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_cashondeliverType(self, value): + # Validate type cashondeliverType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on cashondeliverType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on cashondeliverType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def validate_codcommisionType(self, value): + # Validate type codcommisionType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on codcommisionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + if len(value) < 0: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd minLength restriction on codcommisionType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + def has__content(self): + if ( + self.itemsequenceno is not None or + self.itemtype is not None or + self.itemreference is not None or + self.volume is not None or + self.weight is not None or + self.length is not None or + self.height is not None or + self.width is not None or + self.quantity is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='dimensionsType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('dimensionsType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'dimensionsType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='dimensionsType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='dimensionsType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='dimensionsType'): + if self.itemaction is not None and 'itemaction' not in already_processed: + already_processed.add('itemaction') + outfile.write(' itemaction=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.itemaction), input_name='itemaction')), )) + if self.international is not None and 'international' not in already_processed: + already_processed.add('international') + outfile.write(' international=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.international), input_name='international')), )) + if self.International is not None and 'International' not in already_processed: + already_processed.add('International') + outfile.write(' International=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.International), input_name='International')), )) + if self.internazionale is not None and 'internazionale' not in already_processed: + already_processed.add('internazionale') + outfile.write(' internazionale=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.internazionale), input_name='internazionale')), )) + if self.Internazionale is not None and 'Internazionale' not in already_processed: + already_processed.add('Internazionale') + outfile.write(' Internazionale=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Internazionale), input_name='Internazionale')), )) + if self.list is not None and 'list' not in already_processed: + already_processed.add('list') + outfile.write(' list=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.list), input_name='list')), )) + if self.insurancecommision is not None and 'insurancecommision' not in already_processed: + already_processed.add('insurancecommision') + outfile.write(' insurancecommision=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.insurancecommision), input_name='insurancecommision')), )) + if self.cashondeliver is not None and 'cashondeliver' not in already_processed: + already_processed.add('cashondeliver') + outfile.write(' cashondeliver=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.cashondeliver), input_name='cashondeliver')), )) + if self.codcommision is not None and 'codcommision' not in already_processed: + already_processed.add('codcommision') + outfile.write(' codcommision=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.codcommision), input_name='codcommision')), )) + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='dimensionsType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.itemsequenceno is not None: + namespaceprefix_ = self.itemsequenceno_nsprefix_ + ':' if (UseCapturedNS_ and self.itemsequenceno_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sitemsequenceno>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.itemsequenceno, input_name='itemsequenceno'), namespaceprefix_ , eol_)) + if self.itemtype is not None: + namespaceprefix_ = self.itemtype_nsprefix_ + ':' if (UseCapturedNS_ and self.itemtype_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sitemtype>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.itemtype), input_name='itemtype')), namespaceprefix_ , eol_)) + if self.itemreference is not None: + namespaceprefix_ = self.itemreference_nsprefix_ + ':' if (UseCapturedNS_ and self.itemreference_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sitemreference>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.itemreference), input_name='itemreference')), namespaceprefix_ , eol_)) + if self.volume is not None: + namespaceprefix_ = self.volume_nsprefix_ + ':' if (UseCapturedNS_ and self.volume_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%svolume>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.volume, input_name='volume'), namespaceprefix_ , eol_)) + if self.weight is not None: + namespaceprefix_ = self.weight_nsprefix_ + ':' if (UseCapturedNS_ and self.weight_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sweight>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.weight, input_name='weight'), namespaceprefix_ , eol_)) + if self.length is not None: + namespaceprefix_ = self.length_nsprefix_ + ':' if (UseCapturedNS_ and self.length_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%slength>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.length, input_name='length'), namespaceprefix_ , eol_)) + if self.height is not None: + namespaceprefix_ = self.height_nsprefix_ + ':' if (UseCapturedNS_ and self.height_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sheight>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.height, input_name='height'), namespaceprefix_ , eol_)) + if self.width is not None: + namespaceprefix_ = self.width_nsprefix_ + ':' if (UseCapturedNS_ and self.width_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%swidth>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.width, input_name='width'), namespaceprefix_ , eol_)) + if self.quantity is not None: + namespaceprefix_ = self.quantity_nsprefix_ + ':' if (UseCapturedNS_ and self.quantity_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%squantity>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.quantity, input_name='quantity'), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('itemaction', node) + if value is not None and 'itemaction' not in already_processed: + already_processed.add('itemaction') + self.itemaction = value + self.validate_itemactionType(self.itemaction) # validate type itemactionType + value = find_attr_value_('international', node) + if value is not None and 'international' not in already_processed: + already_processed.add('international') + self.international = value + self.validate_internationalType(self.international) # validate type internationalType + value = find_attr_value_('International', node) + if value is not None and 'International' not in already_processed: + already_processed.add('International') + self.International = value + self.validate_InternationalType(self.International) # validate type InternationalType + value = find_attr_value_('internazionale', node) + if value is not None and 'internazionale' not in already_processed: + already_processed.add('internazionale') + self.internazionale = value + self.validate_internazionaleType(self.internazionale) # validate type internazionaleType + value = find_attr_value_('Internazionale', node) + if value is not None and 'Internazionale' not in already_processed: + already_processed.add('Internazionale') + self.Internazionale = value + self.validate_InternazionaleType(self.Internazionale) # validate type InternazionaleType + value = find_attr_value_('list', node) + if value is not None and 'list' not in already_processed: + already_processed.add('list') + self.list = value + self.validate_listType(self.list) # validate type listType + value = find_attr_value_('insurancecommision', node) + if value is not None and 'insurancecommision' not in already_processed: + already_processed.add('insurancecommision') + self.insurancecommision = value + self.validate_insurancecommisionType(self.insurancecommision) # validate type insurancecommisionType + value = find_attr_value_('cashondeliver', node) + if value is not None and 'cashondeliver' not in already_processed: + already_processed.add('cashondeliver') + self.cashondeliver = value + self.validate_cashondeliverType(self.cashondeliver) # validate type cashondeliverType + value = find_attr_value_('codcommision', node) + if value is not None and 'codcommision' not in already_processed: + already_processed.add('codcommision') + self.codcommision = value + self.validate_codcommisionType(self.codcommision) # validate type codcommisionType + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'itemsequenceno' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'itemsequenceno') + ival_ = self.gds_validate_integer(ival_, node, 'itemsequenceno') + self.itemsequenceno = ival_ + self.itemsequenceno_nsprefix_ = child_.prefix + # validate type itemsequencenoType + self.validate_itemsequencenoType(self.itemsequenceno) + elif nodeName_ == 'itemtype': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'itemtype') + value_ = self.gds_validate_string(value_, node, 'itemtype') + self.itemtype = value_ + self.itemtype_nsprefix_ = child_.prefix + # validate type itemtypeType + self.validate_itemtypeType(self.itemtype) + elif nodeName_ == 'itemreference': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'itemreference') + value_ = self.gds_validate_string(value_, node, 'itemreference') + self.itemreference = value_ + self.itemreference_nsprefix_ = child_.prefix + # validate type itemreferenceType + self.validate_itemreferenceType(self.itemreference) + elif nodeName_ == 'volume' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'volume') + ival_ = self.gds_validate_integer(ival_, node, 'volume') + self.volume = ival_ + self.volume_nsprefix_ = child_.prefix + # validate type volumeType + self.validate_volumeType(self.volume) + elif nodeName_ == 'weight' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'weight') + ival_ = self.gds_validate_integer(ival_, node, 'weight') + self.weight = ival_ + self.weight_nsprefix_ = child_.prefix + # validate type weightType + self.validate_weightType(self.weight) + elif nodeName_ == 'length' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'length') + ival_ = self.gds_validate_integer(ival_, node, 'length') + self.length = ival_ + self.length_nsprefix_ = child_.prefix + # validate type lengthType + self.validate_lengthType(self.length) + elif nodeName_ == 'height' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'height') + ival_ = self.gds_validate_integer(ival_, node, 'height') + self.height = ival_ + self.height_nsprefix_ = child_.prefix + # validate type heightType + self.validate_heightType(self.height) + elif nodeName_ == 'width' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'width') + ival_ = self.gds_validate_integer(ival_, node, 'width') + self.width = ival_ + self.width_nsprefix_ = child_.prefix + # validate type widthType + self.validate_widthType(self.width) + elif nodeName_ == 'quantity' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'quantity') + ival_ = self.gds_validate_integer(ival_, node, 'quantity') + self.quantity = ival_ + self.quantity_nsprefix_ = child_.prefix + # validate type quantityType + self.validate_quantityType(self.quantity) +# end class dimensionsType + + +class articlesType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, tariff=None, origcountry=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.tariff = tariff + self.validate_tariffType(self.tariff) + self.tariff_nsprefix_ = None + self.origcountry = origcountry + self.validate_origcountryType(self.origcountry) + self.origcountry_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, articlesType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if articlesType.subclass: + return articlesType.subclass(*args_, **kwargs_) + else: + return articlesType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_tariff(self): + return self.tariff + def set_tariff(self, tariff): + self.tariff = tariff + def get_origcountry(self): + return self.origcountry + def set_origcountry(self, origcountry): + self.origcountry = origcountry + def validate_tariffType(self, value): + result = True + # Validate type tariffType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 30: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on tariffType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def validate_origcountryType(self, value): + result = True + # Validate type origcountryType, a restriction on xsd:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + if len(value) > 3: + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s does not match xsd maxLength restriction on origcountryType' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.tariff is not None or + self.origcountry is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='articlesType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('articlesType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'articlesType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='articlesType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='articlesType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='articlesType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='articlesType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.tariff is not None: + namespaceprefix_ = self.tariff_nsprefix_ + ':' if (UseCapturedNS_ and self.tariff_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%stariff>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.tariff), input_name='tariff')), namespaceprefix_ , eol_)) + if self.origcountry is not None: + namespaceprefix_ = self.origcountry_nsprefix_ + ':' if (UseCapturedNS_ and self.origcountry_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sorigcountry>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.origcountry), input_name='origcountry')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'tariff': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'tariff') + value_ = self.gds_validate_string(value_, node, 'tariff') + self.tariff = value_ + self.tariff_nsprefix_ = child_.prefix + # validate type tariffType + self.validate_tariffType(self.tariff) + elif nodeName_ == 'origcountry': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'origcountry') + value_ = self.gds_validate_string(value_, node, 'origcountry') + self.origcountry = value_ + self.origcountry_nsprefix_ = child_.prefix + # validate type origcountryType + self.validate_origcountryType(self.origcountry) +# end class articlesType + + +# +# End data representation classes. +# + + +GDSClassesMapping = { +} + + +USAGE_TEXT = """ +Usage: python .py [ -s ] +""" + + +def usage(): + print(USAGE_TEXT) + sys.exit(1) + + +def get_root_tag(node): + tag = Tag_pattern_.match(node.tag).groups()[-1] + prefix_tag = TagNamePrefix + tag + rootClass = GDSClassesMapping.get(prefix_tag) + if rootClass is None: + rootClass = globals().get(prefix_tag) + return tag, rootClass + + +def get_required_ns_prefix_defs(rootNode): + '''Get all name space prefix definitions required in this XML doc. + Return a dictionary of definitions and a char string of definitions. + ''' + nsmap = { + prefix: uri + for node in rootNode.iter() + for (prefix, uri) in node.nsmap.items() + if prefix is not None + } + namespacedefs = ' '.join([ + 'xmlns:{}="{}"'.format(prefix, uri) + for prefix, uri in nsmap.items() + ]) + return nsmap, namespacedefs + + +def parse(inFileName, silence=False, print_warnings=True): + global CapturedNsmap_ + gds_collector = GdsCollector_() + parser = None + doc = parsexml_(inFileName, parser) + rootNode = doc.getroot() + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'shipment' + rootClass = shipment + rootObj = rootClass.factory() + rootObj.build(rootNode, gds_collector_=gds_collector) + CapturedNsmap_, namespacedefs = get_required_ns_prefix_defs(rootNode) + if not SaveElementTreeNode: + doc = None + rootNode = None + if not silence: + sys.stdout.write('\n') + rootObj.export( + sys.stdout, 0, name_=rootTag, + namespacedef_=namespacedefs, + pretty_print=True) + if print_warnings and len(gds_collector.get_messages()) > 0: + separator = ('-' * 50) + '\n' + sys.stderr.write(separator) + sys.stderr.write('----- Warnings -- count: {} -----\n'.format( + len(gds_collector.get_messages()), )) + gds_collector.write_messages(sys.stderr) + sys.stderr.write(separator) + return rootObj + + +def parseEtree(inFileName, silence=False, print_warnings=True, + mapping=None, reverse_mapping=None, nsmap=None): + parser = None + doc = parsexml_(inFileName, parser) + gds_collector = GdsCollector_() + rootNode = doc.getroot() + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'shipment' + rootClass = shipment + rootObj = rootClass.factory() + rootObj.build(rootNode, gds_collector_=gds_collector) + if mapping is None: + mapping = {} + if reverse_mapping is None: + reverse_mapping = {} + rootElement = rootObj.to_etree( + None, name_=rootTag, mapping_=mapping, + reverse_mapping_=reverse_mapping, nsmap_=nsmap) + reverse_node_mapping = rootObj.gds_reverse_node_mapping(mapping) + # Enable Python to collect the space used by the DOM. + if not SaveElementTreeNode: + doc = None + rootNode = None + if not silence: + content = etree_.tostring( + rootElement, pretty_print=True, + xml_declaration=True, encoding="utf-8") + sys.stdout.write(str(content)) + sys.stdout.write('\n') + if print_warnings and len(gds_collector.get_messages()) > 0: + separator = ('-' * 50) + '\n' + sys.stderr.write(separator) + sys.stderr.write('----- Warnings -- count: {} -----\n'.format( + len(gds_collector.get_messages()), )) + gds_collector.write_messages(sys.stderr) + sys.stderr.write(separator) + return rootObj, rootElement, mapping, reverse_node_mapping + + +def parseString(inString, silence=False, print_warnings=True): + '''Parse a string, create the object tree, and export it. + + Arguments: + - inString -- A string. This XML fragment should not start + with an XML declaration containing an encoding. + - silence -- A boolean. If False, export the object. + Returns -- The root object in the tree. + ''' + parser = None + rootNode= parsexmlstring_(inString, parser) + gds_collector = GdsCollector_() + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'shipment' + rootClass = shipment + rootObj = rootClass.factory() + rootObj.build(rootNode, gds_collector_=gds_collector) + if not SaveElementTreeNode: + rootNode = None + if not silence: + sys.stdout.write('\n') + rootObj.export( + sys.stdout, 0, name_=rootTag, + namespacedef_='') + if print_warnings and len(gds_collector.get_messages()) > 0: + separator = ('-' * 50) + '\n' + sys.stderr.write(separator) + sys.stderr.write('----- Warnings -- count: {} -----\n'.format( + len(gds_collector.get_messages()), )) + gds_collector.write_messages(sys.stderr) + sys.stderr.write(separator) + return rootObj + + +def parseLiteral(inFileName, silence=False, print_warnings=True): + parser = None + doc = parsexml_(inFileName, parser) + gds_collector = GdsCollector_() + rootNode = doc.getroot() + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'shipment' + rootClass = shipment + rootObj = rootClass.factory() + rootObj.build(rootNode, gds_collector_=gds_collector) + # Enable Python to collect the space used by the DOM. + if not SaveElementTreeNode: + doc = None + rootNode = None + if not silence: + sys.stdout.write('#from routinglabel import *\n\n') + sys.stdout.write('import routinglabel as model_\n\n') + sys.stdout.write('rootObj = model_.rootClass(\n') + rootObj.exportLiteral(sys.stdout, 0, name_=rootTag) + sys.stdout.write(')\n') + if print_warnings and len(gds_collector.get_messages()) > 0: + separator = ('-' * 50) + '\n' + sys.stderr.write(separator) + sys.stderr.write('----- Warnings -- count: {} -----\n'.format( + len(gds_collector.get_messages()), )) + gds_collector.write_messages(sys.stderr) + sys.stderr.write(separator) + return rootObj + + +def main(): + args = sys.argv[1:] + if len(args) == 1: + parse(args[0]) + else: + usage() + + +if __name__ == '__main__': + #import pdb; pdb.set_trace() + main() + +RenameMappings_ = { +} + +# +# Mapping of namespaces to types defined in them +# and the file in which each is defined. +# simpleTypes are marked "ST" and complexTypes "CT". +NamespaceToDefMappings_ = {} + +__all__ = [ + "CollectionTrgType", + "addressType", + "addressesType", + "articlesType", + "collectiontrgType", + "consignmentType", + "dimensionsType", + "optionsType", + "securityType", + "shipment", + "softwareType" +] diff --git a/modules/connectors/tnt_it/karrio/schemas/tnt_it/tracking.py b/modules/connectors/tnt_it/karrio/schemas/tnt_it/tracking.py new file mode 100644 index 0000000000..c764b029cf --- /dev/null +++ b/modules/connectors/tnt_it/karrio/schemas/tnt_it/tracking.py @@ -0,0 +1,1848 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# +# Generated Sat Sep 21 11:02:43 2024 by generateDS.py version 2.44.1. +# Python 3.12.2 (main, May 6 2024, 11:46:13) [Clang 15.0.0 (clang-1500.3.9.4)] +# +# Command line options: +# ('--no-namespace-defs', '') +# ('-o', './karrio/schemas/tnt_it/tracking.py') +# +# Command line arguments: +# ./schemas/tracking.xsd +# +# Command line: +# /Users/danielkobina/Workspace/karrio/karrio/.venv/karrio/bin/generateDS --no-namespace-defs -o "./karrio/schemas/tnt_it/tracking.py" ./schemas/tracking.xsd +# +# Current working directory (os.getcwd()): +# tnt_it +# + +import sys +try: + ModulenotfoundExp_ = ModuleNotFoundError +except NameError: + ModulenotfoundExp_ = ImportError +from six.moves import zip_longest +import os +import re as re_ +import base64 +import datetime as datetime_ +import decimal as decimal_ +from lxml import etree as etree_ + + +Validate_simpletypes_ = True +SaveElementTreeNode = True +TagNamePrefix = "" +if sys.version_info.major == 2: + BaseStrType_ = basestring +else: + BaseStrType_ = str + + +def parsexml_(infile, parser=None, **kwargs): + if parser is None: + # Use the lxml ElementTree compatible parser so that, e.g., + # we ignore comments. + try: + parser = etree_.ETCompatXMLParser() + except AttributeError: + # fallback to xml.etree + parser = etree_.XMLParser() + try: + if isinstance(infile, os.PathLike): + infile = os.path.join(infile) + except AttributeError: + pass + doc = etree_.parse(infile, parser=parser, **kwargs) + return doc + +def parsexmlstring_(instring, parser=None, **kwargs): + if parser is None: + # Use the lxml ElementTree compatible parser so that, e.g., + # we ignore comments. + try: + parser = etree_.ETCompatXMLParser() + except AttributeError: + # fallback to xml.etree + parser = etree_.XMLParser() + element = etree_.fromstring(instring, parser=parser, **kwargs) + return element + +# +# Namespace prefix definition table (and other attributes, too) +# +# The module generatedsnamespaces, if it is importable, must contain +# a dictionary named GeneratedsNamespaceDefs. This Python dictionary +# should map element type names (strings) to XML schema namespace prefix +# definitions. The export method for any class for which there is +# a namespace prefix definition, will export that definition in the +# XML representation of that element. See the export method of +# any generated element type class for an example of the use of this +# table. +# A sample table is: +# +# # File: generatedsnamespaces.py +# +# GenerateDSNamespaceDefs = { +# "ElementtypeA": "http://www.xxx.com/namespaceA", +# "ElementtypeB": "http://www.xxx.com/namespaceB", +# } +# +# Additionally, the generatedsnamespaces module can contain a python +# dictionary named GenerateDSNamespaceTypePrefixes that associates element +# types with the namespace prefixes that are to be added to the +# "xsi:type" attribute value. See the _exportAttributes method of +# any generated element type and the generation of "xsi:type" for an +# example of the use of this table. +# An example table: +# +# # File: generatedsnamespaces.py +# +# GenerateDSNamespaceTypePrefixes = { +# "ElementtypeC": "aaa:", +# "ElementtypeD": "bbb:", +# } +# + +try: + from generatedsnamespaces import GenerateDSNamespaceDefs as GenerateDSNamespaceDefs_ +except ModulenotfoundExp_ : + GenerateDSNamespaceDefs_ = {} +try: + from generatedsnamespaces import GenerateDSNamespaceTypePrefixes as GenerateDSNamespaceTypePrefixes_ +except ModulenotfoundExp_ : + GenerateDSNamespaceTypePrefixes_ = {} + +# +# You can replace the following class definition by defining an +# importable module named "generatedscollector" containing a class +# named "GdsCollector". See the default class definition below for +# clues about the possible content of that class. +# +try: + from generatedscollector import GdsCollector as GdsCollector_ +except ModulenotfoundExp_ : + + class GdsCollector_(object): + + def __init__(self, messages=None): + if messages is None: + self.messages = [] + else: + self.messages = messages + + def add_message(self, msg): + self.messages.append(msg) + + def get_messages(self): + return self.messages + + def clear_messages(self): + self.messages = [] + + def print_messages(self): + for msg in self.messages: + print("Warning: {}".format(msg)) + + def write_messages(self, outstream): + for msg in self.messages: + outstream.write("Warning: {}\n".format(msg)) + + +# +# The super-class for enum types +# + +try: + from enum import Enum +except ModulenotfoundExp_ : + Enum = object + +# +# The root super-class for element type classes +# +# Calls to the methods in these classes are generated by generateDS.py. +# You can replace these methods by re-implementing the following class +# in a module named generatedssuper.py. + +try: + from generatedssuper import GeneratedsSuper +except ModulenotfoundExp_ as exp: + try: + from generatedssupersuper import GeneratedsSuperSuper + except ModulenotfoundExp_ as exp: + class GeneratedsSuperSuper(object): + pass + + class GeneratedsSuper(GeneratedsSuperSuper): + __hash__ = object.__hash__ + tzoff_pattern = re_.compile('(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00)$') + class _FixedOffsetTZ(datetime_.tzinfo): + def __init__(self, offset, name): + self.__offset = datetime_.timedelta(minutes=offset) + self.__name = name + def utcoffset(self, dt): + return self.__offset + def tzname(self, dt): + return self.__name + def dst(self, dt): + return None + def __str__(self): + settings = { + 'str_pretty_print': True, + 'str_indent_level': 0, + 'str_namespaceprefix': '', + 'str_name': self.__class__.__name__, + 'str_namespacedefs': '', + } + for n in settings: + if hasattr(self, n): + settings[n] = getattr(self, n) + if sys.version_info.major == 2: + from StringIO import StringIO + else: + from io import StringIO + output = StringIO() + self.export( + output, + settings['str_indent_level'], + pretty_print=settings['str_pretty_print'], + namespaceprefix_=settings['str_namespaceprefix'], + name_=settings['str_name'], + namespacedef_=settings['str_namespacedefs'] + ) + strval = output.getvalue() + output.close() + return strval + def gds_format_string(self, input_data, input_name=''): + return input_data + def gds_parse_string(self, input_data, node=None, input_name=''): + return input_data + def gds_validate_string(self, input_data, node=None, input_name=''): + if not input_data: + return '' + else: + return input_data + def gds_format_base64(self, input_data, input_name=''): + return base64.b64encode(input_data).decode('ascii') + def gds_validate_base64(self, input_data, node=None, input_name=''): + return input_data + def gds_format_integer(self, input_data, input_name=''): + return '%d' % int(input_data) + def gds_parse_integer(self, input_data, node=None, input_name=''): + try: + ival = int(input_data) + except (TypeError, ValueError) as exp: + raise_parse_error(node, 'Requires integer value: %s' % exp) + return ival + def gds_validate_integer(self, input_data, node=None, input_name=''): + try: + value = int(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires integer value') + return value + def gds_format_integer_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return '%s' % ' '.join(input_data) + def gds_validate_integer_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + try: + int(value) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires sequence of integer values') + return values + def gds_format_float(self, input_data, input_name=''): + value = ('%.15f' % float(input_data)).rstrip('0') + if value.endswith('.'): + value += '0' + return value + + def gds_parse_float(self, input_data, node=None, input_name=''): + try: + fval_ = float(input_data) + except (TypeError, ValueError) as exp: + raise_parse_error(node, 'Requires float or double value: %s' % exp) + return fval_ + def gds_validate_float(self, input_data, node=None, input_name=''): + try: + value = float(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires float value') + return value + def gds_format_float_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return '%s' % ' '.join(input_data) + def gds_validate_float_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + try: + float(value) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires sequence of float values') + return values + def gds_format_decimal(self, input_data, input_name=''): + return_value = '%s' % input_data + if '.' in return_value: + return_value = return_value.rstrip('0') + if return_value.endswith('.'): + return_value = return_value.rstrip('.') + return return_value + def gds_parse_decimal(self, input_data, node=None, input_name=''): + try: + decimal_value = decimal_.Decimal(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires decimal value') + return decimal_value + def gds_validate_decimal(self, input_data, node=None, input_name=''): + try: + value = decimal_.Decimal(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires decimal value') + return value + def gds_format_decimal_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return ' '.join([self.gds_format_decimal(item) for item in input_data]) + def gds_validate_decimal_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + try: + decimal_.Decimal(value) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires sequence of decimal values') + return values + def gds_format_double(self, input_data, input_name=''): + return '%s' % input_data + def gds_parse_double(self, input_data, node=None, input_name=''): + try: + fval_ = float(input_data) + except (TypeError, ValueError) as exp: + raise_parse_error(node, 'Requires double or float value: %s' % exp) + return fval_ + def gds_validate_double(self, input_data, node=None, input_name=''): + try: + value = float(input_data) + except (TypeError, ValueError): + raise_parse_error(node, 'Requires double or float value') + return value + def gds_format_double_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return '%s' % ' '.join(input_data) + def gds_validate_double_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + try: + float(value) + except (TypeError, ValueError): + raise_parse_error( + node, 'Requires sequence of double or float values') + return values + def gds_format_boolean(self, input_data, input_name=''): + return ('%s' % input_data).lower() + def gds_parse_boolean(self, input_data, node=None, input_name=''): + input_data = input_data.strip() + if input_data in ('true', '1'): + bval = True + elif input_data in ('false', '0'): + bval = False + else: + raise_parse_error(node, 'Requires boolean value') + return bval + def gds_validate_boolean(self, input_data, node=None, input_name=''): + if input_data not in (True, 1, False, 0, ): + raise_parse_error( + node, + 'Requires boolean value ' + '(one of True, 1, False, 0)') + return input_data + def gds_format_boolean_list(self, input_data, input_name=''): + if len(input_data) > 0 and not isinstance(input_data[0], BaseStrType_): + input_data = [str(s) for s in input_data] + return '%s' % ' '.join(input_data) + def gds_validate_boolean_list( + self, input_data, node=None, input_name=''): + values = input_data.split() + for value in values: + value = self.gds_parse_boolean(value, node, input_name) + if value not in (True, 1, False, 0, ): + raise_parse_error( + node, + 'Requires sequence of boolean values ' + '(one of True, 1, False, 0)') + return values + def gds_validate_datetime(self, input_data, node=None, input_name=''): + return input_data + def gds_format_datetime(self, input_data, input_name=''): + if input_data.microsecond == 0: + _svalue = '%04d-%02d-%02dT%02d:%02d:%02d' % ( + input_data.year, + input_data.month, + input_data.day, + input_data.hour, + input_data.minute, + input_data.second, + ) + else: + _svalue = '%04d-%02d-%02dT%02d:%02d:%02d.%s' % ( + input_data.year, + input_data.month, + input_data.day, + input_data.hour, + input_data.minute, + input_data.second, + ('%f' % (float(input_data.microsecond) / 1000000))[2:], + ) + if input_data.tzinfo is not None: + tzoff = input_data.tzinfo.utcoffset(input_data) + if tzoff is not None: + total_seconds = tzoff.seconds + (86400 * tzoff.days) + if total_seconds == 0: + _svalue += 'Z' + else: + if total_seconds < 0: + _svalue += '-' + total_seconds *= -1 + else: + _svalue += '+' + hours = total_seconds // 3600 + minutes = (total_seconds - (hours * 3600)) // 60 + _svalue += '{0:02d}:{1:02d}'.format(hours, minutes) + return _svalue + @classmethod + def gds_parse_datetime(cls, input_data): + tz = None + if input_data[-1] == 'Z': + tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC') + input_data = input_data[:-1] + else: + results = GeneratedsSuper.tzoff_pattern.search(input_data) + if results is not None: + tzoff_parts = results.group(2).split(':') + tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1]) + if results.group(1) == '-': + tzoff *= -1 + tz = GeneratedsSuper._FixedOffsetTZ( + tzoff, results.group(0)) + input_data = input_data[:-6] + time_parts = input_data.split('.') + if len(time_parts) > 1: + micro_seconds = int(float('0.' + time_parts[1]) * 1000000) + input_data = '%s.%s' % ( + time_parts[0], "{}".format(micro_seconds).rjust(6, "0"), ) + dt = datetime_.datetime.strptime( + input_data, '%Y-%m-%dT%H:%M:%S.%f') + else: + dt = datetime_.datetime.strptime( + input_data, '%Y-%m-%dT%H:%M:%S') + dt = dt.replace(tzinfo=tz) + return dt + def gds_validate_date(self, input_data, node=None, input_name=''): + return input_data + def gds_format_date(self, input_data, input_name=''): + _svalue = '%04d-%02d-%02d' % ( + input_data.year, + input_data.month, + input_data.day, + ) + try: + if input_data.tzinfo is not None: + tzoff = input_data.tzinfo.utcoffset(input_data) + if tzoff is not None: + total_seconds = tzoff.seconds + (86400 * tzoff.days) + if total_seconds == 0: + _svalue += 'Z' + else: + if total_seconds < 0: + _svalue += '-' + total_seconds *= -1 + else: + _svalue += '+' + hours = total_seconds // 3600 + minutes = (total_seconds - (hours * 3600)) // 60 + _svalue += '{0:02d}:{1:02d}'.format( + hours, minutes) + except AttributeError: + pass + return _svalue + @classmethod + def gds_parse_date(cls, input_data): + tz = None + if input_data[-1] == 'Z': + tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC') + input_data = input_data[:-1] + else: + results = GeneratedsSuper.tzoff_pattern.search(input_data) + if results is not None: + tzoff_parts = results.group(2).split(':') + tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1]) + if results.group(1) == '-': + tzoff *= -1 + tz = GeneratedsSuper._FixedOffsetTZ( + tzoff, results.group(0)) + input_data = input_data[:-6] + dt = datetime_.datetime.strptime(input_data, '%Y-%m-%d') + dt = dt.replace(tzinfo=tz) + return dt.date() + def gds_validate_time(self, input_data, node=None, input_name=''): + return input_data + def gds_format_time(self, input_data, input_name=''): + if input_data.microsecond == 0: + _svalue = '%02d:%02d:%02d' % ( + input_data.hour, + input_data.minute, + input_data.second, + ) + else: + _svalue = '%02d:%02d:%02d.%s' % ( + input_data.hour, + input_data.minute, + input_data.second, + ('%f' % (float(input_data.microsecond) / 1000000))[2:], + ) + if input_data.tzinfo is not None: + tzoff = input_data.tzinfo.utcoffset(input_data) + if tzoff is not None: + total_seconds = tzoff.seconds + (86400 * tzoff.days) + if total_seconds == 0: + _svalue += 'Z' + else: + if total_seconds < 0: + _svalue += '-' + total_seconds *= -1 + else: + _svalue += '+' + hours = total_seconds // 3600 + minutes = (total_seconds - (hours * 3600)) // 60 + _svalue += '{0:02d}:{1:02d}'.format(hours, minutes) + return _svalue + def gds_validate_simple_patterns(self, patterns, target): + # pat is a list of lists of strings/patterns. + # The target value must match at least one of the patterns + # in order for the test to succeed. + found1 = True + target = str(target) + for patterns1 in patterns: + found2 = False + for patterns2 in patterns1: + mo = re_.search(patterns2, target) + if mo is not None and len(mo.group(0)) == len(target): + found2 = True + break + if not found2: + found1 = False + break + return found1 + @classmethod + def gds_parse_time(cls, input_data): + tz = None + if input_data[-1] == 'Z': + tz = GeneratedsSuper._FixedOffsetTZ(0, 'UTC') + input_data = input_data[:-1] + else: + results = GeneratedsSuper.tzoff_pattern.search(input_data) + if results is not None: + tzoff_parts = results.group(2).split(':') + tzoff = int(tzoff_parts[0]) * 60 + int(tzoff_parts[1]) + if results.group(1) == '-': + tzoff *= -1 + tz = GeneratedsSuper._FixedOffsetTZ( + tzoff, results.group(0)) + input_data = input_data[:-6] + if len(input_data.split('.')) > 1: + dt = datetime_.datetime.strptime(input_data, '%H:%M:%S.%f') + else: + dt = datetime_.datetime.strptime(input_data, '%H:%M:%S') + dt = dt.replace(tzinfo=tz) + return dt.time() + def gds_check_cardinality_( + self, value, input_name, + min_occurs=0, max_occurs=1, required=None): + if value is None: + length = 0 + elif isinstance(value, list): + length = len(value) + else: + length = 1 + if required is not None : + if required and length < 1: + self.gds_collector_.add_message( + "Required value {}{} is missing".format( + input_name, self.gds_get_node_lineno_())) + if length < min_occurs: + self.gds_collector_.add_message( + "Number of values for {}{} is below " + "the minimum allowed, " + "expected at least {}, found {}".format( + input_name, self.gds_get_node_lineno_(), + min_occurs, length)) + elif length > max_occurs: + self.gds_collector_.add_message( + "Number of values for {}{} is above " + "the maximum allowed, " + "expected at most {}, found {}".format( + input_name, self.gds_get_node_lineno_(), + max_occurs, length)) + def gds_validate_builtin_ST_( + self, validator, value, input_name, + min_occurs=None, max_occurs=None, required=None): + if value is not None: + try: + validator(value, input_name=input_name) + except GDSParseError as parse_error: + self.gds_collector_.add_message(str(parse_error)) + def gds_validate_defined_ST_( + self, validator, value, input_name, + min_occurs=None, max_occurs=None, required=None): + if value is not None: + try: + validator(value) + except GDSParseError as parse_error: + self.gds_collector_.add_message(str(parse_error)) + def gds_str_lower(self, instring): + return instring.lower() + def get_path_(self, node): + path_list = [] + self.get_path_list_(node, path_list) + path_list.reverse() + path = '/'.join(path_list) + return path + Tag_strip_pattern_ = re_.compile(r'{.*}') + def get_path_list_(self, node, path_list): + if node is None: + return + tag = GeneratedsSuper.Tag_strip_pattern_.sub('', node.tag) + if tag: + path_list.append(tag) + self.get_path_list_(node.getparent(), path_list) + def get_class_obj_(self, node, default_class=None): + class_obj1 = default_class + if 'xsi' in node.nsmap: + classname = node.get('{%s}type' % node.nsmap['xsi']) + if classname is not None: + names = classname.split(':') + if len(names) == 2: + classname = names[1] + class_obj2 = globals().get(classname) + if class_obj2 is not None: + class_obj1 = class_obj2 + return class_obj1 + def gds_build_any(self, node, type_name=None): + # provide default value in case option --disable-xml is used. + content = "" + content = etree_.tostring(node, encoding="unicode") + return content + @classmethod + def gds_reverse_node_mapping(cls, mapping): + return dict(((v, k) for k, v in mapping.items())) + @staticmethod + def gds_encode(instring): + if sys.version_info.major == 2: + if ExternalEncoding: + encoding = ExternalEncoding + else: + encoding = 'utf-8' + return instring.encode(encoding) + else: + return instring + @staticmethod + def convert_unicode(instring): + if isinstance(instring, str): + result = quote_xml(instring) + elif sys.version_info.major == 2 and isinstance(instring, unicode): + result = quote_xml(instring).encode('utf8') + else: + result = GeneratedsSuper.gds_encode(str(instring)) + return result + def __eq__(self, other): + def excl_select_objs_(obj): + return (obj[0] != 'parent_object_' and + obj[0] != 'gds_collector_') + if type(self) != type(other): + return False + return all(x == y for x, y in zip_longest( + filter(excl_select_objs_, self.__dict__.items()), + filter(excl_select_objs_, other.__dict__.items()))) + def __ne__(self, other): + return not self.__eq__(other) + # Django ETL transform hooks. + def gds_djo_etl_transform(self): + pass + def gds_djo_etl_transform_db_obj(self, dbobj): + pass + # SQLAlchemy ETL transform hooks. + def gds_sqa_etl_transform(self): + return 0, None + def gds_sqa_etl_transform_db_obj(self, dbobj): + pass + def gds_get_node_lineno_(self): + if (hasattr(self, "gds_elementtree_node_") and + self.gds_elementtree_node_ is not None): + return ' near line {}'.format( + self.gds_elementtree_node_.sourceline) + else: + return "" + + + def getSubclassFromModule_(module, class_): + '''Get the subclass of a class from a specific module.''' + name = class_.__name__ + 'Sub' + if hasattr(module, name): + return getattr(module, name) + else: + return None + + +# +# If you have installed IPython you can uncomment and use the following. +# IPython is available from http://ipython.scipy.org/. +# + +## from IPython.Shell import IPShellEmbed +## args = '' +## ipshell = IPShellEmbed(args, +## banner = 'Dropping into IPython', +## exit_msg = 'Leaving Interpreter, back to program.') + +# Then use the following line where and when you want to drop into the +# IPython shell: +# ipshell(' -- Entering ipshell.\nHit Ctrl-D to exit') + +# +# Globals +# + +ExternalEncoding = '' +# Set this to false in order to deactivate during export, the use of +# name space prefixes captured from the input document. +UseCapturedNS_ = True +CapturedNsmap_ = {} +Tag_pattern_ = re_.compile(r'({.*})?(.*)') +String_cleanup_pat_ = re_.compile(r"[\n\r\s]+") +Namespace_extract_pat_ = re_.compile(r'{(.*)}(.*)') +CDATA_pattern_ = re_.compile(r"", re_.DOTALL) + +# Change this to redirect the generated superclass module to use a +# specific subclass module. +CurrentSubclassModule_ = None + +# +# Support/utility functions. +# + + +def showIndent(outfile, level, pretty_print=True): + if pretty_print: + for idx in range(level): + outfile.write(' ') + + +def quote_xml(inStr): + "Escape markup chars, but do not modify CDATA sections." + if not inStr: + return '' + s1 = (isinstance(inStr, BaseStrType_) and inStr or '%s' % inStr) + s2 = '' + pos = 0 + matchobjects = CDATA_pattern_.finditer(s1) + for mo in matchobjects: + s3 = s1[pos:mo.start()] + s2 += quote_xml_aux(s3) + s2 += s1[mo.start():mo.end()] + pos = mo.end() + s3 = s1[pos:] + s2 += quote_xml_aux(s3) + return s2 + + +def quote_xml_aux(inStr): + s1 = inStr.replace('&', '&') + s1 = s1.replace('<', '<') + s1 = s1.replace('>', '>') + return s1 + + +def quote_attrib(inStr): + s1 = (isinstance(inStr, BaseStrType_) and inStr or '%s' % inStr) + s1 = s1.replace('&', '&') + s1 = s1.replace('<', '<') + s1 = s1.replace('>', '>') + s1 = s1.replace('\n', ' ') + if '"' in s1: + if "'" in s1: + s1 = '"%s"' % s1.replace('"', """) + else: + s1 = "'%s'" % s1 + else: + s1 = '"%s"' % s1 + return s1 + + +def quote_python(inStr): + s1 = inStr + if s1.find("'") == -1: + if s1.find('\n') == -1: + return "'%s'" % s1 + else: + return "'''%s'''" % s1 + else: + if s1.find('"') != -1: + s1 = s1.replace('"', '\\"') + if s1.find('\n') == -1: + return '"%s"' % s1 + else: + return '"""%s"""' % s1 + + +def get_all_text_(node): + if node.text is not None: + text = node.text + else: + text = '' + for child in node: + if child.tail is not None: + text += child.tail + return text + + +def find_attr_value_(attr_name, node): + attrs = node.attrib + attr_parts = attr_name.split(':') + value = None + if len(attr_parts) == 1: + value = attrs.get(attr_name) + elif len(attr_parts) == 2: + prefix, name = attr_parts + if prefix == 'xml': + namespace = 'http://www.w3.org/XML/1998/namespace' + else: + namespace = node.nsmap.get(prefix) + if namespace is not None: + value = attrs.get('{%s}%s' % (namespace, name, )) + return value + + +def encode_str_2_3(instr): + return instr + + +class GDSParseError(Exception): + pass + + +def raise_parse_error(node, msg): + if node is not None: + msg = '%s (element %s/line %d)' % (msg, node.tag, node.sourceline, ) + raise GDSParseError(msg) + + +class MixedContainer: + # Constants for category: + CategoryNone = 0 + CategoryText = 1 + CategorySimple = 2 + CategoryComplex = 3 + # Constants for content_type: + TypeNone = 0 + TypeText = 1 + TypeString = 2 + TypeInteger = 3 + TypeFloat = 4 + TypeDecimal = 5 + TypeDouble = 6 + TypeBoolean = 7 + TypeBase64 = 8 + def __init__(self, category, content_type, name, value): + self.category = category + self.content_type = content_type + self.name = name + self.value = value + def getCategory(self): + return self.category + def getContenttype(self, content_type): + return self.content_type + def getValue(self): + return self.value + def getName(self): + return self.name + def export(self, outfile, level, name, namespace, + pretty_print=True): + if self.category == MixedContainer.CategoryText: + # Prevent exporting empty content as empty lines. + if self.value.strip(): + outfile.write(self.value) + elif self.category == MixedContainer.CategorySimple: + self.exportSimple(outfile, level, name) + else: # category == MixedContainer.CategoryComplex + self.value.export( + outfile, level, namespace, name_=name, + pretty_print=pretty_print) + def exportSimple(self, outfile, level, name): + if self.content_type == MixedContainer.TypeString: + outfile.write('<%s>%s' % ( + self.name, self.value, self.name)) + elif self.content_type == MixedContainer.TypeInteger or \ + self.content_type == MixedContainer.TypeBoolean: + outfile.write('<%s>%d' % ( + self.name, self.value, self.name)) + elif self.content_type == MixedContainer.TypeFloat or \ + self.content_type == MixedContainer.TypeDecimal: + outfile.write('<%s>%f' % ( + self.name, self.value, self.name)) + elif self.content_type == MixedContainer.TypeDouble: + outfile.write('<%s>%g' % ( + self.name, self.value, self.name)) + elif self.content_type == MixedContainer.TypeBase64: + outfile.write('<%s>%s' % ( + self.name, + base64.b64encode(self.value), + self.name)) + def to_etree(self, element, mapping_=None, reverse_mapping_=None, nsmap_=None): + if self.category == MixedContainer.CategoryText: + # Prevent exporting empty content as empty lines. + if self.value.strip(): + if len(element) > 0: + if element[-1].tail is None: + element[-1].tail = self.value + else: + element[-1].tail += self.value + else: + if element.text is None: + element.text = self.value + else: + element.text += self.value + elif self.category == MixedContainer.CategorySimple: + subelement = etree_.SubElement( + element, '%s' % self.name) + subelement.text = self.to_etree_simple() + else: # category == MixedContainer.CategoryComplex + self.value.to_etree(element) + def to_etree_simple(self, mapping_=None, reverse_mapping_=None, nsmap_=None): + if self.content_type == MixedContainer.TypeString: + text = self.value + elif (self.content_type == MixedContainer.TypeInteger or + self.content_type == MixedContainer.TypeBoolean): + text = '%d' % self.value + elif (self.content_type == MixedContainer.TypeFloat or + self.content_type == MixedContainer.TypeDecimal): + text = '%f' % self.value + elif self.content_type == MixedContainer.TypeDouble: + text = '%g' % self.value + elif self.content_type == MixedContainer.TypeBase64: + text = '%s' % base64.b64encode(self.value) + return text + def exportLiteral(self, outfile, level, name): + if self.category == MixedContainer.CategoryText: + showIndent(outfile, level) + outfile.write( + 'model_.MixedContainer(%d, %d, "%s", "%s"),\n' % ( + self.category, self.content_type, + self.name, self.value)) + elif self.category == MixedContainer.CategorySimple: + showIndent(outfile, level) + outfile.write( + 'model_.MixedContainer(%d, %d, "%s", "%s"),\n' % ( + self.category, self.content_type, + self.name, self.value)) + else: # category == MixedContainer.CategoryComplex + showIndent(outfile, level) + outfile.write( + 'model_.MixedContainer(%d, %d, "%s",\n' % ( + self.category, self.content_type, self.name,)) + self.value.exportLiteral(outfile, level + 1) + showIndent(outfile, level) + outfile.write(')\n') + + +class MemberSpec_(object): + def __init__(self, name='', data_type='', container=0, + optional=0, child_attrs=None, choice=None): + self.name = name + self.data_type = data_type + self.container = container + self.child_attrs = child_attrs + self.choice = choice + self.optional = optional + def set_name(self, name): self.name = name + def get_name(self): return self.name + def set_data_type(self, data_type): self.data_type = data_type + def get_data_type_chain(self): return self.data_type + def get_data_type(self): + if isinstance(self.data_type, list): + if len(self.data_type) > 0: + return self.data_type[-1] + else: + return 'xs:string' + else: + return self.data_type + def set_container(self, container): self.container = container + def get_container(self): return self.container + def set_child_attrs(self, child_attrs): self.child_attrs = child_attrs + def get_child_attrs(self): return self.child_attrs + def set_choice(self, choice): self.choice = choice + def get_choice(self): return self.choice + def set_optional(self, optional): self.optional = optional + def get_optional(self): return self.optional + + +def _cast(typ, value): + if typ is None or value is None: + return value + return typ(value) + + +# +# Start enum classes +# +# +# Start data representation classes +# +class Document(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Application=None, Version=None, Login=None, SearchCriteria=None, SearchParameters=None, ExtraDetails=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Application = Application + self.Application_nsprefix_ = None + self.Version = Version + self.Version_nsprefix_ = None + self.Login = Login + self.Login_nsprefix_ = None + self.SearchCriteria = SearchCriteria + self.SearchCriteria_nsprefix_ = None + self.SearchParameters = SearchParameters + self.SearchParameters_nsprefix_ = None + self.ExtraDetails = ExtraDetails + self.ExtraDetails_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Document) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Document.subclass: + return Document.subclass(*args_, **kwargs_) + else: + return Document(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Application(self): + return self.Application + def set_Application(self, Application): + self.Application = Application + def get_Version(self): + return self.Version + def set_Version(self, Version): + self.Version = Version + def get_Login(self): + return self.Login + def set_Login(self, Login): + self.Login = Login + def get_SearchCriteria(self): + return self.SearchCriteria + def set_SearchCriteria(self, SearchCriteria): + self.SearchCriteria = SearchCriteria + def get_SearchParameters(self): + return self.SearchParameters + def set_SearchParameters(self, SearchParameters): + self.SearchParameters = SearchParameters + def get_ExtraDetails(self): + return self.ExtraDetails + def set_ExtraDetails(self, ExtraDetails): + self.ExtraDetails = ExtraDetails + def has__content(self): + if ( + self.Application is not None or + self.Version is not None or + self.Login is not None or + self.SearchCriteria is not None or + self.SearchParameters is not None or + self.ExtraDetails is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='Document', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Document') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Document': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Document') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Document', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='Document'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='Document', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Application is not None: + namespaceprefix_ = self.Application_nsprefix_ + ':' if (UseCapturedNS_ and self.Application_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sApplication>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Application), input_name='Application')), namespaceprefix_ , eol_)) + if self.Version is not None: + namespaceprefix_ = self.Version_nsprefix_ + ':' if (UseCapturedNS_ and self.Version_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sVersion>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Version), input_name='Version')), namespaceprefix_ , eol_)) + if self.Login is not None: + namespaceprefix_ = self.Login_nsprefix_ + ':' if (UseCapturedNS_ and self.Login_nsprefix_) else '' + self.Login.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Login', pretty_print=pretty_print) + if self.SearchCriteria is not None: + namespaceprefix_ = self.SearchCriteria_nsprefix_ + ':' if (UseCapturedNS_ and self.SearchCriteria_nsprefix_) else '' + self.SearchCriteria.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SearchCriteria', pretty_print=pretty_print) + if self.SearchParameters is not None: + namespaceprefix_ = self.SearchParameters_nsprefix_ + ':' if (UseCapturedNS_ and self.SearchParameters_nsprefix_) else '' + self.SearchParameters.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SearchParameters', pretty_print=pretty_print) + if self.ExtraDetails is not None: + namespaceprefix_ = self.ExtraDetails_nsprefix_ + ':' if (UseCapturedNS_ and self.ExtraDetails_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sExtraDetails>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ExtraDetails), input_name='ExtraDetails')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Application': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Application') + value_ = self.gds_validate_string(value_, node, 'Application') + self.Application = value_ + self.Application_nsprefix_ = child_.prefix + elif nodeName_ == 'Version': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Version') + value_ = self.gds_validate_string(value_, node, 'Version') + self.Version = value_ + self.Version_nsprefix_ = child_.prefix + elif nodeName_ == 'Login': + obj_ = LoginType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Login = obj_ + obj_.original_tagname_ = 'Login' + elif nodeName_ == 'SearchCriteria': + obj_ = SearchCriteriaType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.SearchCriteria = obj_ + obj_.original_tagname_ = 'SearchCriteria' + elif nodeName_ == 'SearchParameters': + obj_ = SearchParametersType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.SearchParameters = obj_ + obj_.original_tagname_ = 'SearchParameters' + elif nodeName_ == 'ExtraDetails': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'ExtraDetails') + value_ = self.gds_validate_string(value_, node, 'ExtraDetails') + self.ExtraDetails = value_ + self.ExtraDetails_nsprefix_ = child_.prefix +# end class Document + + +class LoginType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Customer=None, User=None, Password=None, LangID=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Customer = Customer + self.Customer_nsprefix_ = None + self.User = User + self.User_nsprefix_ = None + self.Password = Password + self.Password_nsprefix_ = None + self.LangID = LangID + self.LangID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, LoginType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if LoginType.subclass: + return LoginType.subclass(*args_, **kwargs_) + else: + return LoginType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Customer(self): + return self.Customer + def set_Customer(self, Customer): + self.Customer = Customer + def get_User(self): + return self.User + def set_User(self, User): + self.User = User + def get_Password(self): + return self.Password + def set_Password(self, Password): + self.Password = Password + def get_LangID(self): + return self.LangID + def set_LangID(self, LangID): + self.LangID = LangID + def has__content(self): + if ( + self.Customer is not None or + self.User is not None or + self.Password is not None or + self.LangID is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LoginType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('LoginType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'LoginType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='LoginType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='LoginType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='LoginType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='LoginType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Customer is not None: + namespaceprefix_ = self.Customer_nsprefix_ + ':' if (UseCapturedNS_ and self.Customer_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sCustomer>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Customer), input_name='Customer')), namespaceprefix_ , eol_)) + if self.User is not None: + namespaceprefix_ = self.User_nsprefix_ + ':' if (UseCapturedNS_ and self.User_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sUser>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.User), input_name='User')), namespaceprefix_ , eol_)) + if self.Password is not None: + namespaceprefix_ = self.Password_nsprefix_ + ':' if (UseCapturedNS_ and self.Password_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sPassword>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Password), input_name='Password')), namespaceprefix_ , eol_)) + if self.LangID is not None: + namespaceprefix_ = self.LangID_nsprefix_ + ':' if (UseCapturedNS_ and self.LangID_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sLangID>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.LangID), input_name='LangID')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Customer': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Customer') + value_ = self.gds_validate_string(value_, node, 'Customer') + self.Customer = value_ + self.Customer_nsprefix_ = child_.prefix + elif nodeName_ == 'User': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'User') + value_ = self.gds_validate_string(value_, node, 'User') + self.User = value_ + self.User_nsprefix_ = child_.prefix + elif nodeName_ == 'Password': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Password') + value_ = self.gds_validate_string(value_, node, 'Password') + self.Password = value_ + self.Password_nsprefix_ = child_.prefix + elif nodeName_ == 'LangID': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'LangID') + value_ = self.gds_validate_string(value_, node, 'LangID') + self.LangID = value_ + self.LangID_nsprefix_ = child_.prefix +# end class LoginType + + +class SearchCriteriaType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ConNo=None, RTLSearch=None, AccountNo=None, StartDate=None, EndDate=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ConNo = ConNo + self.ConNo_nsprefix_ = None + self.RTLSearch = RTLSearch + self.RTLSearch_nsprefix_ = None + self.AccountNo = AccountNo + self.AccountNo_nsprefix_ = None + self.StartDate = StartDate + self.StartDate_nsprefix_ = None + self.EndDate = EndDate + self.EndDate_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, SearchCriteriaType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if SearchCriteriaType.subclass: + return SearchCriteriaType.subclass(*args_, **kwargs_) + else: + return SearchCriteriaType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ConNo(self): + return self.ConNo + def set_ConNo(self, ConNo): + self.ConNo = ConNo + def get_RTLSearch(self): + return self.RTLSearch + def set_RTLSearch(self, RTLSearch): + self.RTLSearch = RTLSearch + def get_AccountNo(self): + return self.AccountNo + def set_AccountNo(self, AccountNo): + self.AccountNo = AccountNo + def get_StartDate(self): + return self.StartDate + def set_StartDate(self, StartDate): + self.StartDate = StartDate + def get_EndDate(self): + return self.EndDate + def set_EndDate(self, EndDate): + self.EndDate = EndDate + def has__content(self): + if ( + self.ConNo is not None or + self.RTLSearch is not None or + self.AccountNo is not None or + self.StartDate is not None or + self.EndDate is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='SearchCriteriaType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('SearchCriteriaType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'SearchCriteriaType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SearchCriteriaType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SearchCriteriaType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SearchCriteriaType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='SearchCriteriaType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ConNo is not None: + namespaceprefix_ = self.ConNo_nsprefix_ + ':' if (UseCapturedNS_ and self.ConNo_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sConNo>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.ConNo), input_name='ConNo')), namespaceprefix_ , eol_)) + if self.RTLSearch is not None: + namespaceprefix_ = self.RTLSearch_nsprefix_ + ':' if (UseCapturedNS_ and self.RTLSearch_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sRTLSearch>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.RTLSearch), input_name='RTLSearch')), namespaceprefix_ , eol_)) + if self.AccountNo is not None: + namespaceprefix_ = self.AccountNo_nsprefix_ + ':' if (UseCapturedNS_ and self.AccountNo_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sAccountNo>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.AccountNo), input_name='AccountNo')), namespaceprefix_ , eol_)) + if self.StartDate is not None: + namespaceprefix_ = self.StartDate_nsprefix_ + ':' if (UseCapturedNS_ and self.StartDate_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sStartDate>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.StartDate), input_name='StartDate')), namespaceprefix_ , eol_)) + if self.EndDate is not None: + namespaceprefix_ = self.EndDate_nsprefix_ + ':' if (UseCapturedNS_ and self.EndDate_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sEndDate>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.EndDate), input_name='EndDate')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ConNo': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'ConNo') + value_ = self.gds_validate_string(value_, node, 'ConNo') + self.ConNo = value_ + self.ConNo_nsprefix_ = child_.prefix + elif nodeName_ == 'RTLSearch': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'RTLSearch') + value_ = self.gds_validate_string(value_, node, 'RTLSearch') + self.RTLSearch = value_ + self.RTLSearch_nsprefix_ = child_.prefix + elif nodeName_ == 'AccountNo': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'AccountNo') + value_ = self.gds_validate_string(value_, node, 'AccountNo') + self.AccountNo = value_ + self.AccountNo_nsprefix_ = child_.prefix + elif nodeName_ == 'StartDate': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'StartDate') + value_ = self.gds_validate_string(value_, node, 'StartDate') + self.StartDate = value_ + self.StartDate_nsprefix_ = child_.prefix + elif nodeName_ == 'EndDate': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'EndDate') + value_ = self.gds_validate_string(value_, node, 'EndDate') + self.EndDate = value_ + self.EndDate_nsprefix_ = child_.prefix +# end class SearchCriteriaType + + +class SearchParametersType(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, SearchType=None, SearchOption=None, SearchKeyValue=None, SearchMethod=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.SearchType = SearchType + self.SearchType_nsprefix_ = None + self.SearchOption = SearchOption + self.SearchOption_nsprefix_ = None + self.SearchKeyValue = SearchKeyValue + self.SearchKeyValue_nsprefix_ = None + self.SearchMethod = SearchMethod + self.SearchMethod_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, SearchParametersType) + if subclass is not None: + return subclass(*args_, **kwargs_) + if SearchParametersType.subclass: + return SearchParametersType.subclass(*args_, **kwargs_) + else: + return SearchParametersType(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_SearchType(self): + return self.SearchType + def set_SearchType(self, SearchType): + self.SearchType = SearchType + def get_SearchOption(self): + return self.SearchOption + def set_SearchOption(self, SearchOption): + self.SearchOption = SearchOption + def get_SearchKeyValue(self): + return self.SearchKeyValue + def set_SearchKeyValue(self, SearchKeyValue): + self.SearchKeyValue = SearchKeyValue + def get_SearchMethod(self): + return self.SearchMethod + def set_SearchMethod(self, SearchMethod): + self.SearchMethod = SearchMethod + def has__content(self): + if ( + self.SearchType is not None or + self.SearchOption is not None or + self.SearchKeyValue is not None or + self.SearchMethod is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='SearchParametersType', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('SearchParametersType') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'SearchParametersType': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='SearchParametersType') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='SearchParametersType', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='SearchParametersType'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='SearchParametersType', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.SearchType is not None: + namespaceprefix_ = self.SearchType_nsprefix_ + ':' if (UseCapturedNS_ and self.SearchType_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSearchType>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SearchType), input_name='SearchType')), namespaceprefix_ , eol_)) + if self.SearchOption is not None: + namespaceprefix_ = self.SearchOption_nsprefix_ + ':' if (UseCapturedNS_ and self.SearchOption_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSearchOption>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SearchOption), input_name='SearchOption')), namespaceprefix_ , eol_)) + if self.SearchKeyValue is not None: + namespaceprefix_ = self.SearchKeyValue_nsprefix_ + ':' if (UseCapturedNS_ and self.SearchKeyValue_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSearchKeyValue>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SearchKeyValue), input_name='SearchKeyValue')), namespaceprefix_ , eol_)) + if self.SearchMethod is not None: + namespaceprefix_ = self.SearchMethod_nsprefix_ + ':' if (UseCapturedNS_ and self.SearchMethod_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSearchMethod>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.SearchMethod), input_name='SearchMethod')), namespaceprefix_ , eol_)) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'SearchType': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'SearchType') + value_ = self.gds_validate_string(value_, node, 'SearchType') + self.SearchType = value_ + self.SearchType_nsprefix_ = child_.prefix + elif nodeName_ == 'SearchOption': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'SearchOption') + value_ = self.gds_validate_string(value_, node, 'SearchOption') + self.SearchOption = value_ + self.SearchOption_nsprefix_ = child_.prefix + elif nodeName_ == 'SearchKeyValue': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'SearchKeyValue') + value_ = self.gds_validate_string(value_, node, 'SearchKeyValue') + self.SearchKeyValue = value_ + self.SearchKeyValue_nsprefix_ = child_.prefix + elif nodeName_ == 'SearchMethod': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'SearchMethod') + value_ = self.gds_validate_string(value_, node, 'SearchMethod') + self.SearchMethod = value_ + self.SearchMethod_nsprefix_ = child_.prefix +# end class SearchParametersType + + +# +# End data representation classes. +# + + +GDSClassesMapping = { +} + + +USAGE_TEXT = """ +Usage: python .py [ -s ] +""" + + +def usage(): + print(USAGE_TEXT) + sys.exit(1) + + +def get_root_tag(node): + tag = Tag_pattern_.match(node.tag).groups()[-1] + prefix_tag = TagNamePrefix + tag + rootClass = GDSClassesMapping.get(prefix_tag) + if rootClass is None: + rootClass = globals().get(prefix_tag) + return tag, rootClass + + +def get_required_ns_prefix_defs(rootNode): + '''Get all name space prefix definitions required in this XML doc. + Return a dictionary of definitions and a char string of definitions. + ''' + nsmap = { + prefix: uri + for node in rootNode.iter() + for (prefix, uri) in node.nsmap.items() + if prefix is not None + } + namespacedefs = ' '.join([ + 'xmlns:{}="{}"'.format(prefix, uri) + for prefix, uri in nsmap.items() + ]) + return nsmap, namespacedefs + + +def parse(inFileName, silence=False, print_warnings=True): + global CapturedNsmap_ + gds_collector = GdsCollector_() + parser = None + doc = parsexml_(inFileName, parser) + rootNode = doc.getroot() + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'Document' + rootClass = Document + rootObj = rootClass.factory() + rootObj.build(rootNode, gds_collector_=gds_collector) + CapturedNsmap_, namespacedefs = get_required_ns_prefix_defs(rootNode) + if not SaveElementTreeNode: + doc = None + rootNode = None + if not silence: + sys.stdout.write('\n') + rootObj.export( + sys.stdout, 0, name_=rootTag, + namespacedef_=namespacedefs, + pretty_print=True) + if print_warnings and len(gds_collector.get_messages()) > 0: + separator = ('-' * 50) + '\n' + sys.stderr.write(separator) + sys.stderr.write('----- Warnings -- count: {} -----\n'.format( + len(gds_collector.get_messages()), )) + gds_collector.write_messages(sys.stderr) + sys.stderr.write(separator) + return rootObj + + +def parseEtree(inFileName, silence=False, print_warnings=True, + mapping=None, reverse_mapping=None, nsmap=None): + parser = None + doc = parsexml_(inFileName, parser) + gds_collector = GdsCollector_() + rootNode = doc.getroot() + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'Document' + rootClass = Document + rootObj = rootClass.factory() + rootObj.build(rootNode, gds_collector_=gds_collector) + if mapping is None: + mapping = {} + if reverse_mapping is None: + reverse_mapping = {} + rootElement = rootObj.to_etree( + None, name_=rootTag, mapping_=mapping, + reverse_mapping_=reverse_mapping, nsmap_=nsmap) + reverse_node_mapping = rootObj.gds_reverse_node_mapping(mapping) + # Enable Python to collect the space used by the DOM. + if not SaveElementTreeNode: + doc = None + rootNode = None + if not silence: + content = etree_.tostring( + rootElement, pretty_print=True, + xml_declaration=True, encoding="utf-8") + sys.stdout.write(str(content)) + sys.stdout.write('\n') + if print_warnings and len(gds_collector.get_messages()) > 0: + separator = ('-' * 50) + '\n' + sys.stderr.write(separator) + sys.stderr.write('----- Warnings -- count: {} -----\n'.format( + len(gds_collector.get_messages()), )) + gds_collector.write_messages(sys.stderr) + sys.stderr.write(separator) + return rootObj, rootElement, mapping, reverse_node_mapping + + +def parseString(inString, silence=False, print_warnings=True): + '''Parse a string, create the object tree, and export it. + + Arguments: + - inString -- A string. This XML fragment should not start + with an XML declaration containing an encoding. + - silence -- A boolean. If False, export the object. + Returns -- The root object in the tree. + ''' + parser = None + rootNode= parsexmlstring_(inString, parser) + gds_collector = GdsCollector_() + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'Document' + rootClass = Document + rootObj = rootClass.factory() + rootObj.build(rootNode, gds_collector_=gds_collector) + if not SaveElementTreeNode: + rootNode = None + if not silence: + sys.stdout.write('\n') + rootObj.export( + sys.stdout, 0, name_=rootTag, + namespacedef_='') + if print_warnings and len(gds_collector.get_messages()) > 0: + separator = ('-' * 50) + '\n' + sys.stderr.write(separator) + sys.stderr.write('----- Warnings -- count: {} -----\n'.format( + len(gds_collector.get_messages()), )) + gds_collector.write_messages(sys.stderr) + sys.stderr.write(separator) + return rootObj + + +def parseLiteral(inFileName, silence=False, print_warnings=True): + parser = None + doc = parsexml_(inFileName, parser) + gds_collector = GdsCollector_() + rootNode = doc.getroot() + rootTag, rootClass = get_root_tag(rootNode) + if rootClass is None: + rootTag = 'Document' + rootClass = Document + rootObj = rootClass.factory() + rootObj.build(rootNode, gds_collector_=gds_collector) + # Enable Python to collect the space used by the DOM. + if not SaveElementTreeNode: + doc = None + rootNode = None + if not silence: + sys.stdout.write('#from tracking import *\n\n') + sys.stdout.write('import tracking as model_\n\n') + sys.stdout.write('rootObj = model_.rootClass(\n') + rootObj.exportLiteral(sys.stdout, 0, name_=rootTag) + sys.stdout.write(')\n') + if print_warnings and len(gds_collector.get_messages()) > 0: + separator = ('-' * 50) + '\n' + sys.stderr.write(separator) + sys.stderr.write('----- Warnings -- count: {} -----\n'.format( + len(gds_collector.get_messages()), )) + gds_collector.write_messages(sys.stderr) + sys.stderr.write(separator) + return rootObj + + +def main(): + args = sys.argv[1:] + if len(args) == 1: + parse(args[0]) + else: + usage() + + +if __name__ == '__main__': + #import pdb; pdb.set_trace() + main() + +RenameMappings_ = { +} + +# +# Mapping of namespaces to types defined in them +# and the file in which each is defined. +# simpleTypes are marked "ST" and complexTypes "CT". +NamespaceToDefMappings_ = {} + +__all__ = [ + "Document", + "LoginType", + "SearchCriteriaType", + "SearchParametersType" +] diff --git a/modules/connectors/tnt_it/schemas/rating.xsd b/modules/connectors/tnt_it/schemas/rating.xsd new file mode 100644 index 0000000000..46a1dc27c6 --- /dev/null +++ b/modules/connectors/tnt_it/schemas/rating.xsd @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/connectors/tnt_it/schemas/routinglabel.xsd b/modules/connectors/tnt_it/schemas/routinglabel.xsd new file mode 100644 index 0000000000..e18c004c95 --- /dev/null +++ b/modules/connectors/tnt_it/schemas/routinglabel.xsd @@ -0,0 +1,978 @@ + + + + Schema: routing label Version: 1.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/connectors/tnt_it/schemas/tracking.xsd b/modules/connectors/tnt_it/schemas/tracking.xsd new file mode 100644 index 0000000000..1912626b8e --- /dev/null +++ b/modules/connectors/tnt_it/schemas/tracking.xsd @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/connectors/usps/karrio/providers/usps/pickup/create.py b/modules/connectors/usps/karrio/providers/usps/pickup/create.py index 2f87b81d7e..3291cc63df 100644 --- a/modules/connectors/usps/karrio/providers/usps/pickup/create.py +++ b/modules/connectors/usps/karrio/providers/usps/pickup/create.py @@ -15,7 +15,7 @@ def parse_pickup_response( _response: lib.Deserializable[dict], settings: provider_utils.Settings, -) -> typing.Tuple[typing.List[models.RateDetails], typing.List[models.Message]]: +) -> typing.Tuple[typing.List[models.PickupDetails], typing.List[models.Message]]: response = _response.deserialize() messages = error.parse_error_response(response, settings) diff --git a/modules/connectors/usps/karrio/providers/usps/pickup/update.py b/modules/connectors/usps/karrio/providers/usps/pickup/update.py index 5925a0a41c..cbb6df6b59 100644 --- a/modules/connectors/usps/karrio/providers/usps/pickup/update.py +++ b/modules/connectors/usps/karrio/providers/usps/pickup/update.py @@ -15,7 +15,7 @@ def parse_pickup_update_response( _response: lib.Deserializable[dict], settings: provider_utils.Settings, -) -> typing.Tuple[typing.List[models.RateDetails], typing.List[models.Message]]: +) -> typing.Tuple[typing.List[models.PickupDetails], typing.List[models.Message]]: response = _response.deserialize() messages = error.parse_error_response(response, settings) diff --git a/modules/connectors/usps_international/karrio/providers/usps_international/pickup/create.py b/modules/connectors/usps_international/karrio/providers/usps_international/pickup/create.py index 508fc58708..4d83e0d3d9 100644 --- a/modules/connectors/usps_international/karrio/providers/usps_international/pickup/create.py +++ b/modules/connectors/usps_international/karrio/providers/usps_international/pickup/create.py @@ -15,7 +15,7 @@ def parse_pickup_response( _response: lib.Deserializable[dict], settings: provider_utils.Settings, -) -> typing.Tuple[typing.List[models.RateDetails], typing.List[models.Message]]: +) -> typing.Tuple[typing.List[models.PickupDetails], typing.List[models.Message]]: response = _response.deserialize() messages = error.parse_error_response(response, settings) diff --git a/modules/connectors/usps_international/karrio/providers/usps_international/pickup/update.py b/modules/connectors/usps_international/karrio/providers/usps_international/pickup/update.py index bf14d0e0d7..ca24ec0e47 100644 --- a/modules/connectors/usps_international/karrio/providers/usps_international/pickup/update.py +++ b/modules/connectors/usps_international/karrio/providers/usps_international/pickup/update.py @@ -15,7 +15,7 @@ def parse_pickup_update_response( _response: lib.Deserializable[dict], settings: provider_utils.Settings, -) -> typing.Tuple[typing.List[models.RateDetails], typing.List[models.Message]]: +) -> typing.Tuple[typing.List[models.PickupDetails], typing.List[models.Message]]: response = _response.deserialize() messages = error.parse_error_response(response, settings) diff --git a/modules/core/karrio/server/core/datatypes.py b/modules/core/karrio/server/core/datatypes.py index 27ba783447..7c2b6379e1 100644 --- a/modules/core/karrio/server/core/datatypes.py +++ b/modules/core/karrio/server/core/datatypes.py @@ -123,10 +123,11 @@ class PickupRequest(BasePickupRequest): address: Address = jstruct.JStruct[Address, jstruct.REQUIRED] parcels: typing.List[Parcel] = jstruct.JList[Parcel] - instruction: str = None + shipment_identifiers: typing.List[str] = [] package_location: str = None metadata: typing.Dict = {} options: typing.Dict = {} + instruction: str = None @attr.s(auto_attribs=True) @@ -138,9 +139,10 @@ class PickupUpdateRequest(BasePickupUpdateRequest): address: Address = jstruct.JStruct[Address, jstruct.REQUIRED] parcels: typing.List[Parcel] = jstruct.JList[Parcel] - instruction: str = None + shipment_identifiers: typing.List[str] = [] package_location: str = None options: typing.Dict = {} + instruction: str = None @attr.s(auto_attribs=True) diff --git a/modules/core/karrio/server/core/filters.py b/modules/core/karrio/server/core/filters.py index 196be26d9d..891dfc7cb1 100644 --- a/modules/core/karrio/server/core/filters.py +++ b/modules/core/karrio/server/core/filters.py @@ -460,12 +460,7 @@ def keyword_filter(self, queryset, name, value): def carrier_filter(self, queryset, name, values): _filters = [ - models.Q( - **{ - f"selected_rate_carrier__{value.replace('_', '')}settings__isnull": False - } - ) - for value in values + models.Q(selected_rate_carrier__carrier_code=value) for value in values ] query = models.Q(meta__rate_provider__in=values) @@ -596,12 +591,7 @@ class Meta: fields: typing.List[str] = [] def carrier_filter(self, queryset, name, values): - _filters = [ - models.Q( - **{f"tracking_carrier__{value.replace('_', '')}settings__isnull": False} - ) - for value in values - ] + _filters = [models.Q(tracking_carrier__carrier_code=value) for value in values] query = _filters.pop() for item in _filters: @@ -801,12 +791,7 @@ class Meta: fields: typing.List[str] = [] def carrier_filter(self, queryset, name, values): - _filters = [ - models.Q( - **{f"manifest_carrier__{value.replace('_', '')}settings__isnull": False} - ) - for value in values - ] + _filters = [models.Q(manifest_carrier__carrier_code=value) for value in values] query = _filters.pop() for item in _filters: diff --git a/modules/core/karrio/server/core/serializers.py b/modules/core/karrio/server/core/serializers.py index c52d6f3be2..79cdd1ec0d 100644 --- a/modules/core/karrio/server/core/serializers.py +++ b/modules/core/karrio/server/core/serializers.py @@ -652,7 +652,8 @@ class RateRequest(validators.OptionDefaultSerializer): "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, @@ -1252,7 +1253,8 @@ class ShippingData(validators.OptionDefaultSerializer): "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, @@ -1474,7 +1476,8 @@ class ShipmentContent(serializers.Serializer): "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, diff --git a/modules/core/karrio/server/core/validators.py b/modules/core/karrio/server/core/validators.py index f41f572e8b..643ad98159 100644 --- a/modules/core/karrio/server/core/validators.py +++ b/modules/core/karrio/server/core/validators.py @@ -110,15 +110,30 @@ def __init__(self, instance=None, **kwargs): data = kwargs.get("data", {}) if data: options = (data or {}).get("options") or {} - shipment_date = lib.to_date( - options.get("shipment_date") - or (getattr(instance, "options", None) or {}).get("shipment_date") + + shipping_date = lib.to_date( + options.get("shipping_date") + or (getattr(instance, "options", None) or {}).get("shipping_date"), + current_format="%Y-%m-%dT%H:%M", ) - if shipment_date is None or shipment_date.date() < datetime.now().date(): - options.update(shipment_date=datetime.now().strftime("%Y-%m-%d")) + if shipping_date is None or shipping_date < datetime.now(): + options.update( + shipping_date=lib.fdatetime( + lib.to_next_business_datetime(), + output_format="%Y-%m-%dT%H:%M", + ) + ) kwargs["data"].update(dict(options=options)) + options.update( + shipment_date=lib.fdate( + shipping_date or options.get("shipping_date"), + current_format="%Y-%m-%dT%H:%M", + ) + ) + kwargs["data"].update(dict(options=options)) + super().__init__(instance, **kwargs) diff --git a/modules/core/karrio/server/providers/migrations/0080_alter_aramexsettings_account_country_code_and_more.py b/modules/core/karrio/server/providers/migrations/0080_alter_aramexsettings_account_country_code_and_more.py new file mode 100644 index 0000000000..5da5ee138d --- /dev/null +++ b/modules/core/karrio/server/providers/migrations/0080_alter_aramexsettings_account_country_code_and_more.py @@ -0,0 +1,3025 @@ +# Generated by Django 4.2.15 on 2024-09-27 19:24 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("providers", "0079_alter_carrier_options_alter_ratesheet_created_by"), + ] + + operations = [ + migrations.AlterField( + model_name="aramexsettings", + name="account_country_code", + field=models.CharField( + blank=True, + choices=[ + ("AC", "AC"), + ("AD", "AD"), + ("AE", "AE"), + ("AF", "AF"), + ("AG", "AG"), + ("AI", "AI"), + ("AL", "AL"), + ("AM", "AM"), + ("AN", "AN"), + ("AO", "AO"), + ("AR", "AR"), + ("AS", "AS"), + ("AT", "AT"), + ("AU", "AU"), + ("AW", "AW"), + ("AZ", "AZ"), + ("BA", "BA"), + ("BB", "BB"), + ("BD", "BD"), + ("BE", "BE"), + ("BF", "BF"), + ("BG", "BG"), + ("BH", "BH"), + ("BI", "BI"), + ("BJ", "BJ"), + ("BM", "BM"), + ("BN", "BN"), + ("BO", "BO"), + ("BR", "BR"), + ("BS", "BS"), + ("BT", "BT"), + ("BW", "BW"), + ("BY", "BY"), + ("BZ", "BZ"), + ("CA", "CA"), + ("CD", "CD"), + ("CF", "CF"), + ("CG", "CG"), + ("CH", "CH"), + ("CI", "CI"), + ("CK", "CK"), + ("CL", "CL"), + ("CM", "CM"), + ("CN", "CN"), + ("CO", "CO"), + ("CR", "CR"), + ("CU", "CU"), + ("CV", "CV"), + ("CY", "CY"), + ("CZ", "CZ"), + ("DE", "DE"), + ("DJ", "DJ"), + ("DK", "DK"), + ("DM", "DM"), + ("DO", "DO"), + ("DZ", "DZ"), + ("EC", "EC"), + ("EE", "EE"), + ("EG", "EG"), + ("ER", "ER"), + ("ES", "ES"), + ("ET", "ET"), + ("FI", "FI"), + ("FJ", "FJ"), + ("FK", "FK"), + ("FM", "FM"), + ("FO", "FO"), + ("FR", "FR"), + ("GA", "GA"), + ("GB", "GB"), + ("GD", "GD"), + ("GE", "GE"), + ("GF", "GF"), + ("GG", "GG"), + ("GH", "GH"), + ("GI", "GI"), + ("GL", "GL"), + ("GM", "GM"), + ("GN", "GN"), + ("GP", "GP"), + ("GQ", "GQ"), + ("GR", "GR"), + ("GT", "GT"), + ("GU", "GU"), + ("GW", "GW"), + ("GY", "GY"), + ("HK", "HK"), + ("HN", "HN"), + ("HR", "HR"), + ("HT", "HT"), + ("HU", "HU"), + ("IC", "IC"), + ("ID", "ID"), + ("IE", "IE"), + ("IL", "IL"), + ("IN", "IN"), + ("IQ", "IQ"), + ("IR", "IR"), + ("IS", "IS"), + ("IT", "IT"), + ("JE", "JE"), + ("JM", "JM"), + ("JO", "JO"), + ("JP", "JP"), + ("KE", "KE"), + ("KG", "KG"), + ("KH", "KH"), + ("KI", "KI"), + ("KM", "KM"), + ("KN", "KN"), + ("KP", "KP"), + ("KR", "KR"), + ("KV", "KV"), + ("KW", "KW"), + ("KY", "KY"), + ("KZ", "KZ"), + ("LA", "LA"), + ("LB", "LB"), + ("LC", "LC"), + ("LI", "LI"), + ("LK", "LK"), + ("LR", "LR"), + ("LS", "LS"), + ("LT", "LT"), + ("LU", "LU"), + ("LV", "LV"), + ("LY", "LY"), + ("MA", "MA"), + ("MC", "MC"), + ("MD", "MD"), + ("ME", "ME"), + ("MG", "MG"), + ("MH", "MH"), + ("MK", "MK"), + ("ML", "ML"), + ("MM", "MM"), + ("MN", "MN"), + ("MO", "MO"), + ("MP", "MP"), + ("MQ", "MQ"), + ("MR", "MR"), + ("MS", "MS"), + ("MT", "MT"), + ("MU", "MU"), + ("MV", "MV"), + ("MW", "MW"), + ("MX", "MX"), + ("MY", "MY"), + ("MZ", "MZ"), + ("NA", "NA"), + ("NC", "NC"), + ("NE", "NE"), + ("NG", "NG"), + ("NI", "NI"), + ("NL", "NL"), + ("NO", "NO"), + ("NP", "NP"), + ("NR", "NR"), + ("NU", "NU"), + ("NZ", "NZ"), + ("OM", "OM"), + ("PA", "PA"), + ("PE", "PE"), + ("PF", "PF"), + ("PG", "PG"), + ("PH", "PH"), + ("PK", "PK"), + ("PL", "PL"), + ("PR", "PR"), + ("PT", "PT"), + ("PW", "PW"), + ("PY", "PY"), + ("QA", "QA"), + ("RE", "RE"), + ("RO", "RO"), + ("RS", "RS"), + ("RU", "RU"), + ("RW", "RW"), + ("SA", "SA"), + ("SB", "SB"), + ("SC", "SC"), + ("SD", "SD"), + ("SE", "SE"), + ("SG", "SG"), + ("SH", "SH"), + ("SI", "SI"), + ("SK", "SK"), + ("SL", "SL"), + ("SM", "SM"), + ("SN", "SN"), + ("SO", "SO"), + ("SR", "SR"), + ("SS", "SS"), + ("ST", "ST"), + ("SV", "SV"), + ("SY", "SY"), + ("SZ", "SZ"), + ("TC", "TC"), + ("TD", "TD"), + ("TG", "TG"), + ("TH", "TH"), + ("TJ", "TJ"), + ("TL", "TL"), + ("TN", "TN"), + ("TO", "TO"), + ("TR", "TR"), + ("TT", "TT"), + ("TV", "TV"), + ("TW", "TW"), + ("TZ", "TZ"), + ("UA", "UA"), + ("UG", "UG"), + ("US", "US"), + ("UY", "UY"), + ("UZ", "UZ"), + ("VA", "VA"), + ("VC", "VC"), + ("VE", "VE"), + ("VG", "VG"), + ("VI", "VI"), + ("VN", "VN"), + ("VU", "VU"), + ("WS", "WS"), + ("XB", "XB"), + ("XC", "XC"), + ("XE", "XE"), + ("XM", "XM"), + ("XN", "XN"), + ("XS", "XS"), + ("XY", "XY"), + ("YE", "YE"), + ("YT", "YT"), + ("ZA", "ZA"), + ("ZM", "ZM"), + ("ZW", "ZW"), + ("EH", "EH"), + ("IM", "IM"), + ("BL", "BL"), + ("MF", "MF"), + ("SX", "SX"), + ], + max_length=3, + null=True, + ), + ), + migrations.AlterField( + model_name="chronopostsettings", + name="account_country_code", + field=models.CharField( + blank=True, + choices=[ + ("AC", "AC"), + ("AD", "AD"), + ("AE", "AE"), + ("AF", "AF"), + ("AG", "AG"), + ("AI", "AI"), + ("AL", "AL"), + ("AM", "AM"), + ("AN", "AN"), + ("AO", "AO"), + ("AR", "AR"), + ("AS", "AS"), + ("AT", "AT"), + ("AU", "AU"), + ("AW", "AW"), + ("AZ", "AZ"), + ("BA", "BA"), + ("BB", "BB"), + ("BD", "BD"), + ("BE", "BE"), + ("BF", "BF"), + ("BG", "BG"), + ("BH", "BH"), + ("BI", "BI"), + ("BJ", "BJ"), + ("BM", "BM"), + ("BN", "BN"), + ("BO", "BO"), + ("BR", "BR"), + ("BS", "BS"), + ("BT", "BT"), + ("BW", "BW"), + ("BY", "BY"), + ("BZ", "BZ"), + ("CA", "CA"), + ("CD", "CD"), + ("CF", "CF"), + ("CG", "CG"), + ("CH", "CH"), + ("CI", "CI"), + ("CK", "CK"), + ("CL", "CL"), + ("CM", "CM"), + ("CN", "CN"), + ("CO", "CO"), + ("CR", "CR"), + ("CU", "CU"), + ("CV", "CV"), + ("CY", "CY"), + ("CZ", "CZ"), + ("DE", "DE"), + ("DJ", "DJ"), + ("DK", "DK"), + ("DM", "DM"), + ("DO", "DO"), + ("DZ", "DZ"), + ("EC", "EC"), + ("EE", "EE"), + ("EG", "EG"), + ("ER", "ER"), + ("ES", "ES"), + ("ET", "ET"), + ("FI", "FI"), + ("FJ", "FJ"), + ("FK", "FK"), + ("FM", "FM"), + ("FO", "FO"), + ("FR", "FR"), + ("GA", "GA"), + ("GB", "GB"), + ("GD", "GD"), + ("GE", "GE"), + ("GF", "GF"), + ("GG", "GG"), + ("GH", "GH"), + ("GI", "GI"), + ("GL", "GL"), + ("GM", "GM"), + ("GN", "GN"), + ("GP", "GP"), + ("GQ", "GQ"), + ("GR", "GR"), + ("GT", "GT"), + ("GU", "GU"), + ("GW", "GW"), + ("GY", "GY"), + ("HK", "HK"), + ("HN", "HN"), + ("HR", "HR"), + ("HT", "HT"), + ("HU", "HU"), + ("IC", "IC"), + ("ID", "ID"), + ("IE", "IE"), + ("IL", "IL"), + ("IN", "IN"), + ("IQ", "IQ"), + ("IR", "IR"), + ("IS", "IS"), + ("IT", "IT"), + ("JE", "JE"), + ("JM", "JM"), + ("JO", "JO"), + ("JP", "JP"), + ("KE", "KE"), + ("KG", "KG"), + ("KH", "KH"), + ("KI", "KI"), + ("KM", "KM"), + ("KN", "KN"), + ("KP", "KP"), + ("KR", "KR"), + ("KV", "KV"), + ("KW", "KW"), + ("KY", "KY"), + ("KZ", "KZ"), + ("LA", "LA"), + ("LB", "LB"), + ("LC", "LC"), + ("LI", "LI"), + ("LK", "LK"), + ("LR", "LR"), + ("LS", "LS"), + ("LT", "LT"), + ("LU", "LU"), + ("LV", "LV"), + ("LY", "LY"), + ("MA", "MA"), + ("MC", "MC"), + ("MD", "MD"), + ("ME", "ME"), + ("MG", "MG"), + ("MH", "MH"), + ("MK", "MK"), + ("ML", "ML"), + ("MM", "MM"), + ("MN", "MN"), + ("MO", "MO"), + ("MP", "MP"), + ("MQ", "MQ"), + ("MR", "MR"), + ("MS", "MS"), + ("MT", "MT"), + ("MU", "MU"), + ("MV", "MV"), + ("MW", "MW"), + ("MX", "MX"), + ("MY", "MY"), + ("MZ", "MZ"), + ("NA", "NA"), + ("NC", "NC"), + ("NE", "NE"), + ("NG", "NG"), + ("NI", "NI"), + ("NL", "NL"), + ("NO", "NO"), + ("NP", "NP"), + ("NR", "NR"), + ("NU", "NU"), + ("NZ", "NZ"), + ("OM", "OM"), + ("PA", "PA"), + ("PE", "PE"), + ("PF", "PF"), + ("PG", "PG"), + ("PH", "PH"), + ("PK", "PK"), + ("PL", "PL"), + ("PR", "PR"), + ("PT", "PT"), + ("PW", "PW"), + ("PY", "PY"), + ("QA", "QA"), + ("RE", "RE"), + ("RO", "RO"), + ("RS", "RS"), + ("RU", "RU"), + ("RW", "RW"), + ("SA", "SA"), + ("SB", "SB"), + ("SC", "SC"), + ("SD", "SD"), + ("SE", "SE"), + ("SG", "SG"), + ("SH", "SH"), + ("SI", "SI"), + ("SK", "SK"), + ("SL", "SL"), + ("SM", "SM"), + ("SN", "SN"), + ("SO", "SO"), + ("SR", "SR"), + ("SS", "SS"), + ("ST", "ST"), + ("SV", "SV"), + ("SY", "SY"), + ("SZ", "SZ"), + ("TC", "TC"), + ("TD", "TD"), + ("TG", "TG"), + ("TH", "TH"), + ("TJ", "TJ"), + ("TL", "TL"), + ("TN", "TN"), + ("TO", "TO"), + ("TR", "TR"), + ("TT", "TT"), + ("TV", "TV"), + ("TW", "TW"), + ("TZ", "TZ"), + ("UA", "UA"), + ("UG", "UG"), + ("US", "US"), + ("UY", "UY"), + ("UZ", "UZ"), + ("VA", "VA"), + ("VC", "VC"), + ("VE", "VE"), + ("VG", "VG"), + ("VI", "VI"), + ("VN", "VN"), + ("VU", "VU"), + ("WS", "WS"), + ("XB", "XB"), + ("XC", "XC"), + ("XE", "XE"), + ("XM", "XM"), + ("XN", "XN"), + ("XS", "XS"), + ("XY", "XY"), + ("YE", "YE"), + ("YT", "YT"), + ("ZA", "ZA"), + ("ZM", "ZM"), + ("ZW", "ZW"), + ("EH", "EH"), + ("IM", "IM"), + ("BL", "BL"), + ("MF", "MF"), + ("SX", "SX"), + ], + max_length=3, + null=True, + ), + ), + migrations.AlterField( + model_name="dhlexpresssettings", + name="account_country_code", + field=models.CharField( + blank=True, + choices=[ + ("AC", "AC"), + ("AD", "AD"), + ("AE", "AE"), + ("AF", "AF"), + ("AG", "AG"), + ("AI", "AI"), + ("AL", "AL"), + ("AM", "AM"), + ("AN", "AN"), + ("AO", "AO"), + ("AR", "AR"), + ("AS", "AS"), + ("AT", "AT"), + ("AU", "AU"), + ("AW", "AW"), + ("AZ", "AZ"), + ("BA", "BA"), + ("BB", "BB"), + ("BD", "BD"), + ("BE", "BE"), + ("BF", "BF"), + ("BG", "BG"), + ("BH", "BH"), + ("BI", "BI"), + ("BJ", "BJ"), + ("BM", "BM"), + ("BN", "BN"), + ("BO", "BO"), + ("BR", "BR"), + ("BS", "BS"), + ("BT", "BT"), + ("BW", "BW"), + ("BY", "BY"), + ("BZ", "BZ"), + ("CA", "CA"), + ("CD", "CD"), + ("CF", "CF"), + ("CG", "CG"), + ("CH", "CH"), + ("CI", "CI"), + ("CK", "CK"), + ("CL", "CL"), + ("CM", "CM"), + ("CN", "CN"), + ("CO", "CO"), + ("CR", "CR"), + ("CU", "CU"), + ("CV", "CV"), + ("CY", "CY"), + ("CZ", "CZ"), + ("DE", "DE"), + ("DJ", "DJ"), + ("DK", "DK"), + ("DM", "DM"), + ("DO", "DO"), + ("DZ", "DZ"), + ("EC", "EC"), + ("EE", "EE"), + ("EG", "EG"), + ("ER", "ER"), + ("ES", "ES"), + ("ET", "ET"), + ("FI", "FI"), + ("FJ", "FJ"), + ("FK", "FK"), + ("FM", "FM"), + ("FO", "FO"), + ("FR", "FR"), + ("GA", "GA"), + ("GB", "GB"), + ("GD", "GD"), + ("GE", "GE"), + ("GF", "GF"), + ("GG", "GG"), + ("GH", "GH"), + ("GI", "GI"), + ("GL", "GL"), + ("GM", "GM"), + ("GN", "GN"), + ("GP", "GP"), + ("GQ", "GQ"), + ("GR", "GR"), + ("GT", "GT"), + ("GU", "GU"), + ("GW", "GW"), + ("GY", "GY"), + ("HK", "HK"), + ("HN", "HN"), + ("HR", "HR"), + ("HT", "HT"), + ("HU", "HU"), + ("IC", "IC"), + ("ID", "ID"), + ("IE", "IE"), + ("IL", "IL"), + ("IN", "IN"), + ("IQ", "IQ"), + ("IR", "IR"), + ("IS", "IS"), + ("IT", "IT"), + ("JE", "JE"), + ("JM", "JM"), + ("JO", "JO"), + ("JP", "JP"), + ("KE", "KE"), + ("KG", "KG"), + ("KH", "KH"), + ("KI", "KI"), + ("KM", "KM"), + ("KN", "KN"), + ("KP", "KP"), + ("KR", "KR"), + ("KV", "KV"), + ("KW", "KW"), + ("KY", "KY"), + ("KZ", "KZ"), + ("LA", "LA"), + ("LB", "LB"), + ("LC", "LC"), + ("LI", "LI"), + ("LK", "LK"), + ("LR", "LR"), + ("LS", "LS"), + ("LT", "LT"), + ("LU", "LU"), + ("LV", "LV"), + ("LY", "LY"), + ("MA", "MA"), + ("MC", "MC"), + ("MD", "MD"), + ("ME", "ME"), + ("MG", "MG"), + ("MH", "MH"), + ("MK", "MK"), + ("ML", "ML"), + ("MM", "MM"), + ("MN", "MN"), + ("MO", "MO"), + ("MP", "MP"), + ("MQ", "MQ"), + ("MR", "MR"), + ("MS", "MS"), + ("MT", "MT"), + ("MU", "MU"), + ("MV", "MV"), + ("MW", "MW"), + ("MX", "MX"), + ("MY", "MY"), + ("MZ", "MZ"), + ("NA", "NA"), + ("NC", "NC"), + ("NE", "NE"), + ("NG", "NG"), + ("NI", "NI"), + ("NL", "NL"), + ("NO", "NO"), + ("NP", "NP"), + ("NR", "NR"), + ("NU", "NU"), + ("NZ", "NZ"), + ("OM", "OM"), + ("PA", "PA"), + ("PE", "PE"), + ("PF", "PF"), + ("PG", "PG"), + ("PH", "PH"), + ("PK", "PK"), + ("PL", "PL"), + ("PR", "PR"), + ("PT", "PT"), + ("PW", "PW"), + ("PY", "PY"), + ("QA", "QA"), + ("RE", "RE"), + ("RO", "RO"), + ("RS", "RS"), + ("RU", "RU"), + ("RW", "RW"), + ("SA", "SA"), + ("SB", "SB"), + ("SC", "SC"), + ("SD", "SD"), + ("SE", "SE"), + ("SG", "SG"), + ("SH", "SH"), + ("SI", "SI"), + ("SK", "SK"), + ("SL", "SL"), + ("SM", "SM"), + ("SN", "SN"), + ("SO", "SO"), + ("SR", "SR"), + ("SS", "SS"), + ("ST", "ST"), + ("SV", "SV"), + ("SY", "SY"), + ("SZ", "SZ"), + ("TC", "TC"), + ("TD", "TD"), + ("TG", "TG"), + ("TH", "TH"), + ("TJ", "TJ"), + ("TL", "TL"), + ("TN", "TN"), + ("TO", "TO"), + ("TR", "TR"), + ("TT", "TT"), + ("TV", "TV"), + ("TW", "TW"), + ("TZ", "TZ"), + ("UA", "UA"), + ("UG", "UG"), + ("US", "US"), + ("UY", "UY"), + ("UZ", "UZ"), + ("VA", "VA"), + ("VC", "VC"), + ("VE", "VE"), + ("VG", "VG"), + ("VI", "VI"), + ("VN", "VN"), + ("VU", "VU"), + ("WS", "WS"), + ("XB", "XB"), + ("XC", "XC"), + ("XE", "XE"), + ("XM", "XM"), + ("XN", "XN"), + ("XS", "XS"), + ("XY", "XY"), + ("YE", "YE"), + ("YT", "YT"), + ("ZA", "ZA"), + ("ZM", "ZM"), + ("ZW", "ZW"), + ("EH", "EH"), + ("IM", "IM"), + ("BL", "BL"), + ("MF", "MF"), + ("SX", "SX"), + ], + max_length=3, + null=True, + ), + ), + migrations.AlterField( + model_name="dpdsettings", + name="account_country_code", + field=models.CharField( + blank=True, + choices=[ + ("AC", "AC"), + ("AD", "AD"), + ("AE", "AE"), + ("AF", "AF"), + ("AG", "AG"), + ("AI", "AI"), + ("AL", "AL"), + ("AM", "AM"), + ("AN", "AN"), + ("AO", "AO"), + ("AR", "AR"), + ("AS", "AS"), + ("AT", "AT"), + ("AU", "AU"), + ("AW", "AW"), + ("AZ", "AZ"), + ("BA", "BA"), + ("BB", "BB"), + ("BD", "BD"), + ("BE", "BE"), + ("BF", "BF"), + ("BG", "BG"), + ("BH", "BH"), + ("BI", "BI"), + ("BJ", "BJ"), + ("BM", "BM"), + ("BN", "BN"), + ("BO", "BO"), + ("BR", "BR"), + ("BS", "BS"), + ("BT", "BT"), + ("BW", "BW"), + ("BY", "BY"), + ("BZ", "BZ"), + ("CA", "CA"), + ("CD", "CD"), + ("CF", "CF"), + ("CG", "CG"), + ("CH", "CH"), + ("CI", "CI"), + ("CK", "CK"), + ("CL", "CL"), + ("CM", "CM"), + ("CN", "CN"), + ("CO", "CO"), + ("CR", "CR"), + ("CU", "CU"), + ("CV", "CV"), + ("CY", "CY"), + ("CZ", "CZ"), + ("DE", "DE"), + ("DJ", "DJ"), + ("DK", "DK"), + ("DM", "DM"), + ("DO", "DO"), + ("DZ", "DZ"), + ("EC", "EC"), + ("EE", "EE"), + ("EG", "EG"), + ("ER", "ER"), + ("ES", "ES"), + ("ET", "ET"), + ("FI", "FI"), + ("FJ", "FJ"), + ("FK", "FK"), + ("FM", "FM"), + ("FO", "FO"), + ("FR", "FR"), + ("GA", "GA"), + ("GB", "GB"), + ("GD", "GD"), + ("GE", "GE"), + ("GF", "GF"), + ("GG", "GG"), + ("GH", "GH"), + ("GI", "GI"), + ("GL", "GL"), + ("GM", "GM"), + ("GN", "GN"), + ("GP", "GP"), + ("GQ", "GQ"), + ("GR", "GR"), + ("GT", "GT"), + ("GU", "GU"), + ("GW", "GW"), + ("GY", "GY"), + ("HK", "HK"), + ("HN", "HN"), + ("HR", "HR"), + ("HT", "HT"), + ("HU", "HU"), + ("IC", "IC"), + ("ID", "ID"), + ("IE", "IE"), + ("IL", "IL"), + ("IN", "IN"), + ("IQ", "IQ"), + ("IR", "IR"), + ("IS", "IS"), + ("IT", "IT"), + ("JE", "JE"), + ("JM", "JM"), + ("JO", "JO"), + ("JP", "JP"), + ("KE", "KE"), + ("KG", "KG"), + ("KH", "KH"), + ("KI", "KI"), + ("KM", "KM"), + ("KN", "KN"), + ("KP", "KP"), + ("KR", "KR"), + ("KV", "KV"), + ("KW", "KW"), + ("KY", "KY"), + ("KZ", "KZ"), + ("LA", "LA"), + ("LB", "LB"), + ("LC", "LC"), + ("LI", "LI"), + ("LK", "LK"), + ("LR", "LR"), + ("LS", "LS"), + ("LT", "LT"), + ("LU", "LU"), + ("LV", "LV"), + ("LY", "LY"), + ("MA", "MA"), + ("MC", "MC"), + ("MD", "MD"), + ("ME", "ME"), + ("MG", "MG"), + ("MH", "MH"), + ("MK", "MK"), + ("ML", "ML"), + ("MM", "MM"), + ("MN", "MN"), + ("MO", "MO"), + ("MP", "MP"), + ("MQ", "MQ"), + ("MR", "MR"), + ("MS", "MS"), + ("MT", "MT"), + ("MU", "MU"), + ("MV", "MV"), + ("MW", "MW"), + ("MX", "MX"), + ("MY", "MY"), + ("MZ", "MZ"), + ("NA", "NA"), + ("NC", "NC"), + ("NE", "NE"), + ("NG", "NG"), + ("NI", "NI"), + ("NL", "NL"), + ("NO", "NO"), + ("NP", "NP"), + ("NR", "NR"), + ("NU", "NU"), + ("NZ", "NZ"), + ("OM", "OM"), + ("PA", "PA"), + ("PE", "PE"), + ("PF", "PF"), + ("PG", "PG"), + ("PH", "PH"), + ("PK", "PK"), + ("PL", "PL"), + ("PR", "PR"), + ("PT", "PT"), + ("PW", "PW"), + ("PY", "PY"), + ("QA", "QA"), + ("RE", "RE"), + ("RO", "RO"), + ("RS", "RS"), + ("RU", "RU"), + ("RW", "RW"), + ("SA", "SA"), + ("SB", "SB"), + ("SC", "SC"), + ("SD", "SD"), + ("SE", "SE"), + ("SG", "SG"), + ("SH", "SH"), + ("SI", "SI"), + ("SK", "SK"), + ("SL", "SL"), + ("SM", "SM"), + ("SN", "SN"), + ("SO", "SO"), + ("SR", "SR"), + ("SS", "SS"), + ("ST", "ST"), + ("SV", "SV"), + ("SY", "SY"), + ("SZ", "SZ"), + ("TC", "TC"), + ("TD", "TD"), + ("TG", "TG"), + ("TH", "TH"), + ("TJ", "TJ"), + ("TL", "TL"), + ("TN", "TN"), + ("TO", "TO"), + ("TR", "TR"), + ("TT", "TT"), + ("TV", "TV"), + ("TW", "TW"), + ("TZ", "TZ"), + ("UA", "UA"), + ("UG", "UG"), + ("US", "US"), + ("UY", "UY"), + ("UZ", "UZ"), + ("VA", "VA"), + ("VC", "VC"), + ("VE", "VE"), + ("VG", "VG"), + ("VI", "VI"), + ("VN", "VN"), + ("VU", "VU"), + ("WS", "WS"), + ("XB", "XB"), + ("XC", "XC"), + ("XE", "XE"), + ("XM", "XM"), + ("XN", "XN"), + ("XS", "XS"), + ("XY", "XY"), + ("YE", "YE"), + ("YT", "YT"), + ("ZA", "ZA"), + ("ZM", "ZM"), + ("ZW", "ZW"), + ("EH", "EH"), + ("IM", "IM"), + ("BL", "BL"), + ("MF", "MF"), + ("SX", "SX"), + ], + max_length=3, + null=True, + ), + ), + migrations.AlterField( + model_name="fedexsettings", + name="account_country_code", + field=models.CharField( + blank=True, + choices=[ + ("AC", "AC"), + ("AD", "AD"), + ("AE", "AE"), + ("AF", "AF"), + ("AG", "AG"), + ("AI", "AI"), + ("AL", "AL"), + ("AM", "AM"), + ("AN", "AN"), + ("AO", "AO"), + ("AR", "AR"), + ("AS", "AS"), + ("AT", "AT"), + ("AU", "AU"), + ("AW", "AW"), + ("AZ", "AZ"), + ("BA", "BA"), + ("BB", "BB"), + ("BD", "BD"), + ("BE", "BE"), + ("BF", "BF"), + ("BG", "BG"), + ("BH", "BH"), + ("BI", "BI"), + ("BJ", "BJ"), + ("BM", "BM"), + ("BN", "BN"), + ("BO", "BO"), + ("BR", "BR"), + ("BS", "BS"), + ("BT", "BT"), + ("BW", "BW"), + ("BY", "BY"), + ("BZ", "BZ"), + ("CA", "CA"), + ("CD", "CD"), + ("CF", "CF"), + ("CG", "CG"), + ("CH", "CH"), + ("CI", "CI"), + ("CK", "CK"), + ("CL", "CL"), + ("CM", "CM"), + ("CN", "CN"), + ("CO", "CO"), + ("CR", "CR"), + ("CU", "CU"), + ("CV", "CV"), + ("CY", "CY"), + ("CZ", "CZ"), + ("DE", "DE"), + ("DJ", "DJ"), + ("DK", "DK"), + ("DM", "DM"), + ("DO", "DO"), + ("DZ", "DZ"), + ("EC", "EC"), + ("EE", "EE"), + ("EG", "EG"), + ("ER", "ER"), + ("ES", "ES"), + ("ET", "ET"), + ("FI", "FI"), + ("FJ", "FJ"), + ("FK", "FK"), + ("FM", "FM"), + ("FO", "FO"), + ("FR", "FR"), + ("GA", "GA"), + ("GB", "GB"), + ("GD", "GD"), + ("GE", "GE"), + ("GF", "GF"), + ("GG", "GG"), + ("GH", "GH"), + ("GI", "GI"), + ("GL", "GL"), + ("GM", "GM"), + ("GN", "GN"), + ("GP", "GP"), + ("GQ", "GQ"), + ("GR", "GR"), + ("GT", "GT"), + ("GU", "GU"), + ("GW", "GW"), + ("GY", "GY"), + ("HK", "HK"), + ("HN", "HN"), + ("HR", "HR"), + ("HT", "HT"), + ("HU", "HU"), + ("IC", "IC"), + ("ID", "ID"), + ("IE", "IE"), + ("IL", "IL"), + ("IN", "IN"), + ("IQ", "IQ"), + ("IR", "IR"), + ("IS", "IS"), + ("IT", "IT"), + ("JE", "JE"), + ("JM", "JM"), + ("JO", "JO"), + ("JP", "JP"), + ("KE", "KE"), + ("KG", "KG"), + ("KH", "KH"), + ("KI", "KI"), + ("KM", "KM"), + ("KN", "KN"), + ("KP", "KP"), + ("KR", "KR"), + ("KV", "KV"), + ("KW", "KW"), + ("KY", "KY"), + ("KZ", "KZ"), + ("LA", "LA"), + ("LB", "LB"), + ("LC", "LC"), + ("LI", "LI"), + ("LK", "LK"), + ("LR", "LR"), + ("LS", "LS"), + ("LT", "LT"), + ("LU", "LU"), + ("LV", "LV"), + ("LY", "LY"), + ("MA", "MA"), + ("MC", "MC"), + ("MD", "MD"), + ("ME", "ME"), + ("MG", "MG"), + ("MH", "MH"), + ("MK", "MK"), + ("ML", "ML"), + ("MM", "MM"), + ("MN", "MN"), + ("MO", "MO"), + ("MP", "MP"), + ("MQ", "MQ"), + ("MR", "MR"), + ("MS", "MS"), + ("MT", "MT"), + ("MU", "MU"), + ("MV", "MV"), + ("MW", "MW"), + ("MX", "MX"), + ("MY", "MY"), + ("MZ", "MZ"), + ("NA", "NA"), + ("NC", "NC"), + ("NE", "NE"), + ("NG", "NG"), + ("NI", "NI"), + ("NL", "NL"), + ("NO", "NO"), + ("NP", "NP"), + ("NR", "NR"), + ("NU", "NU"), + ("NZ", "NZ"), + ("OM", "OM"), + ("PA", "PA"), + ("PE", "PE"), + ("PF", "PF"), + ("PG", "PG"), + ("PH", "PH"), + ("PK", "PK"), + ("PL", "PL"), + ("PR", "PR"), + ("PT", "PT"), + ("PW", "PW"), + ("PY", "PY"), + ("QA", "QA"), + ("RE", "RE"), + ("RO", "RO"), + ("RS", "RS"), + ("RU", "RU"), + ("RW", "RW"), + ("SA", "SA"), + ("SB", "SB"), + ("SC", "SC"), + ("SD", "SD"), + ("SE", "SE"), + ("SG", "SG"), + ("SH", "SH"), + ("SI", "SI"), + ("SK", "SK"), + ("SL", "SL"), + ("SM", "SM"), + ("SN", "SN"), + ("SO", "SO"), + ("SR", "SR"), + ("SS", "SS"), + ("ST", "ST"), + ("SV", "SV"), + ("SY", "SY"), + ("SZ", "SZ"), + ("TC", "TC"), + ("TD", "TD"), + ("TG", "TG"), + ("TH", "TH"), + ("TJ", "TJ"), + ("TL", "TL"), + ("TN", "TN"), + ("TO", "TO"), + ("TR", "TR"), + ("TT", "TT"), + ("TV", "TV"), + ("TW", "TW"), + ("TZ", "TZ"), + ("UA", "UA"), + ("UG", "UG"), + ("US", "US"), + ("UY", "UY"), + ("UZ", "UZ"), + ("VA", "VA"), + ("VC", "VC"), + ("VE", "VE"), + ("VG", "VG"), + ("VI", "VI"), + ("VN", "VN"), + ("VU", "VU"), + ("WS", "WS"), + ("XB", "XB"), + ("XC", "XC"), + ("XE", "XE"), + ("XM", "XM"), + ("XN", "XN"), + ("XS", "XS"), + ("XY", "XY"), + ("YE", "YE"), + ("YT", "YT"), + ("ZA", "ZA"), + ("ZM", "ZM"), + ("ZW", "ZW"), + ("EH", "EH"), + ("IM", "IM"), + ("BL", "BL"), + ("MF", "MF"), + ("SX", "SX"), + ], + max_length=3, + null=True, + ), + ), + migrations.AlterField( + model_name="fedexwssettings", + name="account_country_code", + field=models.CharField( + blank=True, + choices=[ + ("AC", "AC"), + ("AD", "AD"), + ("AE", "AE"), + ("AF", "AF"), + ("AG", "AG"), + ("AI", "AI"), + ("AL", "AL"), + ("AM", "AM"), + ("AN", "AN"), + ("AO", "AO"), + ("AR", "AR"), + ("AS", "AS"), + ("AT", "AT"), + ("AU", "AU"), + ("AW", "AW"), + ("AZ", "AZ"), + ("BA", "BA"), + ("BB", "BB"), + ("BD", "BD"), + ("BE", "BE"), + ("BF", "BF"), + ("BG", "BG"), + ("BH", "BH"), + ("BI", "BI"), + ("BJ", "BJ"), + ("BM", "BM"), + ("BN", "BN"), + ("BO", "BO"), + ("BR", "BR"), + ("BS", "BS"), + ("BT", "BT"), + ("BW", "BW"), + ("BY", "BY"), + ("BZ", "BZ"), + ("CA", "CA"), + ("CD", "CD"), + ("CF", "CF"), + ("CG", "CG"), + ("CH", "CH"), + ("CI", "CI"), + ("CK", "CK"), + ("CL", "CL"), + ("CM", "CM"), + ("CN", "CN"), + ("CO", "CO"), + ("CR", "CR"), + ("CU", "CU"), + ("CV", "CV"), + ("CY", "CY"), + ("CZ", "CZ"), + ("DE", "DE"), + ("DJ", "DJ"), + ("DK", "DK"), + ("DM", "DM"), + ("DO", "DO"), + ("DZ", "DZ"), + ("EC", "EC"), + ("EE", "EE"), + ("EG", "EG"), + ("ER", "ER"), + ("ES", "ES"), + ("ET", "ET"), + ("FI", "FI"), + ("FJ", "FJ"), + ("FK", "FK"), + ("FM", "FM"), + ("FO", "FO"), + ("FR", "FR"), + ("GA", "GA"), + ("GB", "GB"), + ("GD", "GD"), + ("GE", "GE"), + ("GF", "GF"), + ("GG", "GG"), + ("GH", "GH"), + ("GI", "GI"), + ("GL", "GL"), + ("GM", "GM"), + ("GN", "GN"), + ("GP", "GP"), + ("GQ", "GQ"), + ("GR", "GR"), + ("GT", "GT"), + ("GU", "GU"), + ("GW", "GW"), + ("GY", "GY"), + ("HK", "HK"), + ("HN", "HN"), + ("HR", "HR"), + ("HT", "HT"), + ("HU", "HU"), + ("IC", "IC"), + ("ID", "ID"), + ("IE", "IE"), + ("IL", "IL"), + ("IN", "IN"), + ("IQ", "IQ"), + ("IR", "IR"), + ("IS", "IS"), + ("IT", "IT"), + ("JE", "JE"), + ("JM", "JM"), + ("JO", "JO"), + ("JP", "JP"), + ("KE", "KE"), + ("KG", "KG"), + ("KH", "KH"), + ("KI", "KI"), + ("KM", "KM"), + ("KN", "KN"), + ("KP", "KP"), + ("KR", "KR"), + ("KV", "KV"), + ("KW", "KW"), + ("KY", "KY"), + ("KZ", "KZ"), + ("LA", "LA"), + ("LB", "LB"), + ("LC", "LC"), + ("LI", "LI"), + ("LK", "LK"), + ("LR", "LR"), + ("LS", "LS"), + ("LT", "LT"), + ("LU", "LU"), + ("LV", "LV"), + ("LY", "LY"), + ("MA", "MA"), + ("MC", "MC"), + ("MD", "MD"), + ("ME", "ME"), + ("MG", "MG"), + ("MH", "MH"), + ("MK", "MK"), + ("ML", "ML"), + ("MM", "MM"), + ("MN", "MN"), + ("MO", "MO"), + ("MP", "MP"), + ("MQ", "MQ"), + ("MR", "MR"), + ("MS", "MS"), + ("MT", "MT"), + ("MU", "MU"), + ("MV", "MV"), + ("MW", "MW"), + ("MX", "MX"), + ("MY", "MY"), + ("MZ", "MZ"), + ("NA", "NA"), + ("NC", "NC"), + ("NE", "NE"), + ("NG", "NG"), + ("NI", "NI"), + ("NL", "NL"), + ("NO", "NO"), + ("NP", "NP"), + ("NR", "NR"), + ("NU", "NU"), + ("NZ", "NZ"), + ("OM", "OM"), + ("PA", "PA"), + ("PE", "PE"), + ("PF", "PF"), + ("PG", "PG"), + ("PH", "PH"), + ("PK", "PK"), + ("PL", "PL"), + ("PR", "PR"), + ("PT", "PT"), + ("PW", "PW"), + ("PY", "PY"), + ("QA", "QA"), + ("RE", "RE"), + ("RO", "RO"), + ("RS", "RS"), + ("RU", "RU"), + ("RW", "RW"), + ("SA", "SA"), + ("SB", "SB"), + ("SC", "SC"), + ("SD", "SD"), + ("SE", "SE"), + ("SG", "SG"), + ("SH", "SH"), + ("SI", "SI"), + ("SK", "SK"), + ("SL", "SL"), + ("SM", "SM"), + ("SN", "SN"), + ("SO", "SO"), + ("SR", "SR"), + ("SS", "SS"), + ("ST", "ST"), + ("SV", "SV"), + ("SY", "SY"), + ("SZ", "SZ"), + ("TC", "TC"), + ("TD", "TD"), + ("TG", "TG"), + ("TH", "TH"), + ("TJ", "TJ"), + ("TL", "TL"), + ("TN", "TN"), + ("TO", "TO"), + ("TR", "TR"), + ("TT", "TT"), + ("TV", "TV"), + ("TW", "TW"), + ("TZ", "TZ"), + ("UA", "UA"), + ("UG", "UG"), + ("US", "US"), + ("UY", "UY"), + ("UZ", "UZ"), + ("VA", "VA"), + ("VC", "VC"), + ("VE", "VE"), + ("VG", "VG"), + ("VI", "VI"), + ("VN", "VN"), + ("VU", "VU"), + ("WS", "WS"), + ("XB", "XB"), + ("XC", "XC"), + ("XE", "XE"), + ("XM", "XM"), + ("XN", "XN"), + ("XS", "XS"), + ("XY", "XY"), + ("YE", "YE"), + ("YT", "YT"), + ("ZA", "ZA"), + ("ZM", "ZM"), + ("ZW", "ZW"), + ("EH", "EH"), + ("IM", "IM"), + ("BL", "BL"), + ("MF", "MF"), + ("SX", "SX"), + ], + max_length=3, + null=True, + ), + ), + migrations.AlterField( + model_name="genericsettings", + name="account_country_code", + field=models.CharField( + blank=True, + choices=[ + ("AC", "AC"), + ("AD", "AD"), + ("AE", "AE"), + ("AF", "AF"), + ("AG", "AG"), + ("AI", "AI"), + ("AL", "AL"), + ("AM", "AM"), + ("AN", "AN"), + ("AO", "AO"), + ("AR", "AR"), + ("AS", "AS"), + ("AT", "AT"), + ("AU", "AU"), + ("AW", "AW"), + ("AZ", "AZ"), + ("BA", "BA"), + ("BB", "BB"), + ("BD", "BD"), + ("BE", "BE"), + ("BF", "BF"), + ("BG", "BG"), + ("BH", "BH"), + ("BI", "BI"), + ("BJ", "BJ"), + ("BM", "BM"), + ("BN", "BN"), + ("BO", "BO"), + ("BR", "BR"), + ("BS", "BS"), + ("BT", "BT"), + ("BW", "BW"), + ("BY", "BY"), + ("BZ", "BZ"), + ("CA", "CA"), + ("CD", "CD"), + ("CF", "CF"), + ("CG", "CG"), + ("CH", "CH"), + ("CI", "CI"), + ("CK", "CK"), + ("CL", "CL"), + ("CM", "CM"), + ("CN", "CN"), + ("CO", "CO"), + ("CR", "CR"), + ("CU", "CU"), + ("CV", "CV"), + ("CY", "CY"), + ("CZ", "CZ"), + ("DE", "DE"), + ("DJ", "DJ"), + ("DK", "DK"), + ("DM", "DM"), + ("DO", "DO"), + ("DZ", "DZ"), + ("EC", "EC"), + ("EE", "EE"), + ("EG", "EG"), + ("ER", "ER"), + ("ES", "ES"), + ("ET", "ET"), + ("FI", "FI"), + ("FJ", "FJ"), + ("FK", "FK"), + ("FM", "FM"), + ("FO", "FO"), + ("FR", "FR"), + ("GA", "GA"), + ("GB", "GB"), + ("GD", "GD"), + ("GE", "GE"), + ("GF", "GF"), + ("GG", "GG"), + ("GH", "GH"), + ("GI", "GI"), + ("GL", "GL"), + ("GM", "GM"), + ("GN", "GN"), + ("GP", "GP"), + ("GQ", "GQ"), + ("GR", "GR"), + ("GT", "GT"), + ("GU", "GU"), + ("GW", "GW"), + ("GY", "GY"), + ("HK", "HK"), + ("HN", "HN"), + ("HR", "HR"), + ("HT", "HT"), + ("HU", "HU"), + ("IC", "IC"), + ("ID", "ID"), + ("IE", "IE"), + ("IL", "IL"), + ("IN", "IN"), + ("IQ", "IQ"), + ("IR", "IR"), + ("IS", "IS"), + ("IT", "IT"), + ("JE", "JE"), + ("JM", "JM"), + ("JO", "JO"), + ("JP", "JP"), + ("KE", "KE"), + ("KG", "KG"), + ("KH", "KH"), + ("KI", "KI"), + ("KM", "KM"), + ("KN", "KN"), + ("KP", "KP"), + ("KR", "KR"), + ("KV", "KV"), + ("KW", "KW"), + ("KY", "KY"), + ("KZ", "KZ"), + ("LA", "LA"), + ("LB", "LB"), + ("LC", "LC"), + ("LI", "LI"), + ("LK", "LK"), + ("LR", "LR"), + ("LS", "LS"), + ("LT", "LT"), + ("LU", "LU"), + ("LV", "LV"), + ("LY", "LY"), + ("MA", "MA"), + ("MC", "MC"), + ("MD", "MD"), + ("ME", "ME"), + ("MG", "MG"), + ("MH", "MH"), + ("MK", "MK"), + ("ML", "ML"), + ("MM", "MM"), + ("MN", "MN"), + ("MO", "MO"), + ("MP", "MP"), + ("MQ", "MQ"), + ("MR", "MR"), + ("MS", "MS"), + ("MT", "MT"), + ("MU", "MU"), + ("MV", "MV"), + ("MW", "MW"), + ("MX", "MX"), + ("MY", "MY"), + ("MZ", "MZ"), + ("NA", "NA"), + ("NC", "NC"), + ("NE", "NE"), + ("NG", "NG"), + ("NI", "NI"), + ("NL", "NL"), + ("NO", "NO"), + ("NP", "NP"), + ("NR", "NR"), + ("NU", "NU"), + ("NZ", "NZ"), + ("OM", "OM"), + ("PA", "PA"), + ("PE", "PE"), + ("PF", "PF"), + ("PG", "PG"), + ("PH", "PH"), + ("PK", "PK"), + ("PL", "PL"), + ("PR", "PR"), + ("PT", "PT"), + ("PW", "PW"), + ("PY", "PY"), + ("QA", "QA"), + ("RE", "RE"), + ("RO", "RO"), + ("RS", "RS"), + ("RU", "RU"), + ("RW", "RW"), + ("SA", "SA"), + ("SB", "SB"), + ("SC", "SC"), + ("SD", "SD"), + ("SE", "SE"), + ("SG", "SG"), + ("SH", "SH"), + ("SI", "SI"), + ("SK", "SK"), + ("SL", "SL"), + ("SM", "SM"), + ("SN", "SN"), + ("SO", "SO"), + ("SR", "SR"), + ("SS", "SS"), + ("ST", "ST"), + ("SV", "SV"), + ("SY", "SY"), + ("SZ", "SZ"), + ("TC", "TC"), + ("TD", "TD"), + ("TG", "TG"), + ("TH", "TH"), + ("TJ", "TJ"), + ("TL", "TL"), + ("TN", "TN"), + ("TO", "TO"), + ("TR", "TR"), + ("TT", "TT"), + ("TV", "TV"), + ("TW", "TW"), + ("TZ", "TZ"), + ("UA", "UA"), + ("UG", "UG"), + ("US", "US"), + ("UY", "UY"), + ("UZ", "UZ"), + ("VA", "VA"), + ("VC", "VC"), + ("VE", "VE"), + ("VG", "VG"), + ("VI", "VI"), + ("VN", "VN"), + ("VU", "VU"), + ("WS", "WS"), + ("XB", "XB"), + ("XC", "XC"), + ("XE", "XE"), + ("XM", "XM"), + ("XN", "XN"), + ("XS", "XS"), + ("XY", "XY"), + ("YE", "YE"), + ("YT", "YT"), + ("ZA", "ZA"), + ("ZM", "ZM"), + ("ZW", "ZW"), + ("EH", "EH"), + ("IM", "IM"), + ("BL", "BL"), + ("MF", "MF"), + ("SX", "SX"), + ], + max_length=3, + null=True, + ), + ), + migrations.AlterField( + model_name="locate2usettings", + name="account_country_code", + field=models.CharField( + blank=True, + choices=[ + ("AC", "AC"), + ("AD", "AD"), + ("AE", "AE"), + ("AF", "AF"), + ("AG", "AG"), + ("AI", "AI"), + ("AL", "AL"), + ("AM", "AM"), + ("AN", "AN"), + ("AO", "AO"), + ("AR", "AR"), + ("AS", "AS"), + ("AT", "AT"), + ("AU", "AU"), + ("AW", "AW"), + ("AZ", "AZ"), + ("BA", "BA"), + ("BB", "BB"), + ("BD", "BD"), + ("BE", "BE"), + ("BF", "BF"), + ("BG", "BG"), + ("BH", "BH"), + ("BI", "BI"), + ("BJ", "BJ"), + ("BM", "BM"), + ("BN", "BN"), + ("BO", "BO"), + ("BR", "BR"), + ("BS", "BS"), + ("BT", "BT"), + ("BW", "BW"), + ("BY", "BY"), + ("BZ", "BZ"), + ("CA", "CA"), + ("CD", "CD"), + ("CF", "CF"), + ("CG", "CG"), + ("CH", "CH"), + ("CI", "CI"), + ("CK", "CK"), + ("CL", "CL"), + ("CM", "CM"), + ("CN", "CN"), + ("CO", "CO"), + ("CR", "CR"), + ("CU", "CU"), + ("CV", "CV"), + ("CY", "CY"), + ("CZ", "CZ"), + ("DE", "DE"), + ("DJ", "DJ"), + ("DK", "DK"), + ("DM", "DM"), + ("DO", "DO"), + ("DZ", "DZ"), + ("EC", "EC"), + ("EE", "EE"), + ("EG", "EG"), + ("ER", "ER"), + ("ES", "ES"), + ("ET", "ET"), + ("FI", "FI"), + ("FJ", "FJ"), + ("FK", "FK"), + ("FM", "FM"), + ("FO", "FO"), + ("FR", "FR"), + ("GA", "GA"), + ("GB", "GB"), + ("GD", "GD"), + ("GE", "GE"), + ("GF", "GF"), + ("GG", "GG"), + ("GH", "GH"), + ("GI", "GI"), + ("GL", "GL"), + ("GM", "GM"), + ("GN", "GN"), + ("GP", "GP"), + ("GQ", "GQ"), + ("GR", "GR"), + ("GT", "GT"), + ("GU", "GU"), + ("GW", "GW"), + ("GY", "GY"), + ("HK", "HK"), + ("HN", "HN"), + ("HR", "HR"), + ("HT", "HT"), + ("HU", "HU"), + ("IC", "IC"), + ("ID", "ID"), + ("IE", "IE"), + ("IL", "IL"), + ("IN", "IN"), + ("IQ", "IQ"), + ("IR", "IR"), + ("IS", "IS"), + ("IT", "IT"), + ("JE", "JE"), + ("JM", "JM"), + ("JO", "JO"), + ("JP", "JP"), + ("KE", "KE"), + ("KG", "KG"), + ("KH", "KH"), + ("KI", "KI"), + ("KM", "KM"), + ("KN", "KN"), + ("KP", "KP"), + ("KR", "KR"), + ("KV", "KV"), + ("KW", "KW"), + ("KY", "KY"), + ("KZ", "KZ"), + ("LA", "LA"), + ("LB", "LB"), + ("LC", "LC"), + ("LI", "LI"), + ("LK", "LK"), + ("LR", "LR"), + ("LS", "LS"), + ("LT", "LT"), + ("LU", "LU"), + ("LV", "LV"), + ("LY", "LY"), + ("MA", "MA"), + ("MC", "MC"), + ("MD", "MD"), + ("ME", "ME"), + ("MG", "MG"), + ("MH", "MH"), + ("MK", "MK"), + ("ML", "ML"), + ("MM", "MM"), + ("MN", "MN"), + ("MO", "MO"), + ("MP", "MP"), + ("MQ", "MQ"), + ("MR", "MR"), + ("MS", "MS"), + ("MT", "MT"), + ("MU", "MU"), + ("MV", "MV"), + ("MW", "MW"), + ("MX", "MX"), + ("MY", "MY"), + ("MZ", "MZ"), + ("NA", "NA"), + ("NC", "NC"), + ("NE", "NE"), + ("NG", "NG"), + ("NI", "NI"), + ("NL", "NL"), + ("NO", "NO"), + ("NP", "NP"), + ("NR", "NR"), + ("NU", "NU"), + ("NZ", "NZ"), + ("OM", "OM"), + ("PA", "PA"), + ("PE", "PE"), + ("PF", "PF"), + ("PG", "PG"), + ("PH", "PH"), + ("PK", "PK"), + ("PL", "PL"), + ("PR", "PR"), + ("PT", "PT"), + ("PW", "PW"), + ("PY", "PY"), + ("QA", "QA"), + ("RE", "RE"), + ("RO", "RO"), + ("RS", "RS"), + ("RU", "RU"), + ("RW", "RW"), + ("SA", "SA"), + ("SB", "SB"), + ("SC", "SC"), + ("SD", "SD"), + ("SE", "SE"), + ("SG", "SG"), + ("SH", "SH"), + ("SI", "SI"), + ("SK", "SK"), + ("SL", "SL"), + ("SM", "SM"), + ("SN", "SN"), + ("SO", "SO"), + ("SR", "SR"), + ("SS", "SS"), + ("ST", "ST"), + ("SV", "SV"), + ("SY", "SY"), + ("SZ", "SZ"), + ("TC", "TC"), + ("TD", "TD"), + ("TG", "TG"), + ("TH", "TH"), + ("TJ", "TJ"), + ("TL", "TL"), + ("TN", "TN"), + ("TO", "TO"), + ("TR", "TR"), + ("TT", "TT"), + ("TV", "TV"), + ("TW", "TW"), + ("TZ", "TZ"), + ("UA", "UA"), + ("UG", "UG"), + ("US", "US"), + ("UY", "UY"), + ("UZ", "UZ"), + ("VA", "VA"), + ("VC", "VC"), + ("VE", "VE"), + ("VG", "VG"), + ("VI", "VI"), + ("VN", "VN"), + ("VU", "VU"), + ("WS", "WS"), + ("XB", "XB"), + ("XC", "XC"), + ("XE", "XE"), + ("XM", "XM"), + ("XN", "XN"), + ("XS", "XS"), + ("XY", "XY"), + ("YE", "YE"), + ("YT", "YT"), + ("ZA", "ZA"), + ("ZM", "ZM"), + ("ZW", "ZW"), + ("EH", "EH"), + ("IM", "IM"), + ("BL", "BL"), + ("MF", "MF"), + ("SX", "SX"), + ], + max_length=3, + null=True, + ), + ), + migrations.AlterField( + model_name="sendlesettings", + name="account_country_code", + field=models.CharField( + blank=True, + choices=[ + ("AC", "AC"), + ("AD", "AD"), + ("AE", "AE"), + ("AF", "AF"), + ("AG", "AG"), + ("AI", "AI"), + ("AL", "AL"), + ("AM", "AM"), + ("AN", "AN"), + ("AO", "AO"), + ("AR", "AR"), + ("AS", "AS"), + ("AT", "AT"), + ("AU", "AU"), + ("AW", "AW"), + ("AZ", "AZ"), + ("BA", "BA"), + ("BB", "BB"), + ("BD", "BD"), + ("BE", "BE"), + ("BF", "BF"), + ("BG", "BG"), + ("BH", "BH"), + ("BI", "BI"), + ("BJ", "BJ"), + ("BM", "BM"), + ("BN", "BN"), + ("BO", "BO"), + ("BR", "BR"), + ("BS", "BS"), + ("BT", "BT"), + ("BW", "BW"), + ("BY", "BY"), + ("BZ", "BZ"), + ("CA", "CA"), + ("CD", "CD"), + ("CF", "CF"), + ("CG", "CG"), + ("CH", "CH"), + ("CI", "CI"), + ("CK", "CK"), + ("CL", "CL"), + ("CM", "CM"), + ("CN", "CN"), + ("CO", "CO"), + ("CR", "CR"), + ("CU", "CU"), + ("CV", "CV"), + ("CY", "CY"), + ("CZ", "CZ"), + ("DE", "DE"), + ("DJ", "DJ"), + ("DK", "DK"), + ("DM", "DM"), + ("DO", "DO"), + ("DZ", "DZ"), + ("EC", "EC"), + ("EE", "EE"), + ("EG", "EG"), + ("ER", "ER"), + ("ES", "ES"), + ("ET", "ET"), + ("FI", "FI"), + ("FJ", "FJ"), + ("FK", "FK"), + ("FM", "FM"), + ("FO", "FO"), + ("FR", "FR"), + ("GA", "GA"), + ("GB", "GB"), + ("GD", "GD"), + ("GE", "GE"), + ("GF", "GF"), + ("GG", "GG"), + ("GH", "GH"), + ("GI", "GI"), + ("GL", "GL"), + ("GM", "GM"), + ("GN", "GN"), + ("GP", "GP"), + ("GQ", "GQ"), + ("GR", "GR"), + ("GT", "GT"), + ("GU", "GU"), + ("GW", "GW"), + ("GY", "GY"), + ("HK", "HK"), + ("HN", "HN"), + ("HR", "HR"), + ("HT", "HT"), + ("HU", "HU"), + ("IC", "IC"), + ("ID", "ID"), + ("IE", "IE"), + ("IL", "IL"), + ("IN", "IN"), + ("IQ", "IQ"), + ("IR", "IR"), + ("IS", "IS"), + ("IT", "IT"), + ("JE", "JE"), + ("JM", "JM"), + ("JO", "JO"), + ("JP", "JP"), + ("KE", "KE"), + ("KG", "KG"), + ("KH", "KH"), + ("KI", "KI"), + ("KM", "KM"), + ("KN", "KN"), + ("KP", "KP"), + ("KR", "KR"), + ("KV", "KV"), + ("KW", "KW"), + ("KY", "KY"), + ("KZ", "KZ"), + ("LA", "LA"), + ("LB", "LB"), + ("LC", "LC"), + ("LI", "LI"), + ("LK", "LK"), + ("LR", "LR"), + ("LS", "LS"), + ("LT", "LT"), + ("LU", "LU"), + ("LV", "LV"), + ("LY", "LY"), + ("MA", "MA"), + ("MC", "MC"), + ("MD", "MD"), + ("ME", "ME"), + ("MG", "MG"), + ("MH", "MH"), + ("MK", "MK"), + ("ML", "ML"), + ("MM", "MM"), + ("MN", "MN"), + ("MO", "MO"), + ("MP", "MP"), + ("MQ", "MQ"), + ("MR", "MR"), + ("MS", "MS"), + ("MT", "MT"), + ("MU", "MU"), + ("MV", "MV"), + ("MW", "MW"), + ("MX", "MX"), + ("MY", "MY"), + ("MZ", "MZ"), + ("NA", "NA"), + ("NC", "NC"), + ("NE", "NE"), + ("NG", "NG"), + ("NI", "NI"), + ("NL", "NL"), + ("NO", "NO"), + ("NP", "NP"), + ("NR", "NR"), + ("NU", "NU"), + ("NZ", "NZ"), + ("OM", "OM"), + ("PA", "PA"), + ("PE", "PE"), + ("PF", "PF"), + ("PG", "PG"), + ("PH", "PH"), + ("PK", "PK"), + ("PL", "PL"), + ("PR", "PR"), + ("PT", "PT"), + ("PW", "PW"), + ("PY", "PY"), + ("QA", "QA"), + ("RE", "RE"), + ("RO", "RO"), + ("RS", "RS"), + ("RU", "RU"), + ("RW", "RW"), + ("SA", "SA"), + ("SB", "SB"), + ("SC", "SC"), + ("SD", "SD"), + ("SE", "SE"), + ("SG", "SG"), + ("SH", "SH"), + ("SI", "SI"), + ("SK", "SK"), + ("SL", "SL"), + ("SM", "SM"), + ("SN", "SN"), + ("SO", "SO"), + ("SR", "SR"), + ("SS", "SS"), + ("ST", "ST"), + ("SV", "SV"), + ("SY", "SY"), + ("SZ", "SZ"), + ("TC", "TC"), + ("TD", "TD"), + ("TG", "TG"), + ("TH", "TH"), + ("TJ", "TJ"), + ("TL", "TL"), + ("TN", "TN"), + ("TO", "TO"), + ("TR", "TR"), + ("TT", "TT"), + ("TV", "TV"), + ("TW", "TW"), + ("TZ", "TZ"), + ("UA", "UA"), + ("UG", "UG"), + ("US", "US"), + ("UY", "UY"), + ("UZ", "UZ"), + ("VA", "VA"), + ("VC", "VC"), + ("VE", "VE"), + ("VG", "VG"), + ("VI", "VI"), + ("VN", "VN"), + ("VU", "VU"), + ("WS", "WS"), + ("XB", "XB"), + ("XC", "XC"), + ("XE", "XE"), + ("XM", "XM"), + ("XN", "XN"), + ("XS", "XS"), + ("XY", "XY"), + ("YE", "YE"), + ("YT", "YT"), + ("ZA", "ZA"), + ("ZM", "ZM"), + ("ZW", "ZW"), + ("EH", "EH"), + ("IM", "IM"), + ("BL", "BL"), + ("MF", "MF"), + ("SX", "SX"), + ], + max_length=3, + null=True, + ), + ), + migrations.AlterField( + model_name="tntsettings", + name="account_country_code", + field=models.CharField( + blank=True, + choices=[ + ("AC", "AC"), + ("AD", "AD"), + ("AE", "AE"), + ("AF", "AF"), + ("AG", "AG"), + ("AI", "AI"), + ("AL", "AL"), + ("AM", "AM"), + ("AN", "AN"), + ("AO", "AO"), + ("AR", "AR"), + ("AS", "AS"), + ("AT", "AT"), + ("AU", "AU"), + ("AW", "AW"), + ("AZ", "AZ"), + ("BA", "BA"), + ("BB", "BB"), + ("BD", "BD"), + ("BE", "BE"), + ("BF", "BF"), + ("BG", "BG"), + ("BH", "BH"), + ("BI", "BI"), + ("BJ", "BJ"), + ("BM", "BM"), + ("BN", "BN"), + ("BO", "BO"), + ("BR", "BR"), + ("BS", "BS"), + ("BT", "BT"), + ("BW", "BW"), + ("BY", "BY"), + ("BZ", "BZ"), + ("CA", "CA"), + ("CD", "CD"), + ("CF", "CF"), + ("CG", "CG"), + ("CH", "CH"), + ("CI", "CI"), + ("CK", "CK"), + ("CL", "CL"), + ("CM", "CM"), + ("CN", "CN"), + ("CO", "CO"), + ("CR", "CR"), + ("CU", "CU"), + ("CV", "CV"), + ("CY", "CY"), + ("CZ", "CZ"), + ("DE", "DE"), + ("DJ", "DJ"), + ("DK", "DK"), + ("DM", "DM"), + ("DO", "DO"), + ("DZ", "DZ"), + ("EC", "EC"), + ("EE", "EE"), + ("EG", "EG"), + ("ER", "ER"), + ("ES", "ES"), + ("ET", "ET"), + ("FI", "FI"), + ("FJ", "FJ"), + ("FK", "FK"), + ("FM", "FM"), + ("FO", "FO"), + ("FR", "FR"), + ("GA", "GA"), + ("GB", "GB"), + ("GD", "GD"), + ("GE", "GE"), + ("GF", "GF"), + ("GG", "GG"), + ("GH", "GH"), + ("GI", "GI"), + ("GL", "GL"), + ("GM", "GM"), + ("GN", "GN"), + ("GP", "GP"), + ("GQ", "GQ"), + ("GR", "GR"), + ("GT", "GT"), + ("GU", "GU"), + ("GW", "GW"), + ("GY", "GY"), + ("HK", "HK"), + ("HN", "HN"), + ("HR", "HR"), + ("HT", "HT"), + ("HU", "HU"), + ("IC", "IC"), + ("ID", "ID"), + ("IE", "IE"), + ("IL", "IL"), + ("IN", "IN"), + ("IQ", "IQ"), + ("IR", "IR"), + ("IS", "IS"), + ("IT", "IT"), + ("JE", "JE"), + ("JM", "JM"), + ("JO", "JO"), + ("JP", "JP"), + ("KE", "KE"), + ("KG", "KG"), + ("KH", "KH"), + ("KI", "KI"), + ("KM", "KM"), + ("KN", "KN"), + ("KP", "KP"), + ("KR", "KR"), + ("KV", "KV"), + ("KW", "KW"), + ("KY", "KY"), + ("KZ", "KZ"), + ("LA", "LA"), + ("LB", "LB"), + ("LC", "LC"), + ("LI", "LI"), + ("LK", "LK"), + ("LR", "LR"), + ("LS", "LS"), + ("LT", "LT"), + ("LU", "LU"), + ("LV", "LV"), + ("LY", "LY"), + ("MA", "MA"), + ("MC", "MC"), + ("MD", "MD"), + ("ME", "ME"), + ("MG", "MG"), + ("MH", "MH"), + ("MK", "MK"), + ("ML", "ML"), + ("MM", "MM"), + ("MN", "MN"), + ("MO", "MO"), + ("MP", "MP"), + ("MQ", "MQ"), + ("MR", "MR"), + ("MS", "MS"), + ("MT", "MT"), + ("MU", "MU"), + ("MV", "MV"), + ("MW", "MW"), + ("MX", "MX"), + ("MY", "MY"), + ("MZ", "MZ"), + ("NA", "NA"), + ("NC", "NC"), + ("NE", "NE"), + ("NG", "NG"), + ("NI", "NI"), + ("NL", "NL"), + ("NO", "NO"), + ("NP", "NP"), + ("NR", "NR"), + ("NU", "NU"), + ("NZ", "NZ"), + ("OM", "OM"), + ("PA", "PA"), + ("PE", "PE"), + ("PF", "PF"), + ("PG", "PG"), + ("PH", "PH"), + ("PK", "PK"), + ("PL", "PL"), + ("PR", "PR"), + ("PT", "PT"), + ("PW", "PW"), + ("PY", "PY"), + ("QA", "QA"), + ("RE", "RE"), + ("RO", "RO"), + ("RS", "RS"), + ("RU", "RU"), + ("RW", "RW"), + ("SA", "SA"), + ("SB", "SB"), + ("SC", "SC"), + ("SD", "SD"), + ("SE", "SE"), + ("SG", "SG"), + ("SH", "SH"), + ("SI", "SI"), + ("SK", "SK"), + ("SL", "SL"), + ("SM", "SM"), + ("SN", "SN"), + ("SO", "SO"), + ("SR", "SR"), + ("SS", "SS"), + ("ST", "ST"), + ("SV", "SV"), + ("SY", "SY"), + ("SZ", "SZ"), + ("TC", "TC"), + ("TD", "TD"), + ("TG", "TG"), + ("TH", "TH"), + ("TJ", "TJ"), + ("TL", "TL"), + ("TN", "TN"), + ("TO", "TO"), + ("TR", "TR"), + ("TT", "TT"), + ("TV", "TV"), + ("TW", "TW"), + ("TZ", "TZ"), + ("UA", "UA"), + ("UG", "UG"), + ("US", "US"), + ("UY", "UY"), + ("UZ", "UZ"), + ("VA", "VA"), + ("VC", "VC"), + ("VE", "VE"), + ("VG", "VG"), + ("VI", "VI"), + ("VN", "VN"), + ("VU", "VU"), + ("WS", "WS"), + ("XB", "XB"), + ("XC", "XC"), + ("XE", "XE"), + ("XM", "XM"), + ("XN", "XN"), + ("XS", "XS"), + ("XY", "XY"), + ("YE", "YE"), + ("YT", "YT"), + ("ZA", "ZA"), + ("ZM", "ZM"), + ("ZW", "ZW"), + ("EH", "EH"), + ("IM", "IM"), + ("BL", "BL"), + ("MF", "MF"), + ("SX", "SX"), + ], + max_length=3, + null=True, + ), + ), + migrations.AlterField( + model_name="upssettings", + name="account_country_code", + field=models.CharField( + blank=True, + choices=[ + ("AC", "AC"), + ("AD", "AD"), + ("AE", "AE"), + ("AF", "AF"), + ("AG", "AG"), + ("AI", "AI"), + ("AL", "AL"), + ("AM", "AM"), + ("AN", "AN"), + ("AO", "AO"), + ("AR", "AR"), + ("AS", "AS"), + ("AT", "AT"), + ("AU", "AU"), + ("AW", "AW"), + ("AZ", "AZ"), + ("BA", "BA"), + ("BB", "BB"), + ("BD", "BD"), + ("BE", "BE"), + ("BF", "BF"), + ("BG", "BG"), + ("BH", "BH"), + ("BI", "BI"), + ("BJ", "BJ"), + ("BM", "BM"), + ("BN", "BN"), + ("BO", "BO"), + ("BR", "BR"), + ("BS", "BS"), + ("BT", "BT"), + ("BW", "BW"), + ("BY", "BY"), + ("BZ", "BZ"), + ("CA", "CA"), + ("CD", "CD"), + ("CF", "CF"), + ("CG", "CG"), + ("CH", "CH"), + ("CI", "CI"), + ("CK", "CK"), + ("CL", "CL"), + ("CM", "CM"), + ("CN", "CN"), + ("CO", "CO"), + ("CR", "CR"), + ("CU", "CU"), + ("CV", "CV"), + ("CY", "CY"), + ("CZ", "CZ"), + ("DE", "DE"), + ("DJ", "DJ"), + ("DK", "DK"), + ("DM", "DM"), + ("DO", "DO"), + ("DZ", "DZ"), + ("EC", "EC"), + ("EE", "EE"), + ("EG", "EG"), + ("ER", "ER"), + ("ES", "ES"), + ("ET", "ET"), + ("FI", "FI"), + ("FJ", "FJ"), + ("FK", "FK"), + ("FM", "FM"), + ("FO", "FO"), + ("FR", "FR"), + ("GA", "GA"), + ("GB", "GB"), + ("GD", "GD"), + ("GE", "GE"), + ("GF", "GF"), + ("GG", "GG"), + ("GH", "GH"), + ("GI", "GI"), + ("GL", "GL"), + ("GM", "GM"), + ("GN", "GN"), + ("GP", "GP"), + ("GQ", "GQ"), + ("GR", "GR"), + ("GT", "GT"), + ("GU", "GU"), + ("GW", "GW"), + ("GY", "GY"), + ("HK", "HK"), + ("HN", "HN"), + ("HR", "HR"), + ("HT", "HT"), + ("HU", "HU"), + ("IC", "IC"), + ("ID", "ID"), + ("IE", "IE"), + ("IL", "IL"), + ("IN", "IN"), + ("IQ", "IQ"), + ("IR", "IR"), + ("IS", "IS"), + ("IT", "IT"), + ("JE", "JE"), + ("JM", "JM"), + ("JO", "JO"), + ("JP", "JP"), + ("KE", "KE"), + ("KG", "KG"), + ("KH", "KH"), + ("KI", "KI"), + ("KM", "KM"), + ("KN", "KN"), + ("KP", "KP"), + ("KR", "KR"), + ("KV", "KV"), + ("KW", "KW"), + ("KY", "KY"), + ("KZ", "KZ"), + ("LA", "LA"), + ("LB", "LB"), + ("LC", "LC"), + ("LI", "LI"), + ("LK", "LK"), + ("LR", "LR"), + ("LS", "LS"), + ("LT", "LT"), + ("LU", "LU"), + ("LV", "LV"), + ("LY", "LY"), + ("MA", "MA"), + ("MC", "MC"), + ("MD", "MD"), + ("ME", "ME"), + ("MG", "MG"), + ("MH", "MH"), + ("MK", "MK"), + ("ML", "ML"), + ("MM", "MM"), + ("MN", "MN"), + ("MO", "MO"), + ("MP", "MP"), + ("MQ", "MQ"), + ("MR", "MR"), + ("MS", "MS"), + ("MT", "MT"), + ("MU", "MU"), + ("MV", "MV"), + ("MW", "MW"), + ("MX", "MX"), + ("MY", "MY"), + ("MZ", "MZ"), + ("NA", "NA"), + ("NC", "NC"), + ("NE", "NE"), + ("NG", "NG"), + ("NI", "NI"), + ("NL", "NL"), + ("NO", "NO"), + ("NP", "NP"), + ("NR", "NR"), + ("NU", "NU"), + ("NZ", "NZ"), + ("OM", "OM"), + ("PA", "PA"), + ("PE", "PE"), + ("PF", "PF"), + ("PG", "PG"), + ("PH", "PH"), + ("PK", "PK"), + ("PL", "PL"), + ("PR", "PR"), + ("PT", "PT"), + ("PW", "PW"), + ("PY", "PY"), + ("QA", "QA"), + ("RE", "RE"), + ("RO", "RO"), + ("RS", "RS"), + ("RU", "RU"), + ("RW", "RW"), + ("SA", "SA"), + ("SB", "SB"), + ("SC", "SC"), + ("SD", "SD"), + ("SE", "SE"), + ("SG", "SG"), + ("SH", "SH"), + ("SI", "SI"), + ("SK", "SK"), + ("SL", "SL"), + ("SM", "SM"), + ("SN", "SN"), + ("SO", "SO"), + ("SR", "SR"), + ("SS", "SS"), + ("ST", "ST"), + ("SV", "SV"), + ("SY", "SY"), + ("SZ", "SZ"), + ("TC", "TC"), + ("TD", "TD"), + ("TG", "TG"), + ("TH", "TH"), + ("TJ", "TJ"), + ("TL", "TL"), + ("TN", "TN"), + ("TO", "TO"), + ("TR", "TR"), + ("TT", "TT"), + ("TV", "TV"), + ("TW", "TW"), + ("TZ", "TZ"), + ("UA", "UA"), + ("UG", "UG"), + ("US", "US"), + ("UY", "UY"), + ("UZ", "UZ"), + ("VA", "VA"), + ("VC", "VC"), + ("VE", "VE"), + ("VG", "VG"), + ("VI", "VI"), + ("VN", "VN"), + ("VU", "VU"), + ("WS", "WS"), + ("XB", "XB"), + ("XC", "XC"), + ("XE", "XE"), + ("XM", "XM"), + ("XN", "XN"), + ("XS", "XS"), + ("XY", "XY"), + ("YE", "YE"), + ("YT", "YT"), + ("ZA", "ZA"), + ("ZM", "ZM"), + ("ZW", "ZW"), + ("EH", "EH"), + ("IM", "IM"), + ("BL", "BL"), + ("MF", "MF"), + ("SX", "SX"), + ], + max_length=3, + null=True, + ), + ), + migrations.AlterField( + model_name="zoom2usettings", + name="account_country_code", + field=models.CharField( + blank=True, + choices=[ + ("AC", "AC"), + ("AD", "AD"), + ("AE", "AE"), + ("AF", "AF"), + ("AG", "AG"), + ("AI", "AI"), + ("AL", "AL"), + ("AM", "AM"), + ("AN", "AN"), + ("AO", "AO"), + ("AR", "AR"), + ("AS", "AS"), + ("AT", "AT"), + ("AU", "AU"), + ("AW", "AW"), + ("AZ", "AZ"), + ("BA", "BA"), + ("BB", "BB"), + ("BD", "BD"), + ("BE", "BE"), + ("BF", "BF"), + ("BG", "BG"), + ("BH", "BH"), + ("BI", "BI"), + ("BJ", "BJ"), + ("BM", "BM"), + ("BN", "BN"), + ("BO", "BO"), + ("BR", "BR"), + ("BS", "BS"), + ("BT", "BT"), + ("BW", "BW"), + ("BY", "BY"), + ("BZ", "BZ"), + ("CA", "CA"), + ("CD", "CD"), + ("CF", "CF"), + ("CG", "CG"), + ("CH", "CH"), + ("CI", "CI"), + ("CK", "CK"), + ("CL", "CL"), + ("CM", "CM"), + ("CN", "CN"), + ("CO", "CO"), + ("CR", "CR"), + ("CU", "CU"), + ("CV", "CV"), + ("CY", "CY"), + ("CZ", "CZ"), + ("DE", "DE"), + ("DJ", "DJ"), + ("DK", "DK"), + ("DM", "DM"), + ("DO", "DO"), + ("DZ", "DZ"), + ("EC", "EC"), + ("EE", "EE"), + ("EG", "EG"), + ("ER", "ER"), + ("ES", "ES"), + ("ET", "ET"), + ("FI", "FI"), + ("FJ", "FJ"), + ("FK", "FK"), + ("FM", "FM"), + ("FO", "FO"), + ("FR", "FR"), + ("GA", "GA"), + ("GB", "GB"), + ("GD", "GD"), + ("GE", "GE"), + ("GF", "GF"), + ("GG", "GG"), + ("GH", "GH"), + ("GI", "GI"), + ("GL", "GL"), + ("GM", "GM"), + ("GN", "GN"), + ("GP", "GP"), + ("GQ", "GQ"), + ("GR", "GR"), + ("GT", "GT"), + ("GU", "GU"), + ("GW", "GW"), + ("GY", "GY"), + ("HK", "HK"), + ("HN", "HN"), + ("HR", "HR"), + ("HT", "HT"), + ("HU", "HU"), + ("IC", "IC"), + ("ID", "ID"), + ("IE", "IE"), + ("IL", "IL"), + ("IN", "IN"), + ("IQ", "IQ"), + ("IR", "IR"), + ("IS", "IS"), + ("IT", "IT"), + ("JE", "JE"), + ("JM", "JM"), + ("JO", "JO"), + ("JP", "JP"), + ("KE", "KE"), + ("KG", "KG"), + ("KH", "KH"), + ("KI", "KI"), + ("KM", "KM"), + ("KN", "KN"), + ("KP", "KP"), + ("KR", "KR"), + ("KV", "KV"), + ("KW", "KW"), + ("KY", "KY"), + ("KZ", "KZ"), + ("LA", "LA"), + ("LB", "LB"), + ("LC", "LC"), + ("LI", "LI"), + ("LK", "LK"), + ("LR", "LR"), + ("LS", "LS"), + ("LT", "LT"), + ("LU", "LU"), + ("LV", "LV"), + ("LY", "LY"), + ("MA", "MA"), + ("MC", "MC"), + ("MD", "MD"), + ("ME", "ME"), + ("MG", "MG"), + ("MH", "MH"), + ("MK", "MK"), + ("ML", "ML"), + ("MM", "MM"), + ("MN", "MN"), + ("MO", "MO"), + ("MP", "MP"), + ("MQ", "MQ"), + ("MR", "MR"), + ("MS", "MS"), + ("MT", "MT"), + ("MU", "MU"), + ("MV", "MV"), + ("MW", "MW"), + ("MX", "MX"), + ("MY", "MY"), + ("MZ", "MZ"), + ("NA", "NA"), + ("NC", "NC"), + ("NE", "NE"), + ("NG", "NG"), + ("NI", "NI"), + ("NL", "NL"), + ("NO", "NO"), + ("NP", "NP"), + ("NR", "NR"), + ("NU", "NU"), + ("NZ", "NZ"), + ("OM", "OM"), + ("PA", "PA"), + ("PE", "PE"), + ("PF", "PF"), + ("PG", "PG"), + ("PH", "PH"), + ("PK", "PK"), + ("PL", "PL"), + ("PR", "PR"), + ("PT", "PT"), + ("PW", "PW"), + ("PY", "PY"), + ("QA", "QA"), + ("RE", "RE"), + ("RO", "RO"), + ("RS", "RS"), + ("RU", "RU"), + ("RW", "RW"), + ("SA", "SA"), + ("SB", "SB"), + ("SC", "SC"), + ("SD", "SD"), + ("SE", "SE"), + ("SG", "SG"), + ("SH", "SH"), + ("SI", "SI"), + ("SK", "SK"), + ("SL", "SL"), + ("SM", "SM"), + ("SN", "SN"), + ("SO", "SO"), + ("SR", "SR"), + ("SS", "SS"), + ("ST", "ST"), + ("SV", "SV"), + ("SY", "SY"), + ("SZ", "SZ"), + ("TC", "TC"), + ("TD", "TD"), + ("TG", "TG"), + ("TH", "TH"), + ("TJ", "TJ"), + ("TL", "TL"), + ("TN", "TN"), + ("TO", "TO"), + ("TR", "TR"), + ("TT", "TT"), + ("TV", "TV"), + ("TW", "TW"), + ("TZ", "TZ"), + ("UA", "UA"), + ("UG", "UG"), + ("US", "US"), + ("UY", "UY"), + ("UZ", "UZ"), + ("VA", "VA"), + ("VC", "VC"), + ("VE", "VE"), + ("VG", "VG"), + ("VI", "VI"), + ("VN", "VN"), + ("VU", "VU"), + ("WS", "WS"), + ("XB", "XB"), + ("XC", "XC"), + ("XE", "XE"), + ("XM", "XM"), + ("XN", "XN"), + ("XS", "XS"), + ("XY", "XY"), + ("YE", "YE"), + ("YT", "YT"), + ("ZA", "ZA"), + ("ZM", "ZM"), + ("ZW", "ZW"), + ("EH", "EH"), + ("IM", "IM"), + ("BL", "BL"), + ("MF", "MF"), + ("SX", "SX"), + ], + max_length=3, + null=True, + ), + ), + ] diff --git a/modules/graph/karrio/server/graph/utils.py b/modules/graph/karrio/server/graph/utils.py index 0d4dfc676a..4ac9665031 100644 --- a/modules/graph/karrio/server/graph/utils.py +++ b/modules/graph/karrio/server/graph/utils.py @@ -276,7 +276,7 @@ def paginated_connection( def is_unset(v: typing.Any) -> bool: - return isinstance(v, strawberry.unset.UnsetType) + return isinstance(v, type(strawberry.UNSET)) or v == strawberry.UNSET def _dict_factory(items): diff --git a/modules/manager/karrio/server/manager/migrations/0060_pickup_meta_alter_address_country_code_and_more.py b/modules/manager/karrio/server/manager/migrations/0060_pickup_meta_alter_address_country_code_and_more.py new file mode 100644 index 0000000000..804ef380f7 --- /dev/null +++ b/modules/manager/karrio/server/manager/migrations/0060_pickup_meta_alter_address_country_code_and_more.py @@ -0,0 +1,527 @@ +# Generated by Django 4.2.15 on 2024-09-27 19:24 + +from django.db import migrations, models +import functools +import karrio.server.core.utils + + +class Migration(migrations.Migration): + + dependencies = [ + ("manager", "0059_shipment_return_address"), + ] + + operations = [ + migrations.AddField( + model_name="pickup", + name="meta", + field=models.JSONField( + blank=True, + default=functools.partial( + karrio.server.core.utils.identity, *(), **{"value": {}} + ), + ), + ), + migrations.AlterField( + model_name="address", + name="country_code", + field=models.CharField( + choices=[ + ("AC", "AC"), + ("AD", "AD"), + ("AE", "AE"), + ("AF", "AF"), + ("AG", "AG"), + ("AI", "AI"), + ("AL", "AL"), + ("AM", "AM"), + ("AN", "AN"), + ("AO", "AO"), + ("AR", "AR"), + ("AS", "AS"), + ("AT", "AT"), + ("AU", "AU"), + ("AW", "AW"), + ("AZ", "AZ"), + ("BA", "BA"), + ("BB", "BB"), + ("BD", "BD"), + ("BE", "BE"), + ("BF", "BF"), + ("BG", "BG"), + ("BH", "BH"), + ("BI", "BI"), + ("BJ", "BJ"), + ("BM", "BM"), + ("BN", "BN"), + ("BO", "BO"), + ("BR", "BR"), + ("BS", "BS"), + ("BT", "BT"), + ("BW", "BW"), + ("BY", "BY"), + ("BZ", "BZ"), + ("CA", "CA"), + ("CD", "CD"), + ("CF", "CF"), + ("CG", "CG"), + ("CH", "CH"), + ("CI", "CI"), + ("CK", "CK"), + ("CL", "CL"), + ("CM", "CM"), + ("CN", "CN"), + ("CO", "CO"), + ("CR", "CR"), + ("CU", "CU"), + ("CV", "CV"), + ("CY", "CY"), + ("CZ", "CZ"), + ("DE", "DE"), + ("DJ", "DJ"), + ("DK", "DK"), + ("DM", "DM"), + ("DO", "DO"), + ("DZ", "DZ"), + ("EC", "EC"), + ("EE", "EE"), + ("EG", "EG"), + ("ER", "ER"), + ("ES", "ES"), + ("ET", "ET"), + ("FI", "FI"), + ("FJ", "FJ"), + ("FK", "FK"), + ("FM", "FM"), + ("FO", "FO"), + ("FR", "FR"), + ("GA", "GA"), + ("GB", "GB"), + ("GD", "GD"), + ("GE", "GE"), + ("GF", "GF"), + ("GG", "GG"), + ("GH", "GH"), + ("GI", "GI"), + ("GL", "GL"), + ("GM", "GM"), + ("GN", "GN"), + ("GP", "GP"), + ("GQ", "GQ"), + ("GR", "GR"), + ("GT", "GT"), + ("GU", "GU"), + ("GW", "GW"), + ("GY", "GY"), + ("HK", "HK"), + ("HN", "HN"), + ("HR", "HR"), + ("HT", "HT"), + ("HU", "HU"), + ("IC", "IC"), + ("ID", "ID"), + ("IE", "IE"), + ("IL", "IL"), + ("IN", "IN"), + ("IQ", "IQ"), + ("IR", "IR"), + ("IS", "IS"), + ("IT", "IT"), + ("JE", "JE"), + ("JM", "JM"), + ("JO", "JO"), + ("JP", "JP"), + ("KE", "KE"), + ("KG", "KG"), + ("KH", "KH"), + ("KI", "KI"), + ("KM", "KM"), + ("KN", "KN"), + ("KP", "KP"), + ("KR", "KR"), + ("KV", "KV"), + ("KW", "KW"), + ("KY", "KY"), + ("KZ", "KZ"), + ("LA", "LA"), + ("LB", "LB"), + ("LC", "LC"), + ("LI", "LI"), + ("LK", "LK"), + ("LR", "LR"), + ("LS", "LS"), + ("LT", "LT"), + ("LU", "LU"), + ("LV", "LV"), + ("LY", "LY"), + ("MA", "MA"), + ("MC", "MC"), + ("MD", "MD"), + ("ME", "ME"), + ("MG", "MG"), + ("MH", "MH"), + ("MK", "MK"), + ("ML", "ML"), + ("MM", "MM"), + ("MN", "MN"), + ("MO", "MO"), + ("MP", "MP"), + ("MQ", "MQ"), + ("MR", "MR"), + ("MS", "MS"), + ("MT", "MT"), + ("MU", "MU"), + ("MV", "MV"), + ("MW", "MW"), + ("MX", "MX"), + ("MY", "MY"), + ("MZ", "MZ"), + ("NA", "NA"), + ("NC", "NC"), + ("NE", "NE"), + ("NG", "NG"), + ("NI", "NI"), + ("NL", "NL"), + ("NO", "NO"), + ("NP", "NP"), + ("NR", "NR"), + ("NU", "NU"), + ("NZ", "NZ"), + ("OM", "OM"), + ("PA", "PA"), + ("PE", "PE"), + ("PF", "PF"), + ("PG", "PG"), + ("PH", "PH"), + ("PK", "PK"), + ("PL", "PL"), + ("PR", "PR"), + ("PT", "PT"), + ("PW", "PW"), + ("PY", "PY"), + ("QA", "QA"), + ("RE", "RE"), + ("RO", "RO"), + ("RS", "RS"), + ("RU", "RU"), + ("RW", "RW"), + ("SA", "SA"), + ("SB", "SB"), + ("SC", "SC"), + ("SD", "SD"), + ("SE", "SE"), + ("SG", "SG"), + ("SH", "SH"), + ("SI", "SI"), + ("SK", "SK"), + ("SL", "SL"), + ("SM", "SM"), + ("SN", "SN"), + ("SO", "SO"), + ("SR", "SR"), + ("SS", "SS"), + ("ST", "ST"), + ("SV", "SV"), + ("SY", "SY"), + ("SZ", "SZ"), + ("TC", "TC"), + ("TD", "TD"), + ("TG", "TG"), + ("TH", "TH"), + ("TJ", "TJ"), + ("TL", "TL"), + ("TN", "TN"), + ("TO", "TO"), + ("TR", "TR"), + ("TT", "TT"), + ("TV", "TV"), + ("TW", "TW"), + ("TZ", "TZ"), + ("UA", "UA"), + ("UG", "UG"), + ("US", "US"), + ("UY", "UY"), + ("UZ", "UZ"), + ("VA", "VA"), + ("VC", "VC"), + ("VE", "VE"), + ("VG", "VG"), + ("VI", "VI"), + ("VN", "VN"), + ("VU", "VU"), + ("WS", "WS"), + ("XB", "XB"), + ("XC", "XC"), + ("XE", "XE"), + ("XM", "XM"), + ("XN", "XN"), + ("XS", "XS"), + ("XY", "XY"), + ("YE", "YE"), + ("YT", "YT"), + ("ZA", "ZA"), + ("ZM", "ZM"), + ("ZW", "ZW"), + ("EH", "EH"), + ("IM", "IM"), + ("BL", "BL"), + ("MF", "MF"), + ("SX", "SX"), + ], + db_index=True, + max_length=20, + ), + ), + migrations.AlterField( + model_name="commodity", + name="origin_country", + field=models.CharField( + blank=True, + choices=[ + ("AC", "AC"), + ("AD", "AD"), + ("AE", "AE"), + ("AF", "AF"), + ("AG", "AG"), + ("AI", "AI"), + ("AL", "AL"), + ("AM", "AM"), + ("AN", "AN"), + ("AO", "AO"), + ("AR", "AR"), + ("AS", "AS"), + ("AT", "AT"), + ("AU", "AU"), + ("AW", "AW"), + ("AZ", "AZ"), + ("BA", "BA"), + ("BB", "BB"), + ("BD", "BD"), + ("BE", "BE"), + ("BF", "BF"), + ("BG", "BG"), + ("BH", "BH"), + ("BI", "BI"), + ("BJ", "BJ"), + ("BM", "BM"), + ("BN", "BN"), + ("BO", "BO"), + ("BR", "BR"), + ("BS", "BS"), + ("BT", "BT"), + ("BW", "BW"), + ("BY", "BY"), + ("BZ", "BZ"), + ("CA", "CA"), + ("CD", "CD"), + ("CF", "CF"), + ("CG", "CG"), + ("CH", "CH"), + ("CI", "CI"), + ("CK", "CK"), + ("CL", "CL"), + ("CM", "CM"), + ("CN", "CN"), + ("CO", "CO"), + ("CR", "CR"), + ("CU", "CU"), + ("CV", "CV"), + ("CY", "CY"), + ("CZ", "CZ"), + ("DE", "DE"), + ("DJ", "DJ"), + ("DK", "DK"), + ("DM", "DM"), + ("DO", "DO"), + ("DZ", "DZ"), + ("EC", "EC"), + ("EE", "EE"), + ("EG", "EG"), + ("ER", "ER"), + ("ES", "ES"), + ("ET", "ET"), + ("FI", "FI"), + ("FJ", "FJ"), + ("FK", "FK"), + ("FM", "FM"), + ("FO", "FO"), + ("FR", "FR"), + ("GA", "GA"), + ("GB", "GB"), + ("GD", "GD"), + ("GE", "GE"), + ("GF", "GF"), + ("GG", "GG"), + ("GH", "GH"), + ("GI", "GI"), + ("GL", "GL"), + ("GM", "GM"), + ("GN", "GN"), + ("GP", "GP"), + ("GQ", "GQ"), + ("GR", "GR"), + ("GT", "GT"), + ("GU", "GU"), + ("GW", "GW"), + ("GY", "GY"), + ("HK", "HK"), + ("HN", "HN"), + ("HR", "HR"), + ("HT", "HT"), + ("HU", "HU"), + ("IC", "IC"), + ("ID", "ID"), + ("IE", "IE"), + ("IL", "IL"), + ("IN", "IN"), + ("IQ", "IQ"), + ("IR", "IR"), + ("IS", "IS"), + ("IT", "IT"), + ("JE", "JE"), + ("JM", "JM"), + ("JO", "JO"), + ("JP", "JP"), + ("KE", "KE"), + ("KG", "KG"), + ("KH", "KH"), + ("KI", "KI"), + ("KM", "KM"), + ("KN", "KN"), + ("KP", "KP"), + ("KR", "KR"), + ("KV", "KV"), + ("KW", "KW"), + ("KY", "KY"), + ("KZ", "KZ"), + ("LA", "LA"), + ("LB", "LB"), + ("LC", "LC"), + ("LI", "LI"), + ("LK", "LK"), + ("LR", "LR"), + ("LS", "LS"), + ("LT", "LT"), + ("LU", "LU"), + ("LV", "LV"), + ("LY", "LY"), + ("MA", "MA"), + ("MC", "MC"), + ("MD", "MD"), + ("ME", "ME"), + ("MG", "MG"), + ("MH", "MH"), + ("MK", "MK"), + ("ML", "ML"), + ("MM", "MM"), + ("MN", "MN"), + ("MO", "MO"), + ("MP", "MP"), + ("MQ", "MQ"), + ("MR", "MR"), + ("MS", "MS"), + ("MT", "MT"), + ("MU", "MU"), + ("MV", "MV"), + ("MW", "MW"), + ("MX", "MX"), + ("MY", "MY"), + ("MZ", "MZ"), + ("NA", "NA"), + ("NC", "NC"), + ("NE", "NE"), + ("NG", "NG"), + ("NI", "NI"), + ("NL", "NL"), + ("NO", "NO"), + ("NP", "NP"), + ("NR", "NR"), + ("NU", "NU"), + ("NZ", "NZ"), + ("OM", "OM"), + ("PA", "PA"), + ("PE", "PE"), + ("PF", "PF"), + ("PG", "PG"), + ("PH", "PH"), + ("PK", "PK"), + ("PL", "PL"), + ("PR", "PR"), + ("PT", "PT"), + ("PW", "PW"), + ("PY", "PY"), + ("QA", "QA"), + ("RE", "RE"), + ("RO", "RO"), + ("RS", "RS"), + ("RU", "RU"), + ("RW", "RW"), + ("SA", "SA"), + ("SB", "SB"), + ("SC", "SC"), + ("SD", "SD"), + ("SE", "SE"), + ("SG", "SG"), + ("SH", "SH"), + ("SI", "SI"), + ("SK", "SK"), + ("SL", "SL"), + ("SM", "SM"), + ("SN", "SN"), + ("SO", "SO"), + ("SR", "SR"), + ("SS", "SS"), + ("ST", "ST"), + ("SV", "SV"), + ("SY", "SY"), + ("SZ", "SZ"), + ("TC", "TC"), + ("TD", "TD"), + ("TG", "TG"), + ("TH", "TH"), + ("TJ", "TJ"), + ("TL", "TL"), + ("TN", "TN"), + ("TO", "TO"), + ("TR", "TR"), + ("TT", "TT"), + ("TV", "TV"), + ("TW", "TW"), + ("TZ", "TZ"), + ("UA", "UA"), + ("UG", "UG"), + ("US", "US"), + ("UY", "UY"), + ("UZ", "UZ"), + ("VA", "VA"), + ("VC", "VC"), + ("VE", "VE"), + ("VG", "VG"), + ("VI", "VI"), + ("VN", "VN"), + ("VU", "VU"), + ("WS", "WS"), + ("XB", "XB"), + ("XC", "XC"), + ("XE", "XE"), + ("XM", "XM"), + ("XN", "XN"), + ("XS", "XS"), + ("XY", "XY"), + ("YE", "YE"), + ("YT", "YT"), + ("ZA", "ZA"), + ("ZM", "ZM"), + ("ZW", "ZW"), + ("EH", "EH"), + ("IM", "IM"), + ("BL", "BL"), + ("MF", "MF"), + ("SX", "SX"), + ], + db_index=True, + max_length=3, + null=True, + ), + ), + ] diff --git a/modules/manager/karrio/server/manager/models.py b/modules/manager/karrio/server/manager/models.py index 58b0519ae0..3868c9b910 100644 --- a/modules/manager/karrio/server/manager/models.py +++ b/modules/manager/karrio/server/manager/models.py @@ -443,6 +443,7 @@ class Pickup(core.OwnedEntity): "pickup_charge", "created_by", "metadata", + "meta", ] objects = PickupManager() @@ -480,6 +481,9 @@ class Meta: metadata = models.JSONField( blank=True, null=True, default=functools.partial(utils.identity, value={}) ) + meta = models.JSONField( + blank=True, default=functools.partial(utils.identity, value={}) + ) # System Reference fields diff --git a/modules/manager/karrio/server/manager/serializers/manifest.py b/modules/manager/karrio/server/manager/serializers/manifest.py index 532ce5795e..a1a0819127 100644 --- a/modules/manager/karrio/server/manager/serializers/manifest.py +++ b/modules/manager/karrio/server/manager/serializers/manifest.py @@ -24,11 +24,9 @@ def create( ) shipments = models.Shipment.access_by(context).filter( - **{ - "id__in": shipment_ids, - "manifest__isnull": True, - f"selected_rate_carrier__{carrier_name.replace('_', '')}settings__isnull": False, - } + id__in=shipment_ids, + manifest__isnull=True, + selected_rate_carrier__carrier_code=carrier_name, ) shipment_identifiers = [_.shipment_identifier for _ in shipments] diff --git a/modules/manager/karrio/server/manager/serializers/pickup.py b/modules/manager/karrio/server/manager/serializers/pickup.py index 2074682193..5eeae87383 100644 --- a/modules/manager/karrio/server/manager/serializers/pickup.py +++ b/modules/manager/karrio/server/manager/serializers/pickup.py @@ -82,8 +82,10 @@ def __init__(self, instance: models.Pickup = None, **kwargs): if "data" in kwargs: data = kwargs.get("data").copy() - self._shipments = models.Shipment.objects.filter( - tracking_number__in=data.get("tracking_numbers", []) + self._shipments: typing.List[models.Shipment] = ( + models.Shipment.objects.filter( + tracking_number__in=data.get("tracking_numbers", []) + ) ) if data.get("address") is None and instance is None: @@ -122,6 +124,16 @@ def validate(self, data): class PickupData(PickupSerializer): def create(self, validated_data: dict, context: Context, **kwargs) -> models.Pickup: carrier_filter = validated_data["carrier_filter"] + shipment_identifiers = [ + _ + for shipment in self._shipments + for _ in set( + [ + *(shipment.meta.get("shipment_identifiers") or []), + shipment.shipment_identifier, + ] + ) + ] carrier = Carriers.first( context=context, **{"raise_not_found": True, **DEFAULT_CARRIER_FILTER, **carrier_filter}, @@ -130,6 +142,10 @@ def create(self, validated_data: dict, context: Context, **kwargs) -> models.Pic { **validated_data, "parcels": sum([list(s.parcels.all()) for s in self._shipments], []), + "options": { + "shipment_identifiers": shipment_identifiers, + **(validated_data.get("options") or {}), + }, } ).data @@ -206,6 +222,17 @@ class PickupUpdateData(PickupSerializer): def update( self, instance: models.Pickup, validated_data: dict, context: dict, **kwargs ) -> models.Tracking: + shipment_identifiers = [ + _ + for shipment in self._shipments + for _ in set( + [ + *(shipment.meta.get("shipment_identifiers") or []), + shipment.shipment_identifier, + ] + ) + ] + request_data = PickupUpdateRequest( { **PickupUpdateRequest(instance).data, @@ -213,6 +240,11 @@ def update( "address": AddressData( {**AddressData(instance.address).data, **validated_data["address"]} ).data, + "options": { + "shipment_identifiers": shipment_identifiers, + **(instance.meta or {}), + **(validated_data.get("options") or {}), + }, } ).data diff --git a/modules/manager/karrio/server/manager/serializers/shipment.py b/modules/manager/karrio/server/manager/serializers/shipment.py index 209f324d4a..99a4deb0ba 100644 --- a/modules/manager/karrio/server/manager/serializers/shipment.py +++ b/modules/manager/karrio/server/manager/serializers/shipment.py @@ -334,7 +334,8 @@ class ShipmentUpdateData(validators.OptionDefaultSerializer): "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, @@ -403,7 +404,8 @@ class ShipmentRateData(validators.OptionDefaultSerializer): "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, @@ -459,7 +461,8 @@ class ShipmentPurchaseSerializer(Shipment): "hold_at_location": true, "paperless_trade": true, "preferred_service": "fedex_express_saver", - "shipment_date": "2020-01-01", + "shipment_date": "2020-01-01", # TODO: deprecate + "shipping_date": "2020-01-01T00:00", "shipment_note": "This is a shipment note", "signature_confirmation": true, "saturday_delivery": true, diff --git a/modules/manager/karrio/server/manager/tests/test_shipments.py b/modules/manager/karrio/server/manager/tests/test_shipments.py index 1bfe3a0ea3..5de95b1a64 100644 --- a/modules/manager/karrio/server/manager/tests/test_shipments.py +++ b/modules/manager/karrio/server/manager/tests/test_shipments.py @@ -361,7 +361,7 @@ def test_cancel_purchased_shipment(self): "return_address": None, "billing_address": None, "services": [], - "options": {"shipment_date": ANY}, + "options": {"shipping_date": ANY, "shipment_date": ANY}, "customs": None, "reference": None, "carrier_ids": ["canadapost"], @@ -372,7 +372,12 @@ def test_cancel_purchased_shipment(self): } SHIPMENT_OPTIONS = { - "options": {"insurance": 54, "currency": "CAD", "shipment_date": "2050-01-01"}, + "options": { + "insurance": 54, + "currency": "CAD", + "shipment_date": "2050-01-01", + "shipping_date": "2050-01-01T10:30", + }, } RETURNED_RATES_VALUE = [ @@ -509,7 +514,7 @@ def test_cancel_purchased_shipment(self): } ], "services": [], - "options": {"shipment_date": ANY}, + "options": {"shipping_date": ANY, "shipment_date": ANY}, "payment": {"paid_by": "sender", "currency": "CAD", "account_number": None}, "return_address": None, "billing_address": None, diff --git a/modules/manager/karrio/server/manager/views/trackers.py b/modules/manager/karrio/server/manager/views/trackers.py index e9a67b706c..5f48a473a9 100644 --- a/modules/manager/karrio/server/manager/views/trackers.py +++ b/modules/manager/karrio/server/manager/views/trackers.py @@ -43,13 +43,7 @@ def get_queryset(self): carrier_name = query_params.get("carrier_name") if carrier_name is not None: - _filters += ( - Q( - **{ - f"tracking_carrier__{carrier_name.replace('_', '')}settings__isnull": False - } - ), - ) + _filters += (Q(tracking_carrier__carrier_code=carrier_name),) return queryset.filter(*_filters) diff --git a/modules/orders/karrio/server/orders/tests/test_orders.py b/modules/orders/karrio/server/orders/tests/test_orders.py index 0fa58c5d02..06807d0ddd 100644 --- a/modules/orders/karrio/server/orders/tests/test_orders.py +++ b/modules/orders/karrio/server/orders/tests/test_orders.py @@ -519,7 +519,7 @@ def test_fulfilled_order_when_all_items_are_fulfilled(self): } ], "services": [], - "options": {"currency": "CAD", "shipment_date": ANY}, + "options": {"currency": "CAD", "shipment_date": ANY, "shipping_date": ANY}, "payment": {"paid_by": "sender", "currency": "CAD", "account_number": None}, "billing_address": None, "customs": None, @@ -748,7 +748,7 @@ def test_fulfilled_order_when_all_items_are_fulfilled(self): } ], "services": [], - "options": {"currency": "CAD", "shipment_date": ANY}, + "options": {"currency": "CAD", "shipment_date": ANY, "shipping_date": ANY}, "payment": {"paid_by": "sender", "currency": "CAD", "account_number": None}, "billing_address": None, "customs": None, @@ -962,7 +962,7 @@ def test_fulfilled_order_when_all_items_are_fulfilled(self): } ], "services": [], - "options": {"currency": "CAD", "shipment_date": ANY}, + "options": {"currency": "CAD", "shipment_date": ANY, "shipping_date": ANY}, "payment": {"paid_by": "sender", "currency": "CAD", "account_number": None}, "billing_address": None, "customs": None, diff --git a/modules/pricing/karrio/server/pricing/migrations/0059_alter_surcharge_carriers_alter_surcharge_services.py b/modules/pricing/karrio/server/pricing/migrations/0059_alter_surcharge_carriers_alter_surcharge_services.py new file mode 100644 index 0000000000..1e88d25341 --- /dev/null +++ b/modules/pricing/karrio/server/pricing/migrations/0059_alter_surcharge_carriers_alter_surcharge_services.py @@ -0,0 +1,4892 @@ +# Generated by Django 4.2.15 on 2024-09-27 19:24 + +from django.db import migrations +import karrio.server.core.fields + + +class Migration(migrations.Migration): + + dependencies = [ + ("pricing", "0058_alter_surcharge_services"), + ] + + operations = [ + migrations.AlterField( + model_name="surcharge", + name="carriers", + field=karrio.server.core.fields.MultiChoiceField( + blank=True, + choices=[ + ("allied_express", "allied_express"), + ("allied_express_local", "allied_express_local"), + ("amazon_shipping", "amazon_shipping"), + ("aramex", "aramex"), + ("asendia_us", "asendia_us"), + ("australiapost", "australiapost"), + ("boxknight", "boxknight"), + ("bpost", "bpost"), + ("canadapost", "canadapost"), + ("canpar", "canpar"), + ("chronopost", "chronopost"), + ("colissimo", "colissimo"), + ("dhl_express", "dhl_express"), + ("dhl_parcel_de", "dhl_parcel_de"), + ("dhl_poland", "dhl_poland"), + ("dhl_universal", "dhl_universal"), + ("dicom", "dicom"), + ("dpd", "dpd"), + ("dpdhl", "dpdhl"), + ("easypost", "easypost"), + ("easyship", "easyship"), + ("eshipper", "eshipper"), + ("fedex", "fedex"), + ("fedex_ws", "fedex_ws"), + ("freightcom", "freightcom"), + ("generic", "generic"), + ("geodis", "geodis"), + ("hay_post", "hay_post"), + ("laposte", "laposte"), + ("locate2u", "locate2u"), + ("nationex", "nationex"), + ("purolator", "purolator"), + ("roadie", "roadie"), + ("royalmail", "royalmail"), + ("sapient", "sapient"), + ("seko", "seko"), + ("sendle", "sendle"), + ("tge", "tge"), + ("tnt", "tnt"), + ("ups", "ups"), + ("usps", "usps"), + ("usps_international", "usps_international"), + ("usps_wt", "usps_wt"), + ("usps_wt_international", "usps_wt_international"), + ("zoom2u", "zoom2u"), + ], + help_text="\n The list of carriers you want to apply the surcharge to.\n
            \n Note that by default, the surcharge is applied to all carriers\n ", + null=True, + ), + ), + migrations.AlterField( + model_name="surcharge", + name="services", + field=karrio.server.core.fields.MultiChoiceField( + blank=True, + choices=[ + ("allied_road_service", "allied_road_service"), + ("allied_parcel_service", "allied_parcel_service"), + ( + "allied_standard_pallet_service", + "allied_standard_pallet_service", + ), + ( + "allied_oversized_pallet_service", + "allied_oversized_pallet_service", + ), + ("allied_road_service", "allied_road_service"), + ("allied_parcel_service", "allied_parcel_service"), + ( + "allied_standard_pallet_service", + "allied_standard_pallet_service", + ), + ( + "allied_oversized_pallet_service", + "allied_oversized_pallet_service", + ), + ("allied_local_normal_service", "allied_local_normal_service"), + ("allied_local_vip_service", "allied_local_vip_service"), + ( + "allied_local_executive_service", + "allied_local_executive_service", + ), + ("allied_local_gold_service", "allied_local_gold_service"), + ("amazon_shipping_ground", "amazon_shipping_ground"), + ("amazon_shipping_standard", "amazon_shipping_standard"), + ("amazon_shipping_premium", "amazon_shipping_premium"), + ("asendia_us_e_com_tracked_ddp", "asendia_us_e_com_tracked_ddp"), + ("asendia_us_fully_tracked", "asendia_us_fully_tracked"), + ("asendia_us_country_tracked", "asendia_us_country_tracked"), + ("australiapost_parcel_post", "australiapost_parcel_post"), + ("australiapost_express_post", "australiapost_express_post"), + ( + "australiapost_parcel_post_signature", + "australiapost_parcel_post_signature", + ), + ( + "australiapost_express_post_signature", + "australiapost_express_post_signature", + ), + ( + "australiapost_intl_standard_pack_track", + "australiapost_intl_standard_pack_track", + ), + ( + "australiapost_intl_standard_with_signature", + "australiapost_intl_standard_with_signature", + ), + ( + "australiapost_intl_express_merch", + "australiapost_intl_express_merch", + ), + ( + "australiapost_intl_express_docs", + "australiapost_intl_express_docs", + ), + ( + "australiapost_eparcel_post_returns", + "australiapost_eparcel_post_returns", + ), + ( + "australiapost_express_eparcel_post_returns", + "australiapost_express_eparcel_post_returns", + ), + ("boxknight_sameday", "boxknight_sameday"), + ("boxknight_nextday", "boxknight_nextday"), + ("boxknight_scheduled", "boxknight_scheduled"), + ("bpack_24h_pro", "bpack_24h_pro"), + ("bpack_24h_business", "bpack_24h_business"), + ("bpack_bus", "bpack_bus"), + ("bpack_pallet", "bpack_pallet"), + ("bpack_easy_retour", "bpack_easy_retour"), + ("bpack_xl", "bpack_xl"), + ("bpack_bpost", "bpack_bpost"), + ("bpack_24_7", "bpack_24_7"), + ("bpack_world_business", "bpack_world_business"), + ("bpack_world_express_pro", "bpack_world_express_pro"), + ("bpack_europe_business", "bpack_europe_business"), + ("bpack_world_easy_return", "bpack_world_easy_return"), + ("bpack_bpost_international", "bpack_bpost_international"), + ("bpack_24_7_international", "bpack_24_7_international"), + ("canadapost_regular_parcel", "canadapost_regular_parcel"), + ("canadapost_expedited_parcel", "canadapost_expedited_parcel"), + ("canadapost_xpresspost", "canadapost_xpresspost"), + ( + "canadapost_xpresspost_certified", + "canadapost_xpresspost_certified", + ), + ("canadapost_priority", "canadapost_priority"), + ("canadapost_library_books", "canadapost_library_books"), + ( + "canadapost_expedited_parcel_usa", + "canadapost_expedited_parcel_usa", + ), + ( + "canadapost_priority_worldwide_envelope_usa", + "canadapost_priority_worldwide_envelope_usa", + ), + ( + "canadapost_priority_worldwide_pak_usa", + "canadapost_priority_worldwide_pak_usa", + ), + ( + "canadapost_priority_worldwide_parcel_usa", + "canadapost_priority_worldwide_parcel_usa", + ), + ( + "canadapost_small_packet_usa_air", + "canadapost_small_packet_usa_air", + ), + ("canadapost_tracked_packet_usa", "canadapost_tracked_packet_usa"), + ( + "canadapost_tracked_packet_usa_lvm", + "canadapost_tracked_packet_usa_lvm", + ), + ("canadapost_xpresspost_usa", "canadapost_xpresspost_usa"), + ( + "canadapost_xpresspost_international", + "canadapost_xpresspost_international", + ), + ( + "canadapost_international_parcel_air", + "canadapost_international_parcel_air", + ), + ( + "canadapost_international_parcel_surface", + "canadapost_international_parcel_surface", + ), + ( + "canadapost_priority_worldwide_envelope_intl", + "canadapost_priority_worldwide_envelope_intl", + ), + ( + "canadapost_priority_worldwide_pak_intl", + "canadapost_priority_worldwide_pak_intl", + ), + ( + "canadapost_priority_worldwide_parcel_intl", + "canadapost_priority_worldwide_parcel_intl", + ), + ( + "canadapost_small_packet_international_air", + "canadapost_small_packet_international_air", + ), + ( + "canadapost_small_packet_international_surface", + "canadapost_small_packet_international_surface", + ), + ( + "canadapost_tracked_packet_international", + "canadapost_tracked_packet_international", + ), + ("chronopost_retrait_bureau", "chronopost_retrait_bureau"), + ("chronopost_13", "chronopost_13"), + ("chronopost_10", "chronopost_10"), + ("chronopost_18", "chronopost_18"), + ("chronopost_relais", "chronopost_relais"), + ( + "chronopost_express_international", + "chronopost_express_international", + ), + ( + "chronopost_premium_international", + "chronopost_premium_international", + ), + ( + "chronopost_classic_international", + "chronopost_classic_international", + ), + ( + "colissimo_home_without_signature", + "colissimo_home_without_signature", + ), + ("colissimo_home_with_signature", "colissimo_home_with_signature"), + ("colissimo_eco_france", "colissimo_eco_france"), + ("colissimo_return_france", "colissimo_return_france"), + ( + "colissimo_flash_without_signature", + "colissimo_flash_without_signature", + ), + ( + "colissimo_flash_with_signature", + "colissimo_flash_with_signature", + ), + ( + "colissimo_oversea_home_without_signature", + "colissimo_oversea_home_without_signature", + ), + ( + "colissimo_oversea_home_with_signature", + "colissimo_oversea_home_with_signature", + ), + ( + "colissimo_eco_om_without_signature", + "colissimo_eco_om_without_signature", + ), + ( + "colissimo_eco_om_with_signature", + "colissimo_eco_om_with_signature", + ), + ("colissimo_retour_om", "colissimo_retour_om"), + ( + "colissimo_return_international_from_france", + "colissimo_return_international_from_france", + ), + ( + "colissimo_economical_big_export_offer", + "colissimo_economical_big_export_offer", + ), + ( + "colissimo_out_of_home_national_international", + "colissimo_out_of_home_national_international", + ), + ("dhl_logistics_services", "dhl_logistics_services"), + ("dhl_domestic_express_12_00", "dhl_domestic_express_12_00"), + ("dhl_express_choice", "dhl_express_choice"), + ("dhl_express_choice_nondoc", "dhl_express_choice_nondoc"), + ("dhl_jetline", "dhl_jetline"), + ("dhl_sprintline", "dhl_sprintline"), + ("dhl_air_capacity_sales", "dhl_air_capacity_sales"), + ("dhl_express_easy", "dhl_express_easy"), + ("dhl_express_easy_nondoc", "dhl_express_easy_nondoc"), + ("dhl_parcel_product", "dhl_parcel_product"), + ("dhl_accounting", "dhl_accounting"), + ("dhl_breakbulk_express", "dhl_breakbulk_express"), + ("dhl_medical_express", "dhl_medical_express"), + ("dhl_express_worldwide_doc", "dhl_express_worldwide_doc"), + ("dhl_express_9_00_nondoc", "dhl_express_9_00_nondoc"), + ("dhl_freight_worldwide_nondoc", "dhl_freight_worldwide_nondoc"), + ("dhl_economy_select_domestic", "dhl_economy_select_domestic"), + ("dhl_economy_select_nondoc", "dhl_economy_select_nondoc"), + ("dhl_express_domestic_9_00", "dhl_express_domestic_9_00"), + ("dhl_jumbo_box_nondoc", "dhl_jumbo_box_nondoc"), + ("dhl_express_9_00", "dhl_express_9_00"), + ("dhl_express_10_30", "dhl_express_10_30"), + ("dhl_express_10_30_nondoc", "dhl_express_10_30_nondoc"), + ("dhl_express_domestic", "dhl_express_domestic"), + ("dhl_express_domestic_10_30", "dhl_express_domestic_10_30"), + ("dhl_express_worldwide_nondoc", "dhl_express_worldwide_nondoc"), + ("dhl_medical_express_nondoc", "dhl_medical_express_nondoc"), + ("dhl_globalmail", "dhl_globalmail"), + ("dhl_same_day", "dhl_same_day"), + ("dhl_express_12_00", "dhl_express_12_00"), + ("dhl_express_worldwide", "dhl_express_worldwide"), + ("dhl_parcel_product_nondoc", "dhl_parcel_product_nondoc"), + ("dhl_economy_select", "dhl_economy_select"), + ("dhl_express_envelope", "dhl_express_envelope"), + ("dhl_express_12_00_nondoc", "dhl_express_12_00_nondoc"), + ("dhl_destination_charges", "dhl_destination_charges"), + ("dhl_express_all", "dhl_express_all"), + ("dhl_parcel_de_paket", "dhl_parcel_de_paket"), + ("dhl_parcel_de_warenpost", "dhl_parcel_de_warenpost"), + ("dhl_parcel_de_europaket", "dhl_parcel_de_europaket"), + ( + "dhl_parcel_de_paket_international", + "dhl_parcel_de_paket_international", + ), + ( + "dhl_parcel_de_warenpost_international", + "dhl_parcel_de_warenpost_international", + ), + ("dhl_poland_premium", "dhl_poland_premium"), + ("dhl_poland_polska", "dhl_poland_polska"), + ("dhl_poland_09", "dhl_poland_09"), + ("dhl_poland_12", "dhl_poland_12"), + ("dhl_poland_connect", "dhl_poland_connect"), + ("dhl_poland_international", "dhl_poland_international"), + ("dpd_cl", "dpd_cl"), + ("dpd_express_10h", "dpd_express_10h"), + ("dpd_express_12h", "dpd_express_12h"), + ("dpd_express_18h_guarantee", "dpd_express_18h_guarantee"), + ("dpd_express_b2b_predict", "dpd_express_b2b_predict"), + ("dpdhl_paket", "dpdhl_paket"), + ("dpdhl_paket_international", "dpdhl_paket_international"), + ("dpdhl_europaket", "dpdhl_europaket"), + ("dpdhl_paket_connect", "dpdhl_paket_connect"), + ("dpdhl_warenpost", "dpdhl_warenpost"), + ("dpdhl_warenpost_international", "dpdhl_warenpost_international"), + ("dpdhl_retoure", "dpdhl_retoure"), + ("easypost_amazonmws_ups_rates", "easypost_amazonmws_ups_rates"), + ("easypost_amazonmws_usps_rates", "easypost_amazonmws_usps_rates"), + ( + "easypost_amazonmws_fedex_rates", + "easypost_amazonmws_fedex_rates", + ), + ("easypost_amazonmws_ups_labels", "easypost_amazonmws_ups_labels"), + ( + "easypost_amazonmws_usps_labels", + "easypost_amazonmws_usps_labels", + ), + ( + "easypost_amazonmws_fedex_labels", + "easypost_amazonmws_fedex_labels", + ), + ( + "easypost_amazonmws_ups_tracking", + "easypost_amazonmws_ups_tracking", + ), + ( + "easypost_amazonmws_usps_tracking", + "easypost_amazonmws_usps_tracking", + ), + ( + "easypost_amazonmws_fedex_tracking", + "easypost_amazonmws_fedex_tracking", + ), + ( + "easypost_apc_parcel_connect_book_service", + "easypost_apc_parcel_connect_book_service", + ), + ( + "easypost_apc_parcel_connect_expedited_ddp", + "easypost_apc_parcel_connect_expedited_ddp", + ), + ( + "easypost_apc_parcel_connect_expedited_ddu", + "easypost_apc_parcel_connect_expedited_ddu", + ), + ( + "easypost_apc_parcel_connect_priority_ddp", + "easypost_apc_parcel_connect_priority_ddp", + ), + ( + "easypost_apc_parcel_connect_priority_ddp_delcon", + "easypost_apc_parcel_connect_priority_ddp_delcon", + ), + ( + "easypost_apc_parcel_connect_priority_ddu", + "easypost_apc_parcel_connect_priority_ddu", + ), + ( + "easypost_apc_parcel_connect_priority_ddu_delcon", + "easypost_apc_parcel_connect_priority_ddu_delcon", + ), + ( + "easypost_apc_parcel_connect_priority_ddupqw", + "easypost_apc_parcel_connect_priority_ddupqw", + ), + ( + "easypost_apc_parcel_connect_standard_ddu", + "easypost_apc_parcel_connect_standard_ddu", + ), + ( + "easypost_apc_parcel_connect_standard_ddupqw", + "easypost_apc_parcel_connect_standard_ddupqw", + ), + ( + "easypost_apc_parcel_connect_packet_ddu", + "easypost_apc_parcel_connect_packet_ddu", + ), + ("easypost_asendia_pmi", "easypost_asendia_pmi"), + ("easypost_asendia_e_packet", "easypost_asendia_e_packet"), + ("easypost_asendia_ipa", "easypost_asendia_ipa"), + ("easypost_asendia_isal", "easypost_asendia_isal"), + ("easypost_asendia_us_ads", "easypost_asendia_us_ads"), + ( + "easypost_asendia_us_air_freight_inbound", + "easypost_asendia_us_air_freight_inbound", + ), + ( + "easypost_asendia_us_air_freight_outbound", + "easypost_asendia_us_air_freight_outbound", + ), + ( + "easypost_asendia_us_domestic_bound_printer_matter_expedited", + "easypost_asendia_us_domestic_bound_printer_matter_expedited", + ), + ( + "easypost_asendia_us_domestic_bound_printer_matter_ground", + "easypost_asendia_us_domestic_bound_printer_matter_ground", + ), + ( + "easypost_asendia_us_domestic_flats_expedited", + "easypost_asendia_us_domestic_flats_expedited", + ), + ( + "easypost_asendia_us_domestic_flats_ground", + "easypost_asendia_us_domestic_flats_ground", + ), + ( + "easypost_asendia_us_domestic_parcel_ground_over1lb", + "easypost_asendia_us_domestic_parcel_ground_over1lb", + ), + ( + "easypost_asendia_us_domestic_parcel_ground_under1lb", + "easypost_asendia_us_domestic_parcel_ground_under1lb", + ), + ( + "easypost_asendia_us_domestic_parcel_max_over1lb", + "easypost_asendia_us_domestic_parcel_max_over1lb", + ), + ( + "easypost_asendia_us_domestic_parcel_max_under1lb", + "easypost_asendia_us_domestic_parcel_max_under1lb", + ), + ( + "easypost_asendia_us_domestic_parcel_over1lb_expedited", + "easypost_asendia_us_domestic_parcel_over1lb_expedited", + ), + ( + "easypost_asendia_us_domestic_parcel_under1lb_expedited", + "easypost_asendia_us_domestic_parcel_under1lb_expedited", + ), + ( + "easypost_asendia_us_domestic_promo_parcel_expedited", + "easypost_asendia_us_domestic_promo_parcel_expedited", + ), + ( + "easypost_asendia_us_domestic_promo_parcel_ground", + "easypost_asendia_us_domestic_promo_parcel_ground", + ), + ( + "easypost_asendia_us_bulk_freight", + "easypost_asendia_us_bulk_freight", + ), + ( + "easypost_asendia_us_business_mail_canada_lettermail", + "easypost_asendia_us_business_mail_canada_lettermail", + ), + ( + "easypost_asendia_us_business_mail_canada_lettermail_machineable", + "easypost_asendia_us_business_mail_canada_lettermail_machineable", + ), + ( + "easypost_asendia_us_business_mail_economy", + "easypost_asendia_us_business_mail_economy", + ), + ( + "easypost_asendia_us_business_mail_economy_lp_wholesale", + "easypost_asendia_us_business_mail_economy_lp_wholesale", + ), + ( + "easypost_asendia_us_business_mail_economy_sp_wholesale", + "easypost_asendia_us_business_mail_economy_sp_wholesale", + ), + ( + "easypost_asendia_us_business_mail_ipa", + "easypost_asendia_us_business_mail_ipa", + ), + ( + "easypost_asendia_us_business_mail_isal", + "easypost_asendia_us_business_mail_isal", + ), + ( + "easypost_asendia_us_business_mail_priority", + "easypost_asendia_us_business_mail_priority", + ), + ( + "easypost_asendia_us_business_mail_priority_lp_wholesale", + "easypost_asendia_us_business_mail_priority_lp_wholesale", + ), + ( + "easypost_asendia_us_business_mail_priority_sp_wholesale", + "easypost_asendia_us_business_mail_priority_sp_wholesale", + ), + ( + "easypost_asendia_us_marketing_mail_canada_personalized_lcp", + "easypost_asendia_us_marketing_mail_canada_personalized_lcp", + ), + ( + "easypost_asendia_us_marketing_mail_canada_personalized_machineable", + "easypost_asendia_us_marketing_mail_canada_personalized_machineable", + ), + ( + "easypost_asendia_us_marketing_mail_canada_personalized_ndg", + "easypost_asendia_us_marketing_mail_canada_personalized_ndg", + ), + ( + "easypost_asendia_us_marketing_mail_economy", + "easypost_asendia_us_marketing_mail_economy", + ), + ( + "easypost_asendia_us_marketing_mail_ipa", + "easypost_asendia_us_marketing_mail_ipa", + ), + ( + "easypost_asendia_us_marketing_mail_isal", + "easypost_asendia_us_marketing_mail_isal", + ), + ( + "easypost_asendia_us_marketing_mail_priority", + "easypost_asendia_us_marketing_mail_priority", + ), + ( + "easypost_asendia_us_publications_canada_lcp", + "easypost_asendia_us_publications_canada_lcp", + ), + ( + "easypost_asendia_us_publications_canada_ndg", + "easypost_asendia_us_publications_canada_ndg", + ), + ( + "easypost_asendia_us_publications_economy", + "easypost_asendia_us_publications_economy", + ), + ( + "easypost_asendia_us_publications_ipa", + "easypost_asendia_us_publications_ipa", + ), + ( + "easypost_asendia_us_publications_isal", + "easypost_asendia_us_publications_isal", + ), + ( + "easypost_asendia_us_publications_priority", + "easypost_asendia_us_publications_priority", + ), + ( + "easypost_asendia_us_epaq_elite", + "easypost_asendia_us_epaq_elite", + ), + ( + "easypost_asendia_us_epaq_elite_custom", + "easypost_asendia_us_epaq_elite_custom", + ), + ( + "easypost_asendia_us_epaq_elite_dap", + "easypost_asendia_us_epaq_elite_dap", + ), + ( + "easypost_asendia_us_epaq_elite_ddp", + "easypost_asendia_us_epaq_elite_ddp", + ), + ( + "easypost_asendia_us_epaq_elite_ddp_oversized", + "easypost_asendia_us_epaq_elite_ddp_oversized", + ), + ( + "easypost_asendia_us_epaq_elite_dpd", + "easypost_asendia_us_epaq_elite_dpd", + ), + ( + "easypost_asendia_us_epaq_elite_direct_access_canada_ddp", + "easypost_asendia_us_epaq_elite_direct_access_canada_ddp", + ), + ( + "easypost_asendia_us_epaq_elite_oversized", + "easypost_asendia_us_epaq_elite_oversized", + ), + ("easypost_asendia_us_epaq_plus", "easypost_asendia_us_epaq_plus"), + ( + "easypost_asendia_us_epaq_plus_custom", + "easypost_asendia_us_epaq_plus_custom", + ), + ( + "easypost_asendia_us_epaq_plus_customs_prepaid", + "easypost_asendia_us_epaq_plus_customs_prepaid", + ), + ( + "easypost_asendia_us_epaq_plus_dap", + "easypost_asendia_us_epaq_plus_dap", + ), + ( + "easypost_asendia_us_epaq_plus_ddp", + "easypost_asendia_us_epaq_plus_ddp", + ), + ( + "easypost_asendia_us_epaq_plus_economy", + "easypost_asendia_us_epaq_plus_economy", + ), + ( + "easypost_asendia_us_epaq_plus_wholesale", + "easypost_asendia_us_epaq_plus_wholesale", + ), + ( + "easypost_asendia_us_epaq_pluse_packet", + "easypost_asendia_us_epaq_pluse_packet", + ), + ( + "easypost_asendia_us_epaq_pluse_packet_canada_customs_pre_paid", + "easypost_asendia_us_epaq_pluse_packet_canada_customs_pre_paid", + ), + ( + "easypost_asendia_us_epaq_pluse_packet_canada_ddp", + "easypost_asendia_us_epaq_pluse_packet_canada_ddp", + ), + ( + "easypost_asendia_us_epaq_returns_domestic", + "easypost_asendia_us_epaq_returns_domestic", + ), + ( + "easypost_asendia_us_epaq_returns_international", + "easypost_asendia_us_epaq_returns_international", + ), + ( + "easypost_asendia_us_epaq_select", + "easypost_asendia_us_epaq_select", + ), + ( + "easypost_asendia_us_epaq_select_custom", + "easypost_asendia_us_epaq_select_custom", + ), + ( + "easypost_asendia_us_epaq_select_customs_prepaid_by_shopper", + "easypost_asendia_us_epaq_select_customs_prepaid_by_shopper", + ), + ( + "easypost_asendia_us_epaq_select_dap", + "easypost_asendia_us_epaq_select_dap", + ), + ( + "easypost_asendia_us_epaq_select_ddp", + "easypost_asendia_us_epaq_select_ddp", + ), + ( + "easypost_asendia_us_epaq_select_ddp_direct_access", + "easypost_asendia_us_epaq_select_ddp_direct_access", + ), + ( + "easypost_asendia_us_epaq_select_direct_access", + "easypost_asendia_us_epaq_select_direct_access", + ), + ( + "easypost_asendia_us_epaq_select_direct_access_canada_ddp", + "easypost_asendia_us_epaq_select_direct_access_canada_ddp", + ), + ( + "easypost_asendia_us_epaq_select_economy", + "easypost_asendia_us_epaq_select_economy", + ), + ( + "easypost_asendia_us_epaq_select_oversized", + "easypost_asendia_us_epaq_select_oversized", + ), + ( + "easypost_asendia_us_epaq_select_oversized_ddp", + "easypost_asendia_us_epaq_select_oversized_ddp", + ), + ( + "easypost_asendia_us_epaq_select_pmei", + "easypost_asendia_us_epaq_select_pmei", + ), + ( + "easypost_asendia_us_epaq_select_pmei_canada_customs_pre_paid", + "easypost_asendia_us_epaq_select_pmei_canada_customs_pre_paid", + ), + ( + "easypost_asendia_us_epaq_select_pmeipc_postage", + "easypost_asendia_us_epaq_select_pmeipc_postage", + ), + ( + "easypost_asendia_us_epaq_select_pmi", + "easypost_asendia_us_epaq_select_pmi", + ), + ( + "easypost_asendia_us_epaq_select_pmi_canada_customs_prepaid", + "easypost_asendia_us_epaq_select_pmi_canada_customs_prepaid", + ), + ( + "easypost_asendia_us_epaq_select_pmi_canada_ddp", + "easypost_asendia_us_epaq_select_pmi_canada_ddp", + ), + ( + "easypost_asendia_us_epaq_select_pmi_non_presort", + "easypost_asendia_us_epaq_select_pmi_non_presort", + ), + ( + "easypost_asendia_us_epaq_select_pmipc_postage", + "easypost_asendia_us_epaq_select_pmipc_postage", + ), + ( + "easypost_asendia_us_epaq_standard", + "easypost_asendia_us_epaq_standard", + ), + ( + "easypost_asendia_us_epaq_standard_custom", + "easypost_asendia_us_epaq_standard_custom", + ), + ( + "easypost_asendia_us_epaq_standard_economy", + "easypost_asendia_us_epaq_standard_economy", + ), + ( + "easypost_asendia_us_epaq_standard_ipa", + "easypost_asendia_us_epaq_standard_ipa", + ), + ( + "easypost_asendia_us_epaq_standard_isal", + "easypost_asendia_us_epaq_standard_isal", + ), + ( + "easypost_asendia_us_epaq_select_pmei_non_presort", + "easypost_asendia_us_epaq_select_pmei_non_presort", + ), + ( + "easypost_australiapost_express_post", + "easypost_australiapost_express_post", + ), + ( + "easypost_australiapost_express_post_signature", + "easypost_australiapost_express_post_signature", + ), + ( + "easypost_australiapost_parcel_post", + "easypost_australiapost_parcel_post", + ), + ( + "easypost_australiapost_parcel_post_signature", + "easypost_australiapost_parcel_post_signature", + ), + ( + "easypost_australiapost_parcel_post_extra", + "easypost_australiapost_parcel_post_extra", + ), + ( + "easypost_australiapost_parcel_post_wine_plus_signature", + "easypost_australiapost_parcel_post_wine_plus_signature", + ), + ("easypost_axlehire_delivery", "easypost_axlehire_delivery"), + ( + "easypost_better_trucks_next_day", + "easypost_better_trucks_next_day", + ), + ("easypost_bond_standard", "easypost_bond_standard"), + ( + "easypost_canadapost_regular_parcel", + "easypost_canadapost_regular_parcel", + ), + ( + "easypost_canadapost_expedited_parcel", + "easypost_canadapost_expedited_parcel", + ), + ( + "easypost_canadapost_xpresspost", + "easypost_canadapost_xpresspost", + ), + ( + "easypost_canadapost_xpresspost_certified", + "easypost_canadapost_xpresspost_certified", + ), + ("easypost_canadapost_priority", "easypost_canadapost_priority"), + ( + "easypost_canadapost_library_books", + "easypost_canadapost_library_books", + ), + ( + "easypost_canadapost_expedited_parcel_usa", + "easypost_canadapost_expedited_parcel_usa", + ), + ( + "easypost_canadapost_priority_worldwide_envelope_usa", + "easypost_canadapost_priority_worldwide_envelope_usa", + ), + ( + "easypost_canadapost_priority_worldwide_pak_usa", + "easypost_canadapost_priority_worldwide_pak_usa", + ), + ( + "easypost_canadapost_priority_worldwide_parcel_usa", + "easypost_canadapost_priority_worldwide_parcel_usa", + ), + ( + "easypost_canadapost_small_packet_usa_air", + "easypost_canadapost_small_packet_usa_air", + ), + ( + "easypost_canadapost_tracked_packet_usa", + "easypost_canadapost_tracked_packet_usa", + ), + ( + "easypost_canadapost_tracked_packet_usalvm", + "easypost_canadapost_tracked_packet_usalvm", + ), + ( + "easypost_canadapost_xpresspost_usa", + "easypost_canadapost_xpresspost_usa", + ), + ( + "easypost_canadapost_xpresspost_international", + "easypost_canadapost_xpresspost_international", + ), + ( + "easypost_canadapost_international_parcel_air", + "easypost_canadapost_international_parcel_air", + ), + ( + "easypost_canadapost_international_parcel_surface", + "easypost_canadapost_international_parcel_surface", + ), + ( + "easypost_canadapost_priority_worldwide_envelope_intl", + "easypost_canadapost_priority_worldwide_envelope_intl", + ), + ( + "easypost_canadapost_priority_worldwide_pak_intl", + "easypost_canadapost_priority_worldwide_pak_intl", + ), + ( + "easypost_canadapost_priority_worldwide_parcel_intl", + "easypost_canadapost_priority_worldwide_parcel_intl", + ), + ( + "easypost_canadapost_small_packet_international_air", + "easypost_canadapost_small_packet_international_air", + ), + ( + "easypost_canadapost_small_packet_international_surface", + "easypost_canadapost_small_packet_international_surface", + ), + ( + "easypost_canadapost_tracked_packet_international", + "easypost_canadapost_tracked_packet_international", + ), + ("easypost_canpar_ground", "easypost_canpar_ground"), + ("easypost_canpar_select_letter", "easypost_canpar_select_letter"), + ("easypost_canpar_select_pak", "easypost_canpar_select_pak"), + ("easypost_canpar_select", "easypost_canpar_select"), + ( + "easypost_canpar_overnight_letter", + "easypost_canpar_overnight_letter", + ), + ("easypost_canpar_overnight_pak", "easypost_canpar_overnight_pak"), + ("easypost_canpar_overnight", "easypost_canpar_overnight"), + ("easypost_canpar_select_usa", "easypost_canpar_select_usa"), + ("easypost_canpar_usa_pak", "easypost_canpar_usa_pak"), + ("easypost_canpar_usa_letter", "easypost_canpar_usa_letter"), + ("easypost_canpar_usa", "easypost_canpar_usa"), + ("easypost_canpar_international", "easypost_canpar_international"), + ("easypost_cdl_distribution", "easypost_cdl_distribution"), + ("easypost_cdl_same_day", "easypost_cdl_same_day"), + ( + "easypost_courier_express_basic_parcel", + "easypost_courier_express_basic_parcel", + ), + ( + "easypost_couriersplease_domestic_priority_signature", + "easypost_couriersplease_domestic_priority_signature", + ), + ( + "easypost_couriersplease_domestic_priority", + "easypost_couriersplease_domestic_priority", + ), + ( + "easypost_couriersplease_domestic_off_peak_signature", + "easypost_couriersplease_domestic_off_peak_signature", + ), + ( + "easypost_couriersplease_domestic_off_peak", + "easypost_couriersplease_domestic_off_peak", + ), + ( + "easypost_couriersplease_gold_domestic_signature", + "easypost_couriersplease_gold_domestic_signature", + ), + ( + "easypost_couriersplease_gold_domestic", + "easypost_couriersplease_gold_domestic", + ), + ( + "easypost_couriersplease_australian_city_express_signature", + "easypost_couriersplease_australian_city_express_signature", + ), + ( + "easypost_couriersplease_australian_city_express", + "easypost_couriersplease_australian_city_express", + ), + ( + "easypost_couriersplease_domestic_saver_signature", + "easypost_couriersplease_domestic_saver_signature", + ), + ( + "easypost_couriersplease_domestic_saver", + "easypost_couriersplease_domestic_saver", + ), + ( + "easypost_couriersplease_road_express", + "easypost_couriersplease_road_express", + ), + ( + "easypost_couriersplease_5_kg_satchel", + "easypost_couriersplease_5_kg_satchel", + ), + ( + "easypost_couriersplease_3_kg_satchel", + "easypost_couriersplease_3_kg_satchel", + ), + ( + "easypost_couriersplease_1_kg_satchel", + "easypost_couriersplease_1_kg_satchel", + ), + ( + "easypost_couriersplease_5_kg_satchel_atl", + "easypost_couriersplease_5_kg_satchel_atl", + ), + ( + "easypost_couriersplease_3_kg_satchel_atl", + "easypost_couriersplease_3_kg_satchel_atl", + ), + ( + "easypost_couriersplease_1_kg_satchel_atl", + "easypost_couriersplease_1_kg_satchel_atl", + ), + ( + "easypost_couriersplease_500_gram_satchel", + "easypost_couriersplease_500_gram_satchel", + ), + ( + "easypost_couriersplease_500_gram_satchel_atl", + "easypost_couriersplease_500_gram_satchel_atl", + ), + ( + "easypost_couriersplease_25_kg_parcel", + "easypost_couriersplease_25_kg_parcel", + ), + ( + "easypost_couriersplease_10_kg_parcel", + "easypost_couriersplease_10_kg_parcel", + ), + ( + "easypost_couriersplease_5_kg_parcel", + "easypost_couriersplease_5_kg_parcel", + ), + ( + "easypost_couriersplease_3_kg_parcel", + "easypost_couriersplease_3_kg_parcel", + ), + ( + "easypost_couriersplease_1_kg_parcel", + "easypost_couriersplease_1_kg_parcel", + ), + ( + "easypost_couriersplease_500_gram_parcel", + "easypost_couriersplease_500_gram_parcel", + ), + ( + "easypost_couriersplease_500_gram_parcel_atl", + "easypost_couriersplease_500_gram_parcel_atl", + ), + ( + "easypost_couriersplease_express_international_priority", + "easypost_couriersplease_express_international_priority", + ), + ( + "easypost_couriersplease_international_saver", + "easypost_couriersplease_international_saver", + ), + ( + "easypost_couriersplease_international_express_import", + "easypost_couriersplease_international_express_import", + ), + ( + "easypost_couriersplease_domestic_tracked", + "easypost_couriersplease_domestic_tracked", + ), + ( + "easypost_couriersplease_international_economy", + "easypost_couriersplease_international_economy", + ), + ( + "easypost_couriersplease_international_standard", + "easypost_couriersplease_international_standard", + ), + ( + "easypost_couriersplease_international_express", + "easypost_couriersplease_international_express", + ), + ( + "easypost_deutschepost_packet_plus", + "easypost_deutschepost_packet_plus", + ), + ( + "easypost_deutschepost_uk_priority_packet_plus", + "easypost_deutschepost_uk_priority_packet_plus", + ), + ( + "easypost_deutschepost_uk_priority_packet", + "easypost_deutschepost_uk_priority_packet", + ), + ( + "easypost_deutschepost_uk_priority_packet_tracked", + "easypost_deutschepost_uk_priority_packet_tracked", + ), + ( + "easypost_deutschepost_uk_business_mail_registered", + "easypost_deutschepost_uk_business_mail_registered", + ), + ( + "easypost_deutschepost_uk_standard_packet", + "easypost_deutschepost_uk_standard_packet", + ), + ( + "easypost_deutschepost_uk_business_mail_standard", + "easypost_deutschepost_uk_business_mail_standard", + ), + ("easypost_dhl_ecom_asia_packet", "easypost_dhl_ecom_asia_packet"), + ( + "easypost_dhl_ecom_asia_parcel_direct", + "easypost_dhl_ecom_asia_parcel_direct", + ), + ( + "easypost_dhl_ecom_asia_parcel_direct_expedited", + "easypost_dhl_ecom_asia_parcel_direct_expedited", + ), + ( + "easypost_dhl_ecom_parcel_expedited", + "easypost_dhl_ecom_parcel_expedited", + ), + ( + "easypost_dhl_ecom_parcel_expedited_max", + "easypost_dhl_ecom_parcel_expedited_max", + ), + ( + "easypost_dhl_ecom_parcel_ground", + "easypost_dhl_ecom_parcel_ground", + ), + ( + "easypost_dhl_ecom_bpm_expedited", + "easypost_dhl_ecom_bpm_expedited", + ), + ("easypost_dhl_ecom_bpm_ground", "easypost_dhl_ecom_bpm_ground"), + ( + "easypost_dhl_ecom_parcel_international_direct", + "easypost_dhl_ecom_parcel_international_direct", + ), + ( + "easypost_dhl_ecom_parcel_international_standard", + "easypost_dhl_ecom_parcel_international_standard", + ), + ( + "easypost_dhl_ecom_packet_international", + "easypost_dhl_ecom_packet_international", + ), + ( + "easypost_dhl_ecom_parcel_international_direct_priority", + "easypost_dhl_ecom_parcel_international_direct_priority", + ), + ( + "easypost_dhl_ecom_parcel_international_direct_standard", + "easypost_dhl_ecom_parcel_international_direct_standard", + ), + ( + "easypost_dhl_express_break_bulk_economy", + "easypost_dhl_express_break_bulk_economy", + ), + ( + "easypost_dhl_express_break_bulk_express", + "easypost_dhl_express_break_bulk_express", + ), + ( + "easypost_dhl_express_domestic_economy_select", + "easypost_dhl_express_domestic_economy_select", + ), + ( + "easypost_dhl_express_domestic_express", + "easypost_dhl_express_domestic_express", + ), + ( + "easypost_dhl_express_domestic_express1030", + "easypost_dhl_express_domestic_express1030", + ), + ( + "easypost_dhl_express_domestic_express1200", + "easypost_dhl_express_domestic_express1200", + ), + ( + "easypost_dhl_express_economy_select", + "easypost_dhl_express_economy_select", + ), + ( + "easypost_dhl_express_economy_select_non_doc", + "easypost_dhl_express_economy_select_non_doc", + ), + ( + "easypost_dhl_express_euro_pack", + "easypost_dhl_express_euro_pack", + ), + ( + "easypost_dhl_express_europack_non_doc", + "easypost_dhl_express_europack_non_doc", + ), + ( + "easypost_dhl_express_express1030", + "easypost_dhl_express_express1030", + ), + ( + "easypost_dhl_express_express1030_non_doc", + "easypost_dhl_express_express1030_non_doc", + ), + ( + "easypost_dhl_express_express1200_non_doc", + "easypost_dhl_express_express1200_non_doc", + ), + ( + "easypost_dhl_express_express1200", + "easypost_dhl_express_express1200", + ), + ( + "easypost_dhl_express_express900", + "easypost_dhl_express_express900", + ), + ( + "easypost_dhl_express_express900_non_doc", + "easypost_dhl_express_express900_non_doc", + ), + ( + "easypost_dhl_express_express_easy", + "easypost_dhl_express_express_easy", + ), + ( + "easypost_dhl_express_express_easy_non_doc", + "easypost_dhl_express_express_easy_non_doc", + ), + ( + "easypost_dhl_express_express_envelope", + "easypost_dhl_express_express_envelope", + ), + ( + "easypost_dhl_express_express_worldwide", + "easypost_dhl_express_express_worldwide", + ), + ( + "easypost_dhl_express_express_worldwide_b2_c", + "easypost_dhl_express_express_worldwide_b2_c", + ), + ( + "easypost_dhl_express_express_worldwide_b2_c_non_doc", + "easypost_dhl_express_express_worldwide_b2_c_non_doc", + ), + ( + "easypost_dhl_express_express_worldwide_ecx", + "easypost_dhl_express_express_worldwide_ecx", + ), + ( + "easypost_dhl_express_express_worldwide_non_doc", + "easypost_dhl_express_express_worldwide_non_doc", + ), + ( + "easypost_dhl_express_freight_worldwide", + "easypost_dhl_express_freight_worldwide", + ), + ( + "easypost_dhl_express_globalmail_business", + "easypost_dhl_express_globalmail_business", + ), + ("easypost_dhl_express_jet_line", "easypost_dhl_express_jet_line"), + ( + "easypost_dhl_express_jumbo_box", + "easypost_dhl_express_jumbo_box", + ), + ( + "easypost_dhl_express_logistics_services", + "easypost_dhl_express_logistics_services", + ), + ("easypost_dhl_express_same_day", "easypost_dhl_express_same_day"), + ( + "easypost_dhl_express_secure_line", + "easypost_dhl_express_secure_line", + ), + ( + "easypost_dhl_express_sprint_line", + "easypost_dhl_express_sprint_line", + ), + ("easypost_dpd_classic", "easypost_dpd_classic"), + ("easypost_dpd_8_30", "easypost_dpd_8_30"), + ("easypost_dpd_10_00", "easypost_dpd_10_00"), + ("easypost_dpd_12_00", "easypost_dpd_12_00"), + ("easypost_dpd_18_00", "easypost_dpd_18_00"), + ("easypost_dpd_express", "easypost_dpd_express"), + ("easypost_dpd_parcelletter", "easypost_dpd_parcelletter"), + ("easypost_dpd_parcelletterplus", "easypost_dpd_parcelletterplus"), + ( + "easypost_dpd_internationalmail", + "easypost_dpd_internationalmail", + ), + ( + "easypost_dpd_uk_air_express_international_air", + "easypost_dpd_uk_air_express_international_air", + ), + ( + "easypost_dpd_uk_air_classic_international_air", + "easypost_dpd_uk_air_classic_international_air", + ), + ("easypost_dpd_uk_parcel_sunday", "easypost_dpd_uk_parcel_sunday"), + ( + "easypost_dpd_uk_freight_parcel_sunday", + "easypost_dpd_uk_freight_parcel_sunday", + ), + ("easypost_dpd_uk_pallet_sunday", "easypost_dpd_uk_pallet_sunday"), + ( + "easypost_dpd_uk_pallet_dpd_classic", + "easypost_dpd_uk_pallet_dpd_classic", + ), + ( + "easypost_dpd_uk_expresspak_dpd_classic", + "easypost_dpd_uk_expresspak_dpd_classic", + ), + ( + "easypost_dpd_uk_expresspak_sunday", + "easypost_dpd_uk_expresspak_sunday", + ), + ( + "easypost_dpd_uk_parcel_dpd_classic", + "easypost_dpd_uk_parcel_dpd_classic", + ), + ( + "easypost_dpd_uk_parcel_dpd_two_day", + "easypost_dpd_uk_parcel_dpd_two_day", + ), + ( + "easypost_dpd_uk_parcel_dpd_next_day", + "easypost_dpd_uk_parcel_dpd_next_day", + ), + ("easypost_dpd_uk_parcel_dpd12", "easypost_dpd_uk_parcel_dpd12"), + ("easypost_dpd_uk_parcel_dpd10", "easypost_dpd_uk_parcel_dpd10"), + ( + "easypost_dpd_uk_parcel_return_to_shop", + "easypost_dpd_uk_parcel_return_to_shop", + ), + ( + "easypost_dpd_uk_parcel_saturday", + "easypost_dpd_uk_parcel_saturday", + ), + ( + "easypost_dpd_uk_parcel_saturday12", + "easypost_dpd_uk_parcel_saturday12", + ), + ( + "easypost_dpd_uk_parcel_saturday10", + "easypost_dpd_uk_parcel_saturday10", + ), + ( + "easypost_dpd_uk_parcel_sunday12", + "easypost_dpd_uk_parcel_sunday12", + ), + ( + "easypost_dpd_uk_freight_parcel_dpd_classic", + "easypost_dpd_uk_freight_parcel_dpd_classic", + ), + ( + "easypost_dpd_uk_freight_parcel_sunday12", + "easypost_dpd_uk_freight_parcel_sunday12", + ), + ( + "easypost_dpd_uk_expresspak_dpd_next_day", + "easypost_dpd_uk_expresspak_dpd_next_day", + ), + ( + "easypost_dpd_uk_expresspak_dpd12", + "easypost_dpd_uk_expresspak_dpd12", + ), + ( + "easypost_dpd_uk_expresspak_dpd10", + "easypost_dpd_uk_expresspak_dpd10", + ), + ( + "easypost_dpd_uk_expresspak_saturday", + "easypost_dpd_uk_expresspak_saturday", + ), + ( + "easypost_dpd_uk_expresspak_saturday12", + "easypost_dpd_uk_expresspak_saturday12", + ), + ( + "easypost_dpd_uk_expresspak_saturday10", + "easypost_dpd_uk_expresspak_saturday10", + ), + ( + "easypost_dpd_uk_expresspak_sunday12", + "easypost_dpd_uk_expresspak_sunday12", + ), + ( + "easypost_dpd_uk_pallet_sunday12", + "easypost_dpd_uk_pallet_sunday12", + ), + ( + "easypost_dpd_uk_pallet_dpd_two_day", + "easypost_dpd_uk_pallet_dpd_two_day", + ), + ( + "easypost_dpd_uk_pallet_dpd_next_day", + "easypost_dpd_uk_pallet_dpd_next_day", + ), + ("easypost_dpd_uk_pallet_dpd12", "easypost_dpd_uk_pallet_dpd12"), + ("easypost_dpd_uk_pallet_dpd10", "easypost_dpd_uk_pallet_dpd10"), + ( + "easypost_dpd_uk_pallet_saturday", + "easypost_dpd_uk_pallet_saturday", + ), + ( + "easypost_dpd_uk_pallet_saturday12", + "easypost_dpd_uk_pallet_saturday12", + ), + ( + "easypost_dpd_uk_pallet_saturday10", + "easypost_dpd_uk_pallet_saturday10", + ), + ( + "easypost_dpd_uk_freight_parcel_dpd_two_day", + "easypost_dpd_uk_freight_parcel_dpd_two_day", + ), + ( + "easypost_dpd_uk_freight_parcel_dpd_next_day", + "easypost_dpd_uk_freight_parcel_dpd_next_day", + ), + ( + "easypost_dpd_uk_freight_parcel_dpd12", + "easypost_dpd_uk_freight_parcel_dpd12", + ), + ( + "easypost_dpd_uk_freight_parcel_dpd10", + "easypost_dpd_uk_freight_parcel_dpd10", + ), + ( + "easypost_dpd_uk_freight_parcel_saturday", + "easypost_dpd_uk_freight_parcel_saturday", + ), + ( + "easypost_dpd_uk_freight_parcel_saturday12", + "easypost_dpd_uk_freight_parcel_saturday12", + ), + ( + "easypost_dpd_uk_freight_parcel_saturday10", + "easypost_dpd_uk_freight_parcel_saturday10", + ), + ( + "easypost_epost_courier_service_ddp", + "easypost_epost_courier_service_ddp", + ), + ( + "easypost_epost_courier_service_ddu", + "easypost_epost_courier_service_ddu", + ), + ( + "easypost_epost_domestic_economy_parcel", + "easypost_epost_domestic_economy_parcel", + ), + ( + "easypost_epost_domestic_parcel_bpm", + "easypost_epost_domestic_parcel_bpm", + ), + ( + "easypost_epost_domestic_priority_parcel", + "easypost_epost_domestic_priority_parcel", + ), + ( + "easypost_epost_domestic_priority_parcel_bpm", + "easypost_epost_domestic_priority_parcel_bpm", + ), + ("easypost_epost_emi_service", "easypost_epost_emi_service"), + ( + "easypost_epost_economy_parcel_service", + "easypost_epost_economy_parcel_service", + ), + ("easypost_epost_ipa_service", "easypost_epost_ipa_service"), + ("easypost_epost_isal_service", "easypost_epost_isal_service"), + ("easypost_epost_pmi_service", "easypost_epost_pmi_service"), + ( + "easypost_epost_priority_parcel_ddp", + "easypost_epost_priority_parcel_ddp", + ), + ( + "easypost_epost_priority_parcel_ddu", + "easypost_epost_priority_parcel_ddu", + ), + ( + "easypost_epost_priority_parcel_delivery_confirmation_ddp", + "easypost_epost_priority_parcel_delivery_confirmation_ddp", + ), + ( + "easypost_epost_priority_parcel_delivery_confirmation_ddu", + "easypost_epost_priority_parcel_delivery_confirmation_ddu", + ), + ( + "easypost_epost_epacket_service", + "easypost_epost_epacket_service", + ), + ( + "easypost_estafeta_next_day_by930", + "easypost_estafeta_next_day_by930", + ), + ( + "easypost_estafeta_next_day_by1130", + "easypost_estafeta_next_day_by1130", + ), + ("easypost_estafeta_next_day", "easypost_estafeta_next_day"), + ("easypost_estafeta_two_day", "easypost_estafeta_two_day"), + ("easypost_estafeta_ltl", "easypost_estafeta_ltl"), + ("easypost_fastway_parcel", "easypost_fastway_parcel"), + ("easypost_fastway_satchel", "easypost_fastway_satchel"), + ("easypost_fedex_ground", "easypost_fedex_ground"), + ("easypost_fedex_2_day", "easypost_fedex_2_day"), + ("easypost_fedex_2_day_am", "easypost_fedex_2_day_am"), + ("easypost_fedex_express_saver", "easypost_fedex_express_saver"), + ( + "easypost_fedex_standard_overnight", + "easypost_fedex_standard_overnight", + ), + ( + "easypost_fedex_first_overnight", + "easypost_fedex_first_overnight", + ), + ( + "easypost_fedex_priority_overnight", + "easypost_fedex_priority_overnight", + ), + ( + "easypost_fedex_international_economy", + "easypost_fedex_international_economy", + ), + ( + "easypost_fedex_international_first", + "easypost_fedex_international_first", + ), + ( + "easypost_fedex_international_priority", + "easypost_fedex_international_priority", + ), + ( + "easypost_fedex_ground_home_delivery", + "easypost_fedex_ground_home_delivery", + ), + ( + "easypost_fedex_crossborder_cbec", + "easypost_fedex_crossborder_cbec", + ), + ( + "easypost_fedex_crossborder_cbecl", + "easypost_fedex_crossborder_cbecl", + ), + ( + "easypost_fedex_crossborder_cbecp", + "easypost_fedex_crossborder_cbecp", + ), + ( + "easypost_fedex_sameday_city_economy_service", + "easypost_fedex_sameday_city_economy_service", + ), + ( + "easypost_fedex_sameday_city_standard_service", + "easypost_fedex_sameday_city_standard_service", + ), + ( + "easypost_fedex_sameday_city_priority_service", + "easypost_fedex_sameday_city_priority_service", + ), + ( + "easypost_fedex_sameday_city_last_mile", + "easypost_fedex_sameday_city_last_mile", + ), + ("easypost_fedex_smart_post", "easypost_fedex_smart_post"), + ("easypost_globegistics_pmei", "easypost_globegistics_pmei"), + ( + "easypost_globegistics_ecom_domestic", + "easypost_globegistics_ecom_domestic", + ), + ( + "easypost_globegistics_ecom_europe", + "easypost_globegistics_ecom_europe", + ), + ( + "easypost_globegistics_ecom_express", + "easypost_globegistics_ecom_express", + ), + ( + "easypost_globegistics_ecom_extra", + "easypost_globegistics_ecom_extra", + ), + ( + "easypost_globegistics_ecom_ipa", + "easypost_globegistics_ecom_ipa", + ), + ( + "easypost_globegistics_ecom_isal", + "easypost_globegistics_ecom_isal", + ), + ( + "easypost_globegistics_ecom_pmei_duty_paid", + "easypost_globegistics_ecom_pmei_duty_paid", + ), + ( + "easypost_globegistics_ecom_pmi_duty_paid", + "easypost_globegistics_ecom_pmi_duty_paid", + ), + ( + "easypost_globegistics_ecom_packet", + "easypost_globegistics_ecom_packet", + ), + ( + "easypost_globegistics_ecom_packet_ddp", + "easypost_globegistics_ecom_packet_ddp", + ), + ( + "easypost_globegistics_ecom_priority", + "easypost_globegistics_ecom_priority", + ), + ( + "easypost_globegistics_ecom_standard", + "easypost_globegistics_ecom_standard", + ), + ( + "easypost_globegistics_ecom_tracked_ddp", + "easypost_globegistics_ecom_tracked_ddp", + ), + ( + "easypost_globegistics_ecom_tracked_ddu", + "easypost_globegistics_ecom_tracked_ddu", + ), + ( + "easypost_gso_early_priority_overnight", + "easypost_gso_early_priority_overnight", + ), + ( + "easypost_gso_priority_overnight", + "easypost_gso_priority_overnight", + ), + ( + "easypost_gso_california_parcel_service", + "easypost_gso_california_parcel_service", + ), + ( + "easypost_gso_saturday_delivery_service", + "easypost_gso_saturday_delivery_service", + ), + ( + "easypost_gso_early_saturday_service", + "easypost_gso_early_saturday_service", + ), + ( + "easypost_hermes_domestic_delivery", + "easypost_hermes_domestic_delivery", + ), + ( + "easypost_hermes_domestic_delivery_signed", + "easypost_hermes_domestic_delivery_signed", + ), + ( + "easypost_hermes_international_delivery", + "easypost_hermes_international_delivery", + ), + ( + "easypost_hermes_international_delivery_signed", + "easypost_hermes_international_delivery_signed", + ), + ( + "easypost_interlink_air_classic_international_air", + "easypost_interlink_air_classic_international_air", + ), + ( + "easypost_interlink_air_express_international_air", + "easypost_interlink_air_express_international_air", + ), + ( + "easypost_interlink_expresspak1_by10_30", + "easypost_interlink_expresspak1_by10_30", + ), + ( + "easypost_interlink_expresspak1_by12", + "easypost_interlink_expresspak1_by12", + ), + ( + "easypost_interlink_expresspak1_next_day", + "easypost_interlink_expresspak1_next_day", + ), + ( + "easypost_interlink_expresspak1_saturday", + "easypost_interlink_expresspak1_saturday", + ), + ( + "easypost_interlink_expresspak1_saturday_by10_30", + "easypost_interlink_expresspak1_saturday_by10_30", + ), + ( + "easypost_interlink_expresspak1_saturday_by12", + "easypost_interlink_expresspak1_saturday_by12", + ), + ( + "easypost_interlink_expresspak1_sunday", + "easypost_interlink_expresspak1_sunday", + ), + ( + "easypost_interlink_expresspak1_sunday_by12", + "easypost_interlink_expresspak1_sunday_by12", + ), + ( + "easypost_interlink_expresspak5_by10", + "easypost_interlink_expresspak5_by10", + ), + ( + "easypost_interlink_expresspak5_by10_30", + "easypost_interlink_expresspak5_by10_30", + ), + ( + "easypost_interlink_expresspak5_by12", + "easypost_interlink_expresspak5_by12", + ), + ( + "easypost_interlink_expresspak5_next_day", + "easypost_interlink_expresspak5_next_day", + ), + ( + "easypost_interlink_expresspak5_saturday", + "easypost_interlink_expresspak5_saturday", + ), + ( + "easypost_interlink_expresspak5_saturday_by10", + "easypost_interlink_expresspak5_saturday_by10", + ), + ( + "easypost_interlink_expresspak5_saturday_by10_30", + "easypost_interlink_expresspak5_saturday_by10_30", + ), + ( + "easypost_interlink_expresspak5_saturday_by12", + "easypost_interlink_expresspak5_saturday_by12", + ), + ( + "easypost_interlink_expresspak5_sunday", + "easypost_interlink_expresspak5_sunday", + ), + ( + "easypost_interlink_expresspak5_sunday_by12", + "easypost_interlink_expresspak5_sunday_by12", + ), + ( + "easypost_interlink_freight_by10", + "easypost_interlink_freight_by10", + ), + ( + "easypost_interlink_freight_by12", + "easypost_interlink_freight_by12", + ), + ( + "easypost_interlink_freight_next_day", + "easypost_interlink_freight_next_day", + ), + ( + "easypost_interlink_freight_saturday", + "easypost_interlink_freight_saturday", + ), + ( + "easypost_interlink_freight_saturday_by10", + "easypost_interlink_freight_saturday_by10", + ), + ( + "easypost_interlink_freight_saturday_by12", + "easypost_interlink_freight_saturday_by12", + ), + ( + "easypost_interlink_freight_sunday", + "easypost_interlink_freight_sunday", + ), + ( + "easypost_interlink_freight_sunday_by12", + "easypost_interlink_freight_sunday_by12", + ), + ( + "easypost_interlink_parcel_by10", + "easypost_interlink_parcel_by10", + ), + ( + "easypost_interlink_parcel_by10_30", + "easypost_interlink_parcel_by10_30", + ), + ( + "easypost_interlink_parcel_by12", + "easypost_interlink_parcel_by12", + ), + ( + "easypost_interlink_parcel_dpd_europe_by_road", + "easypost_interlink_parcel_dpd_europe_by_road", + ), + ( + "easypost_interlink_parcel_next_day", + "easypost_interlink_parcel_next_day", + ), + ( + "easypost_interlink_parcel_return", + "easypost_interlink_parcel_return", + ), + ( + "easypost_interlink_parcel_return_to_shop", + "easypost_interlink_parcel_return_to_shop", + ), + ( + "easypost_interlink_parcel_saturday", + "easypost_interlink_parcel_saturday", + ), + ( + "easypost_interlink_parcel_saturday_by10", + "easypost_interlink_parcel_saturday_by10", + ), + ( + "easypost_interlink_parcel_saturday_by10_30", + "easypost_interlink_parcel_saturday_by10_30", + ), + ( + "easypost_interlink_parcel_saturday_by12", + "easypost_interlink_parcel_saturday_by12", + ), + ( + "easypost_interlink_parcel_ship_to_shop", + "easypost_interlink_parcel_ship_to_shop", + ), + ( + "easypost_interlink_parcel_sunday", + "easypost_interlink_parcel_sunday", + ), + ( + "easypost_interlink_parcel_sunday_by12", + "easypost_interlink_parcel_sunday_by12", + ), + ( + "easypost_interlink_parcel_two_day", + "easypost_interlink_parcel_two_day", + ), + ( + "easypost_interlink_pickup_parcel_dpd_europe_by_road", + "easypost_interlink_pickup_parcel_dpd_europe_by_road", + ), + ("easypost_lasership_weekend", "easypost_lasership_weekend"), + ("easypost_loomis_ground", "easypost_loomis_ground"), + ("easypost_loomis_express1800", "easypost_loomis_express1800"), + ("easypost_loomis_express1200", "easypost_loomis_express1200"), + ("easypost_loomis_express900", "easypost_loomis_express900"), + ("easypost_lso_ground_early", "easypost_lso_ground_early"), + ("easypost_lso_ground_basic", "easypost_lso_ground_basic"), + ("easypost_lso_priority_basic", "easypost_lso_priority_basic"), + ("easypost_lso_priority_early", "easypost_lso_priority_early"), + ( + "easypost_lso_priority_saturday", + "easypost_lso_priority_saturday", + ), + ("easypost_lso_priority2nd_day", "easypost_lso_priority2nd_day"), + ( + "easypost_newgistics_parcel_select", + "easypost_newgistics_parcel_select", + ), + ( + "easypost_newgistics_parcel_select_lightweight", + "easypost_newgistics_parcel_select_lightweight", + ), + ("easypost_newgistics_express", "easypost_newgistics_express"), + ( + "easypost_newgistics_first_class_mail", + "easypost_newgistics_first_class_mail", + ), + ( + "easypost_newgistics_priority_mail", + "easypost_newgistics_priority_mail", + ), + ( + "easypost_newgistics_bound_printed_matter", + "easypost_newgistics_bound_printed_matter", + ), + ("easypost_ontrac_sunrise", "easypost_ontrac_sunrise"), + ("easypost_ontrac_gold", "easypost_ontrac_gold"), + ( + "easypost_ontrac_on_trac_ground", + "easypost_ontrac_on_trac_ground", + ), + ( + "easypost_ontrac_palletized_freight", + "easypost_ontrac_palletized_freight", + ), + ("easypost_osm_first", "easypost_osm_first"), + ("easypost_osm_expedited", "easypost_osm_expedited"), + ("easypost_osm_bpm", "easypost_osm_bpm"), + ("easypost_osm_media_mail", "easypost_osm_media_mail"), + ("easypost_osm_marketing_parcel", "easypost_osm_marketing_parcel"), + ( + "easypost_osm_marketing_parcel_tracked", + "easypost_osm_marketing_parcel_tracked", + ), + ("easypost_parcll_economy_west", "easypost_parcll_economy_west"), + ("easypost_parcll_economy_east", "easypost_parcll_economy_east"), + ( + "easypost_parcll_economy_central", + "easypost_parcll_economy_central", + ), + ( + "easypost_parcll_economy_northeast", + "easypost_parcll_economy_northeast", + ), + ("easypost_parcll_economy_south", "easypost_parcll_economy_south"), + ( + "easypost_parcll_expedited_west", + "easypost_parcll_expedited_west", + ), + ( + "easypost_parcll_expedited_northeast", + "easypost_parcll_expedited_northeast", + ), + ("easypost_parcll_regional_west", "easypost_parcll_regional_west"), + ("easypost_parcll_regional_east", "easypost_parcll_regional_east"), + ( + "easypost_parcll_regional_central", + "easypost_parcll_regional_central", + ), + ( + "easypost_parcll_regional_northeast", + "easypost_parcll_regional_northeast", + ), + ( + "easypost_parcll_regional_south", + "easypost_parcll_regional_south", + ), + ( + "easypost_parcll_us_to_canada_economy_west", + "easypost_parcll_us_to_canada_economy_west", + ), + ( + "easypost_parcll_us_to_canada_economy_central", + "easypost_parcll_us_to_canada_economy_central", + ), + ( + "easypost_parcll_us_to_canada_economy_northeast", + "easypost_parcll_us_to_canada_economy_northeast", + ), + ( + "easypost_parcll_us_to_europe_economy_west", + "easypost_parcll_us_to_europe_economy_west", + ), + ( + "easypost_parcll_us_to_europe_economy_northeast", + "easypost_parcll_us_to_europe_economy_northeast", + ), + ("easypost_purolator_express", "easypost_purolator_express"), + ( + "easypost_purolator_express12_pm", + "easypost_purolator_express12_pm", + ), + ( + "easypost_purolator_express_pack12_pm", + "easypost_purolator_express_pack12_pm", + ), + ( + "easypost_purolator_express_box12_pm", + "easypost_purolator_express_box12_pm", + ), + ( + "easypost_purolator_express_envelope12_pm", + "easypost_purolator_express_envelope12_pm", + ), + ( + "easypost_purolator_express1030_am", + "easypost_purolator_express1030_am", + ), + ( + "easypost_purolator_express9_am", + "easypost_purolator_express9_am", + ), + ( + "easypost_purolator_express_box", + "easypost_purolator_express_box", + ), + ( + "easypost_purolator_express_box1030_am", + "easypost_purolator_express_box1030_am", + ), + ( + "easypost_purolator_express_box9_am", + "easypost_purolator_express_box9_am", + ), + ( + "easypost_purolator_express_box_evening", + "easypost_purolator_express_box_evening", + ), + ( + "easypost_purolator_express_box_international", + "easypost_purolator_express_box_international", + ), + ( + "easypost_purolator_express_box_international1030_am", + "easypost_purolator_express_box_international1030_am", + ), + ( + "easypost_purolator_express_box_international1200", + "easypost_purolator_express_box_international1200", + ), + ( + "easypost_purolator_express_box_international9_am", + "easypost_purolator_express_box_international9_am", + ), + ( + "easypost_purolator_express_box_us", + "easypost_purolator_express_box_us", + ), + ( + "easypost_purolator_express_box_us1030_am", + "easypost_purolator_express_box_us1030_am", + ), + ( + "easypost_purolator_express_box_us1200", + "easypost_purolator_express_box_us1200", + ), + ( + "easypost_purolator_express_box_us9_am", + "easypost_purolator_express_box_us9_am", + ), + ( + "easypost_purolator_express_envelope", + "easypost_purolator_express_envelope", + ), + ( + "easypost_purolator_express_envelope1030_am", + "easypost_purolator_express_envelope1030_am", + ), + ( + "easypost_purolator_express_envelope9_am", + "easypost_purolator_express_envelope9_am", + ), + ( + "easypost_purolator_express_envelope_evening", + "easypost_purolator_express_envelope_evening", + ), + ( + "easypost_purolator_express_envelope_international", + "easypost_purolator_express_envelope_international", + ), + ( + "easypost_purolator_express_envelope_international1030_am", + "easypost_purolator_express_envelope_international1030_am", + ), + ( + "easypost_purolator_express_envelope_international1200", + "easypost_purolator_express_envelope_international1200", + ), + ( + "easypost_purolator_express_envelope_international9_am", + "easypost_purolator_express_envelope_international9_am", + ), + ( + "easypost_purolator_express_envelope_us", + "easypost_purolator_express_envelope_us", + ), + ( + "easypost_purolator_express_envelope_us1030_am", + "easypost_purolator_express_envelope_us1030_am", + ), + ( + "easypost_purolator_express_envelope_us1200", + "easypost_purolator_express_envelope_us1200", + ), + ( + "easypost_purolator_express_envelope_us9_am", + "easypost_purolator_express_envelope_us9_am", + ), + ( + "easypost_purolator_express_evening", + "easypost_purolator_express_evening", + ), + ( + "easypost_purolator_express_international", + "easypost_purolator_express_international", + ), + ( + "easypost_purolator_express_international1030_am", + "easypost_purolator_express_international1030_am", + ), + ( + "easypost_purolator_express_international1200", + "easypost_purolator_express_international1200", + ), + ( + "easypost_purolator_express_international9_am", + "easypost_purolator_express_international9_am", + ), + ( + "easypost_purolator_express_pack", + "easypost_purolator_express_pack", + ), + ( + "easypost_purolator_express_pack1030_am", + "easypost_purolator_express_pack1030_am", + ), + ( + "easypost_purolator_express_pack9_am", + "easypost_purolator_express_pack9_am", + ), + ( + "easypost_purolator_express_pack_evening", + "easypost_purolator_express_pack_evening", + ), + ( + "easypost_purolator_express_pack_international", + "easypost_purolator_express_pack_international", + ), + ( + "easypost_purolator_express_pack_international1030_am", + "easypost_purolator_express_pack_international1030_am", + ), + ( + "easypost_purolator_express_pack_international1200", + "easypost_purolator_express_pack_international1200", + ), + ( + "easypost_purolator_express_pack_international9_am", + "easypost_purolator_express_pack_international9_am", + ), + ( + "easypost_purolator_express_pack_us", + "easypost_purolator_express_pack_us", + ), + ( + "easypost_purolator_express_pack_us1030_am", + "easypost_purolator_express_pack_us1030_am", + ), + ( + "easypost_purolator_express_pack_us1200", + "easypost_purolator_express_pack_us1200", + ), + ( + "easypost_purolator_express_pack_us9_am", + "easypost_purolator_express_pack_us9_am", + ), + ("easypost_purolator_express_us", "easypost_purolator_express_us"), + ( + "easypost_purolator_express_us1030_am", + "easypost_purolator_express_us1030_am", + ), + ( + "easypost_purolator_express_us1200", + "easypost_purolator_express_us1200", + ), + ( + "easypost_purolator_express_us9_am", + "easypost_purolator_express_us9_am", + ), + ("easypost_purolator_ground", "easypost_purolator_ground"), + ( + "easypost_purolator_ground1030_am", + "easypost_purolator_ground1030_am", + ), + ("easypost_purolator_ground9_am", "easypost_purolator_ground9_am"), + ( + "easypost_purolator_ground_distribution", + "easypost_purolator_ground_distribution", + ), + ( + "easypost_purolator_ground_evening", + "easypost_purolator_ground_evening", + ), + ( + "easypost_purolator_ground_regional", + "easypost_purolator_ground_regional", + ), + ("easypost_purolator_ground_us", "easypost_purolator_ground_us"), + ( + "easypost_royalmail_international_signed", + "easypost_royalmail_international_signed", + ), + ( + "easypost_royalmail_international_tracked", + "easypost_royalmail_international_tracked", + ), + ( + "easypost_royalmail_international_tracked_and_signed", + "easypost_royalmail_international_tracked_and_signed", + ), + ("easypost_royalmail_1st_class", "easypost_royalmail_1st_class"), + ( + "easypost_royalmail_1st_class_signed_for", + "easypost_royalmail_1st_class_signed_for", + ), + ("easypost_royalmail_2nd_class", "easypost_royalmail_2nd_class"), + ( + "easypost_royalmail_2nd_class_signed_for", + "easypost_royalmail_2nd_class_signed_for", + ), + ( + "easypost_royalmail_royal_mail24", + "easypost_royalmail_royal_mail24", + ), + ( + "easypost_royalmail_royal_mail24_signed_for", + "easypost_royalmail_royal_mail24_signed_for", + ), + ( + "easypost_royalmail_royal_mail48", + "easypost_royalmail_royal_mail48", + ), + ( + "easypost_royalmail_royal_mail48_signed_for", + "easypost_royalmail_royal_mail48_signed_for", + ), + ( + "easypost_royalmail_special_delivery_guaranteed1pm", + "easypost_royalmail_special_delivery_guaranteed1pm", + ), + ( + "easypost_royalmail_special_delivery_guaranteed9am", + "easypost_royalmail_special_delivery_guaranteed9am", + ), + ( + "easypost_royalmail_standard_letter1st_class", + "easypost_royalmail_standard_letter1st_class", + ), + ( + "easypost_royalmail_standard_letter1st_class_signed_for", + "easypost_royalmail_standard_letter1st_class_signed_for", + ), + ( + "easypost_royalmail_standard_letter2nd_class", + "easypost_royalmail_standard_letter2nd_class", + ), + ( + "easypost_royalmail_standard_letter2nd_class_signed_for", + "easypost_royalmail_standard_letter2nd_class_signed_for", + ), + ("easypost_royalmail_tracked24", "easypost_royalmail_tracked24"), + ( + "easypost_royalmail_tracked24_high_volume", + "easypost_royalmail_tracked24_high_volume", + ), + ( + "easypost_royalmail_tracked24_high_volume_signature", + "easypost_royalmail_tracked24_high_volume_signature", + ), + ( + "easypost_royalmail_tracked24_signature", + "easypost_royalmail_tracked24_signature", + ), + ("easypost_royalmail_tracked48", "easypost_royalmail_tracked48"), + ( + "easypost_royalmail_tracked48_high_volume", + "easypost_royalmail_tracked48_high_volume", + ), + ( + "easypost_royalmail_tracked48_high_volume_signature", + "easypost_royalmail_tracked48_high_volume_signature", + ), + ( + "easypost_royalmail_tracked48_signature", + "easypost_royalmail_tracked48_signature", + ), + ( + "easypost_seko_ecommerce_standard_tracked", + "easypost_seko_ecommerce_standard_tracked", + ), + ( + "easypost_seko_ecommerce_express_tracked", + "easypost_seko_ecommerce_express_tracked", + ), + ( + "easypost_seko_domestic_express", + "easypost_seko_domestic_express", + ), + ( + "easypost_seko_domestic_standard", + "easypost_seko_domestic_standard", + ), + ("easypost_sendle_easy", "easypost_sendle_easy"), + ("easypost_sendle_pro", "easypost_sendle_pro"), + ("easypost_sendle_plus", "easypost_sendle_plus"), + ( + "easypost_sfexpress_international_standard_express_doc", + "easypost_sfexpress_international_standard_express_doc", + ), + ( + "easypost_sfexpress_international_standard_express_parcel", + "easypost_sfexpress_international_standard_express_parcel", + ), + ( + "easypost_sfexpress_international_economy_express_pilot", + "easypost_sfexpress_international_economy_express_pilot", + ), + ( + "easypost_sfexpress_international_economy_express_doc", + "easypost_sfexpress_international_economy_express_doc", + ), + ("easypost_speedee_delivery", "easypost_speedee_delivery"), + ("easypost_startrack_express", "easypost_startrack_express"), + ("easypost_startrack_premium", "easypost_startrack_premium"), + ( + "easypost_startrack_fixed_price_premium", + "easypost_startrack_fixed_price_premium", + ), + ( + "easypost_tforce_same_day_white_glove", + "easypost_tforce_same_day_white_glove", + ), + ( + "easypost_tforce_next_day_white_glove", + "easypost_tforce_next_day_white_glove", + ), + ("easypost_uds_delivery_service", "easypost_uds_delivery_service"), + ("easypost_ups_standard", "easypost_ups_standard"), + ("easypost_ups_saver", "easypost_ups_saver"), + ("easypost_ups_express_plus", "easypost_ups_express_plus"), + ("easypost_ups_next_day_air", "easypost_ups_next_day_air"), + ( + "easypost_ups_next_day_air_saver", + "easypost_ups_next_day_air_saver", + ), + ( + "easypost_ups_next_day_air_early_am", + "easypost_ups_next_day_air_early_am", + ), + ("easypost_ups_2nd_day_air", "easypost_ups_2nd_day_air"), + ("easypost_ups_2nd_day_air_am", "easypost_ups_2nd_day_air_am"), + ("easypost_ups_3_day_select", "easypost_ups_3_day_select"), + ( + "easypost_ups_mail_expedited_mail_innovations", + "easypost_ups_mail_expedited_mail_innovations", + ), + ( + "easypost_ups_mail_priority_mail_innovations", + "easypost_ups_mail_priority_mail_innovations", + ), + ( + "easypost_ups_mail_economy_mail_innovations", + "easypost_ups_mail_economy_mail_innovations", + ), + ("easypost_usps_library_mail", "easypost_usps_library_mail"), + ( + "easypost_usps_first_class_mail_international", + "easypost_usps_first_class_mail_international", + ), + ( + "easypost_usps_first_class_package_international_service", + "easypost_usps_first_class_package_international_service", + ), + ( + "easypost_usps_priority_mail_international", + "easypost_usps_priority_mail_international", + ), + ( + "easypost_usps_express_mail_international", + "easypost_usps_express_mail_international", + ), + ("easypost_veho_next_day", "easypost_veho_next_day"), + ("easypost_veho_same_day", "easypost_veho_same_day"), + ("easyship_aramex_parcel", "easyship_aramex_parcel"), + ("easyship_sfexpress_domestic", "easyship_sfexpress_domestic"), + ("easyship_hkpost_speedpost", "easyship_hkpost_speedpost"), + ( + "easyship_hkpost_air_mail_tracking", + "easyship_hkpost_air_mail_tracking", + ), + ("easyship_hkpost_eexpress", "easyship_hkpost_eexpress"), + ("easyship_hkpost_air_parcel", "easyship_hkpost_air_parcel"), + ("easyship_sfexpress_mail", "easyship_sfexpress_mail"), + ("easyship_hkpost_local_parcel", "easyship_hkpost_local_parcel"), + ( + "easyship_ups_saver_net_battery", + "easyship_ups_saver_net_battery", + ), + ("easyship_ups_worldwide_saver", "easyship_ups_worldwide_saver"), + ("easyship_hkpost_air_parcel_xp", "easyship_hkpost_air_parcel_xp"), + ("easyship_singpost_airmail", "easyship_singpost_airmail"), + ("easyship_simplypost_express", "easyship_simplypost_express"), + ("easyship_singpost_e_pack", "easyship_singpost_e_pack"), + ( + "easyship_usps_priority_mail_express", + "easyship_usps_priority_mail_express", + ), + ( + "easyship_usps_first_class_international", + "easyship_usps_first_class_international", + ), + ( + "easyship_usps_priority_mail_international_express", + "easyship_usps_priority_mail_international_express", + ), + ( + "easyship_usps_priority_mail_international", + "easyship_usps_priority_mail_international", + ), + ( + "easyship_fedex_international_priority", + "easyship_fedex_international_priority", + ), + ( + "easyship_usps_ground_advantage", + "easyship_usps_ground_advantage", + ), + ("easyship_usps_priority_mail", "easyship_usps_priority_mail"), + ( + "easyship_ups_worldwide_express", + "easyship_ups_worldwide_express", + ), + ("easyship_ups_ground", "easyship_ups_ground"), + ( + "easyship_ups_worldwide_expedited", + "easyship_ups_worldwide_expedited", + ), + ( + "easyship_fedex_international_economy", + "easyship_fedex_international_economy", + ), + ( + "easyship_fedex_priority_overnight", + "easyship_fedex_priority_overnight", + ), + ( + "easyship_fedex_standard_overnight", + "easyship_fedex_standard_overnight", + ), + ("easyship_fedex_2_day_a_m", "easyship_fedex_2_day_a_m"), + ("easyship_fedex_2_day", "easyship_fedex_2_day"), + ("easyship_fedex_express_saver", "easyship_fedex_express_saver"), + ("easyship_ups_next_day_air", "easyship_ups_next_day_air"), + ("easyship_ups_2nd_day_air", "easyship_ups_2nd_day_air"), + ("easyship_ups_3_day_select", "easyship_ups_3_day_select"), + ("easyship_ups_standard", "easyship_ups_standard"), + ("easyship_usps_media", "easyship_usps_media"), + ( + "easyship_sfexpress_standard_express", + "easyship_sfexpress_standard_express", + ), + ( + "easyship_sfexpress_economy_express", + "easyship_sfexpress_economy_express", + ), + ( + "easyship_global post_global_post_economy", + "easyship_global post_global_post_economy", + ), + ( + "easyship_global post_global_post_priority", + "easyship_global post_global_post_priority", + ), + ( + "easyship_singpost_speed_post_priority", + "easyship_singpost_speed_post_priority", + ), + ( + "easyship_skypostal_standard_private_delivery", + "easyship_skypostal_standard_private_delivery", + ), + ("easyship_tnt_1000_express", "easyship_tnt_1000_express"), + ("easyship_toll_express_parcel", "easyship_toll_express_parcel"), + ( + "easyship_sendle_premium_international", + "easyship_sendle_premium_international", + ), + ( + "easyship_sendle_premium_domestic", + "easyship_sendle_premium_domestic", + ), + ("easyship_sendle_pro_domestic", "easyship_sendle_pro_domestic"), + ("easyship_quantium_e_pac", "easyship_quantium_e_pac"), + ("easyship_usps_pm_flat_rate", "easyship_usps_pm_flat_rate"), + ("easyship_usps_pmi_flat_rate", "easyship_usps_pmi_flat_rate"), + ("easyship_quantium_mail", "easyship_quantium_mail"), + ( + "easyship_quantium_international_mail", + "easyship_quantium_international_mail", + ), + ( + "easyship_apc_parcel_connect_expedited", + "easyship_apc_parcel_connect_expedited", + ), + ("easyship_aramex_epx", "easyship_aramex_epx"), + ("easyship_tnt_road_express", "easyship_tnt_road_express"), + ("easyship_tnt_overnight", "easyship_tnt_overnight"), + ("easyship_usps_pme_flat_rate", "easyship_usps_pme_flat_rate"), + ("easyship_usps_pmei_flat_rate", "easyship_usps_pmei_flat_rate"), + ("easyship_easyship_cdek_russia", "easyship_easyship_cdek_russia"), + ( + "easyship_usps_pmei_flat_rate_padded_envelope", + "easyship_usps_pmei_flat_rate_padded_envelope", + ), + ( + "easyship_easyship_mate_bike_shipping_services", + "easyship_easyship_mate_bike_shipping_services", + ), + ("easyship_dhl_documents", "easyship_dhl_documents"), + ( + "easyship_evri_uk_home_delivery", + "easyship_evri_uk_home_delivery", + ), + ("easyship_evri_home_delivery", "easyship_evri_home_delivery"), + ("easyship_dpd_next_day", "easyship_dpd_next_day"), + ("easyship_dpd_classic_parcel", "easyship_dpd_classic_parcel"), + ( + "easyship_dpd_classic_expresspak", + "easyship_dpd_classic_expresspak", + ), + ("easyship_dpd_air_classic", "easyship_dpd_air_classic"), + ( + "easyship_singpost_speed_post_express", + "easyship_singpost_speed_post_express", + ), + ("easyship_ups_expedited", "easyship_ups_expedited"), + ("easyship_tnt_0900_express", "easyship_tnt_0900_express"), + ("easyship_tnt_1200_express", "easyship_tnt_1200_express"), + ( + "easyship_canada post_domestic_regular_parcel", + "easyship_canada post_domestic_regular_parcel", + ), + ( + "easyship_canada post_domestic_expedited_parcel", + "easyship_canada post_domestic_expedited_parcel", + ), + ( + "easyship_canada post_domestic_xpresspost_domestic", + "easyship_canada post_domestic_xpresspost_domestic", + ), + ( + "easyship_canada post_domestic_priority", + "easyship_canada post_domestic_priority", + ), + ( + "easyship_canada post_usa_small_packet_air", + "easyship_canada post_usa_small_packet_air", + ), + ( + "easyship_canada post_usa_expedited_parcel", + "easyship_canada post_usa_expedited_parcel", + ), + ( + "easyship_canada post_usa_tracked_parcel", + "easyship_canada post_usa_tracked_parcel", + ), + ( + "easyship_canada post_usa_xpresspost", + "easyship_canada post_usa_xpresspost", + ), + ( + "easyship_canada post_international_xpresspost", + "easyship_canada post_international_xpresspost", + ), + ( + "easyship_canada post_international_small_packet_air", + "easyship_canada post_international_small_packet_air", + ), + ( + "easyship_canada post_international_tracked_packet", + "easyship_canada post_international_tracked_packet", + ), + ( + "easyship_canada post_international_small_packet_surface", + "easyship_canada post_international_small_packet_surface", + ), + ( + "easyship_canada post_international_parcel_surface", + "easyship_canada post_international_parcel_surface", + ), + ( + "easyship_canada post_international_parcel_air", + "easyship_canada post_international_parcel_air", + ), + ("easyship_couriersplease_atl", "easyship_couriersplease_atl"), + ( + "easyship_couriersplease_signature", + "easyship_couriersplease_signature", + ), + ("easyship_canpar_international", "easyship_canpar_international"), + ("easyship_canpar_usa", "easyship_canpar_usa"), + ("easyship_canpar_select_usa", "easyship_canpar_select_usa"), + ("easyship_canpar_usa_pak", "easyship_canpar_usa_pak"), + ("easyship_canpar_overnight_pak", "easyship_canpar_overnight_pak"), + ("easyship_canpar_select_pak", "easyship_canpar_select_pak"), + ("easyship_canpar_select", "easyship_canpar_select"), + ("easyship_ups_express_saver", "easyship_ups_express_saver"), + ( + "easyship_ebay send_sf_express_economy_express", + "easyship_ebay send_sf_express_economy_express", + ), + ( + "easyship_ups_worldwide_express_plus", + "easyship_ups_worldwide_express_plus", + ), + ( + "easyship_quantium_intl_priority", + "easyship_quantium_intl_priority", + ), + ( + "easyship_ups_next_day_air_early", + "easyship_ups_next_day_air_early", + ), + ( + "easyship_ups_next_day_air_saver", + "easyship_ups_next_day_air_saver", + ), + ("easyship_ups_2nd_day_air_a_m", "easyship_ups_2nd_day_air_a_m"), + ("easyship_fedex_home_delivery", "easyship_fedex_home_delivery"), + ( + "easyship_asendia_country_tracked", + "easyship_asendia_country_tracked", + ), + ( + "easyship_asendia_fully_tracked", + "easyship_asendia_fully_tracked", + ), + ("easyship_dhl_express_dg", "easyship_dhl_express_dg"), + ( + "easyship_fedex_international_priority_dg", + "easyship_fedex_international_priority_dg", + ), + ("easyship_colissimo_expert", "easyship_colissimo_expert"), + ("easyship_colissimo_access", "easyship_colissimo_access"), + ( + "easyship_mondialrelay_international_home_delivery", + "easyship_mondialrelay_international_home_delivery", + ), + ("easyship_fedex_economy", "easyship_fedex_economy"), + ("easyship_dhl_express1200", "easyship_dhl_express1200"), + ("easyship_dhl_express0900", "easyship_dhl_express0900"), + ("easyship_dhl_express1800", "easyship_dhl_express1800"), + ( + "easyship_dhl_express_worldwide", + "easyship_dhl_express_worldwide", + ), + ("easyship_dhl_economy_select", "easyship_dhl_economy_select"), + ( + "easyship_dhl_express1030_international", + "easyship_dhl_express1030_international", + ), + ( + "easyship_dhl_domestic_express0900", + "easyship_dhl_domestic_express0900", + ), + ( + "easyship_dhl_domestic_express1200", + "easyship_dhl_domestic_express1200", + ), + ("easyship_evri_lightand_large", "easyship_evri_lightand_large"), + ( + "easyship_ninjavan_standard_deliveries", + "easyship_ninjavan_standard_deliveries", + ), + ( + "easyship_couriersplease_parcel_tier2", + "easyship_couriersplease_parcel_tier2", + ), + ( + "easyship_skypostal_postal_packet_standard", + "easyship_skypostal_postal_packet_standard", + ), + ("easyship_easyshipdemo_basic", "easyship_easyshipdemo_basic"), + ("easyship_easyshipdemo_tracked", "easyship_easyshipdemo_tracked"), + ("easyship_easyshipdemo_battery", "easyship_easyshipdemo_battery"), + ("easyship_dhl_domestic_express", "easyship_dhl_domestic_express"), + ("easyship_fedex_smart_post", "easyship_fedex_smart_post"), + ( + "easyship_fedex_international_connect_plus", + "easyship_fedex_international_connect_plus", + ), + ("easyship_ups_saver_net", "easyship_ups_saver_net"), + ( + "easyship_chronopost_chrono_classic", + "easyship_chronopost_chrono_classic", + ), + ( + "easyship_chronopost_chrono_express", + "easyship_chronopost_chrono_express", + ), + ("easyship_chronopost_chrono10", "easyship_chronopost_chrono10"), + ("easyship_chronopost_chrono13", "easyship_chronopost_chrono13"), + ("easyship_chronopost_chrono18", "easyship_chronopost_chrono18"), + ( + "easyship_omniparcel_parcel_expedited", + "easyship_omniparcel_parcel_expedited", + ), + ( + "easyship_omniparcel_parcel_expedited_plus", + "easyship_omniparcel_parcel_expedited_plus", + ), + ( + "easyship_evri_home_delivery_domestic", + "easyship_evri_home_delivery_domestic", + ), + ( + "easyship_evri_home_domestic_postable", + "easyship_evri_home_domestic_postable", + ), + ( + "easyship_skypostal_packet_express", + "easyship_skypostal_packet_express", + ), + ( + "easyship_parcelforce_express48_large", + "easyship_parcelforce_express48_large", + ), + ( + "easyship_parcelforce_express24", + "easyship_parcelforce_express24", + ), + ( + "easyship_parcelforce_express1000", + "easyship_parcelforce_express1000", + ), + ( + "easyship_parcelforce_express_am", + "easyship_parcelforce_express_am", + ), + ( + "easyship_parcelforce_express48", + "easyship_parcelforce_express48", + ), + ( + "easyship_parcelforce_euro_economy", + "easyship_parcelforce_euro_economy", + ), + ( + "easyship_parcelforce_global_priority", + "easyship_parcelforce_global_priority", + ), + ( + "easyship_fedex cross border_trakpak_worldwide_hermes", + "easyship_fedex cross border_trakpak_worldwide_hermes", + ), + ( + "easyship_fedex cross border_trakpak_worldwide", + "easyship_fedex cross border_trakpak_worldwide", + ), + ( + "easyship_evri_home_domestic_postable_next_day", + "easyship_evri_home_domestic_postable_next_day", + ), + ( + "easyship_dpd_express_pak_next_day", + "easyship_dpd_express_pak_next_day", + ), + ( + "easyship_dpd_classic_express_pak", + "easyship_dpd_classic_express_pak", + ), + ("easyship_evri_light_and_large", "easyship_evri_light_and_large"), + ( + "easyship_evri_home_delivery_domestic_next_day", + "easyship_evri_home_delivery_domestic_next_day", + ), + ( + "easyship_evri_home_delivery_eu", + "easyship_evri_home_delivery_eu", + ), + ("easyship_asendia_epaq_plus", "easyship_asendia_epaq_plus"), + ("easyship_asendia_epaq_select", "easyship_asendia_epaq_select"), + ( + "easyship_usps_lightweight_standard", + "easyship_usps_lightweight_standard", + ), + ( + "easyship_usps_lightweight_economy", + "easyship_usps_lightweight_economy", + ), + ( + "easyship_ups_domestic_express_saver", + "easyship_ups_domestic_express_saver", + ), + ("easyship_apg_e_packet", "easyship_apg_e_packet"), + ("easyship_apg_e_packet_plus", "easyship_apg_e_packet_plus"), + ( + "easyship_couriersplease_ecom_base_kilo", + "easyship_couriersplease_ecom_base_kilo", + ), + ( + "easyship_couriersplease_stdatlbase_kilo", + "easyship_couriersplease_stdatlbase_kilo", + ), + ( + "easyship_nz post_international_courier", + "easyship_nz post_international_courier", + ), + ( + "easyship_nz post_air_small_parcel", + "easyship_nz post_air_small_parcel", + ), + ( + "easyship_nz post_tracked_air_satchel", + "easyship_nz post_tracked_air_satchel", + ), + ( + "easyship_nz post_economy_parcel", + "easyship_nz post_economy_parcel", + ), + ("easyship_nz post_parcel_local", "easyship_nz post_parcel_local"), + ("easyship_dhl_express_domestic", "easyship_dhl_express_domestic"), + ( + "easyship_alliedexpress_roadexpress", + "easyship_alliedexpress_roadexpress", + ), + ( + "easyship_flatexportrate_asendiae_paqselect", + "easyship_flatexportrate_asendiae_paqselect", + ), + ( + "easyship_flatexportrate_asendia_country_tracked", + "easyship_flatexportrate_asendia_country_tracked", + ), + ("easyship_singpost_nsaver", "easyship_singpost_nsaver"), + ("easyship_colisprive_home", "easyship_colisprive_home"), + ("easyship_osm_domestic_parcel", "easyship_osm_domestic_parcel"), + ( + "easyship_malca amit_door_to_door", + "easyship_malca amit_door_to_door", + ), + ( + "easyship_ninjavan_next_day_deliveries", + "easyship_ninjavan_next_day_deliveries", + ), + ("easyship_asendia_e_paqselect", "easyship_asendia_e_paqselect"), + ("easyship_dpd_classic", "easyship_dpd_classic"), + ( + "easyship_usps_priority_mail_signature", + "easyship_usps_priority_mail_signature", + ), + ( + "easyship_bringer_packet_standard", + "easyship_bringer_packet_standard", + ), + ("easyship_bringer_prime", "easyship_bringer_prime"), + ( + "easyship_orangeds_expedited_ddp", + "easyship_orangeds_expedited_ddp", + ), + ( + "easyship_orangeds_expedited_ddu", + "easyship_orangeds_expedited_ddu", + ), + ("easyship_sendle_preferred", "easyship_sendle_preferred"), + ("easyship_ups_ground_saver", "easyship_ups_ground_saver"), + ( + "easyship_ups_upsground_saver_us", + "easyship_ups_upsground_saver_us", + ), + ( + "easyship_passport_priority_delcon_dduewr", + "easyship_passport_priority_delcon_dduewr", + ), + ( + "easyship_passport_priority_delcon_ddpewr", + "easyship_passport_priority_delcon_ddpewr", + ), + ( + "easyship_bringer_tracked_parcel", + "easyship_bringer_tracked_parcel", + ), + ("easyship_ups_express_early", "easyship_ups_express_early"), + ( + "easyship_ups_wolrdwide_express", + "easyship_ups_wolrdwide_express", + ), + ( + "eshipper_aramex_economy_document_express", + "eshipper_aramex_economy_document_express", + ), + ( + "eshipper_aramex_economy_parcel_express", + "eshipper_aramex_economy_parcel_express", + ), + ( + "eshipper_aramex_priority_letter_express", + "eshipper_aramex_priority_letter_express", + ), + ( + "eshipper_aramex_priority_parcel_express", + "eshipper_aramex_priority_parcel_express", + ), + ( + "eshipper_canada_post_air_parcel_intl", + "eshipper_canada_post_air_parcel_intl", + ), + ( + "eshipper_canada_post_expedited", + "eshipper_canada_post_expedited", + ), + ( + "eshipper_canada_post_expedited_parcel_usa", + "eshipper_canada_post_expedited_parcel_usa", + ), + ( + "eshipper_canada_post_priority_courier", + "eshipper_canada_post_priority_courier", + ), + ("eshipper_canada_post_regular", "eshipper_canada_post_regular"), + ( + "eshipper_canada_post_small_packet", + "eshipper_canada_post_small_packet", + ), + ( + "eshipper_canada_post_small_packet_international_air", + "eshipper_canada_post_small_packet_international_air", + ), + ( + "eshipper_canada_post_small_packet_international_surface", + "eshipper_canada_post_small_packet_international_surface", + ), + ( + "eshipper_canada_post_surface_parcel_intl", + "eshipper_canada_post_surface_parcel_intl", + ), + ( + "eshipper_canada_post_xpress_post", + "eshipper_canada_post_xpress_post", + ), + ( + "eshipper_canada_post_xpress_post_intl", + "eshipper_canada_post_xpress_post_intl", + ), + ( + "eshipper_canada_post_xpress_post_usa", + "eshipper_canada_post_xpress_post_usa", + ), + ( + "eshipper_canada_post_xpresspost", + "eshipper_canada_post_xpresspost", + ), + ( + "eshipper_canpar_express_letter", + "eshipper_canpar_express_letter", + ), + ("eshipper_canpar_express_pak", "eshipper_canpar_express_pak"), + ( + "eshipper_canpar_express_parcel", + "eshipper_canpar_express_parcel", + ), + ("eshipper_canpar_ground", "eshipper_canpar_ground"), + ("eshipper_canpar_international", "eshipper_canpar_international"), + ("eshipper_canpar_select_letter", "eshipper_canpar_select_letter"), + ("eshipper_canpar_select_pak", "eshipper_canpar_select_pak"), + ("eshipper_canpar_select_parcel", "eshipper_canpar_select_parcel"), + ("eshipper_canpar_usa", "eshipper_canpar_usa"), + ( + "eshipper_canpar_usa_select_letter", + "eshipper_canpar_usa_select_letter", + ), + ( + "eshipper_canpar_usa_select_pak", + "eshipper_canpar_usa_select_pak", + ), + ( + "eshipper_canpar_usa_select_parcel", + "eshipper_canpar_usa_select_parcel", + ), + ("eshipper_cpx_canada_post", "eshipper_cpx_canada_post"), + ("eshipper_day_ross_ltl", "eshipper_day_ross_ltl"), + ("eshipper_dhl_dhl_ground", "eshipper_dhl_dhl_ground"), + ("eshipper_dhl_economy_select", "eshipper_dhl_economy_select"), + ("eshipper_dhl_esi_export", "eshipper_dhl_esi_export"), + ("eshipper_dhl_express_1030am", "eshipper_dhl_express_1030am"), + ("eshipper_dhl_express_12pm", "eshipper_dhl_express_12pm"), + ("eshipper_dhl_express_900", "eshipper_dhl_express_900"), + ("eshipper_dhl_express_9am", "eshipper_dhl_express_9am"), + ("eshipper_dhl_express_envelope", "eshipper_dhl_express_envelope"), + ( + "eshipper_dhl_express_worldwide", + "eshipper_dhl_express_worldwide", + ), + ("eshipper_dhl_import_express", "eshipper_dhl_import_express"), + ( + "eshipper_dhl_import_express_12pm", + "eshipper_dhl_import_express_12pm", + ), + ( + "eshipper_dhl_import_express_9am", + "eshipper_dhl_import_express_9am", + ), + ("eshipper_ltl_apex_v", "eshipper_ltl_apex_v"), + ("eshipper_ltl_apex_trucking", "eshipper_ltl_apex_trucking"), + ("eshipper_ltl_apex_trucking_v", "eshipper_ltl_apex_trucking_v"), + ("eshipper_ltl_fastfrate_rail", "eshipper_ltl_fastfrate_rail"), + ( + "eshipper_ltl_kindersley_expedited", + "eshipper_ltl_kindersley_expedited", + ), + ("eshipper_ltl_kindersley_rail", "eshipper_ltl_kindersley_rail"), + ( + "eshipper_ltl_kindersley_regular", + "eshipper_ltl_kindersley_regular", + ), + ("eshipper_ltl_kindersley_road", "eshipper_ltl_kindersley_road"), + ("eshipper_ltl_kingsway_road", "eshipper_ltl_kingsway_road"), + ("eshipper_ltl_m_o_eastbound", "eshipper_ltl_m_o_eastbound"), + ("eshipper_ltl_mo_rail", "eshipper_ltl_mo_rail"), + ( + "eshipper_ltl_national_fastfreight_rail", + "eshipper_ltl_national_fastfreight_rail", + ), + ( + "eshipper_ltl_national_fastfreight_road", + "eshipper_ltl_national_fastfreight_road", + ), + ("eshipper_ltl_vitran_rail", "eshipper_ltl_vitran_rail"), + ("eshipper_ltl_vitran_road", "eshipper_ltl_vitran_road"), + ( + "eshipper_ltl_western_canada_rail", + "eshipper_ltl_western_canada_rail", + ), + ( + "eshipper_federal_express_2day_freight", + "eshipper_federal_express_2day_freight", + ), + ( + "eshipper_federal_express_3day_freight", + "eshipper_federal_express_3day_freight", + ), + ( + "eshipper_federal_express_fedex_2nd_day", + "eshipper_federal_express_fedex_2nd_day", + ), + ( + "eshipper_federal_express_fedex_economy", + "eshipper_federal_express_fedex_economy", + ), + ( + "eshipper_federal_express_fedex_first_overnight", + "eshipper_federal_express_fedex_first_overnight", + ), + ( + "eshipper_federal_express_fedex_ground", + "eshipper_federal_express_fedex_ground", + ), + ( + "eshipper_federal_express_fedex_ground_us", + "eshipper_federal_express_fedex_ground_us", + ), + ( + "eshipper_federal_express_fedex_international_priority", + "eshipper_federal_express_fedex_international_priority", + ), + ( + "eshipper_federal_express_fedex_international_priority_express", + "eshipper_federal_express_fedex_international_priority_express", + ), + ( + "eshipper_federal_express_fedex_intl_economy", + "eshipper_federal_express_fedex_intl_economy", + ), + ( + "eshipper_federal_express_fedex_intl_economy_freight", + "eshipper_federal_express_fedex_intl_economy_freight", + ), + ( + "eshipper_federal_express_fedex_intl_priority", + "eshipper_federal_express_fedex_intl_priority", + ), + ( + "eshipper_federal_express_fedex_intl_priority_express", + "eshipper_federal_express_fedex_intl_priority_express", + ), + ( + "eshipper_federal_express_fedex_intl_priority_freight", + "eshipper_federal_express_fedex_intl_priority_freight", + ), + ( + "eshipper_federal_express_fedex_priority", + "eshipper_federal_express_fedex_priority", + ), + ( + "eshipper_federal_express_fedex_standard_overnight", + "eshipper_federal_express_fedex_standard_overnight", + ), + ("eshipper_flashbird_ground", "eshipper_flashbird_ground"), + ("eshipper_fleet_optics_ground", "eshipper_fleet_optics_ground"), + ( + "eshipper_project44_a_duie_pyle", + "eshipper_project44_a_duie_pyle", + ), + ( + "eshipper_project44_aaa_cooper_transportation", + "eshipper_project44_aaa_cooper_transportation", + ), + ( + "eshipper_project44_aberdeen_express", + "eshipper_project44_aberdeen_express", + ), + ("eshipper_project44_abfs", "eshipper_project44_abfs"), + ( + "eshipper_project44_averitt_express", + "eshipper_project44_averitt_express", + ), + ( + "eshipper_project44_brown_transfer_company", + "eshipper_project44_brown_transfer_company", + ), + ( + "eshipper_project44_central_freight_lines", + "eshipper_project44_central_freight_lines", + ), + ( + "eshipper_project44_central_transport", + "eshipper_project44_central_transport", + ), + ( + "eshipper_project44_chicago_suburban_express", + "eshipper_project44_chicago_suburban_express", + ), + ( + "eshipper_project44_clear_lane_freight", + "eshipper_project44_clear_lane_freight", + ), + ( + "eshipper_project44_con_way_freight", + "eshipper_project44_con_way_freight", + ), + ( + "eshipper_project44_crosscountry_courier", + "eshipper_project44_crosscountry_courier", + ), + ("eshipper_project44_day_ross", "eshipper_project44_day_ross"), + ("eshipper_project44_day_ross_v", "eshipper_project44_day_ross_v"), + ( + "eshipper_project44_dayton_freight_lines", + "eshipper_project44_dayton_freight_lines", + ), + ( + "eshipper_project44_dependable_highway_express", + "eshipper_project44_dependable_highway_express", + ), + ( + "eshipper_project44_dohrn_transfer_company", + "eshipper_project44_dohrn_transfer_company", + ), + ( + "eshipper_project44_dugan_truck_line", + "eshipper_project44_dugan_truck_line", + ), + ( + "eshipper_project44_estes_express_lines", + "eshipper_project44_estes_express_lines", + ), + ( + "eshipper_project44_expedited_freight_systems", + "eshipper_project44_expedited_freight_systems", + ), + ( + "eshipper_project44_fedex_freight_canada", + "eshipper_project44_fedex_freight_canada", + ), + ( + "eshipper_project44_fedex_freight_east", + "eshipper_project44_fedex_freight_east", + ), + ( + "eshipper_project44_fedex_freight_national_canada", + "eshipper_project44_fedex_freight_national_canada", + ), + ( + "eshipper_project44_fedex_freight_national_usa", + "eshipper_project44_fedex_freight_national_usa", + ), + ( + "eshipper_project44_fedex_freight_usa", + "eshipper_project44_fedex_freight_usa", + ), + ( + "eshipper_project44_fedex_national", + "eshipper_project44_fedex_national", + ), + ("eshipper_project44_forwardair", "eshipper_project44_forwardair"), + ( + "eshipper_project44_frontline_freight", + "eshipper_project44_frontline_freight", + ), + ( + "eshipper_project44_holland_motor_express", + "eshipper_project44_holland_motor_express", + ), + ( + "eshipper_project44_lakeville_motor_express", + "eshipper_project44_lakeville_motor_express", + ), + ( + "eshipper_project44_manitoulin_tlx_inc", + "eshipper_project44_manitoulin_tlx_inc", + ), + ( + "eshipper_project44_midwest_motor_express", + "eshipper_project44_midwest_motor_express", + ), + ( + "eshipper_project44_monroe_transportation_services", + "eshipper_project44_monroe_transportation_services", + ), + ( + "eshipper_project44_n_m_transfer", + "eshipper_project44_n_m_transfer", + ), + ( + "eshipper_project44_new_england_motor_freight", + "eshipper_project44_new_england_motor_freight", + ), + ( + "eshipper_project44_new_penn_motor_express", + "eshipper_project44_new_penn_motor_express", + ), + ("eshipper_project44_pitt_ohio", "eshipper_project44_pitt_ohio"), + ("eshipper_project44_polaris", "eshipper_project44_polaris"), + ( + "eshipper_project44_purolator_freight", + "eshipper_project44_purolator_freight", + ), + ( + "eshipper_project44_rl_carriers", + "eshipper_project44_rl_carriers", + ), + ( + "eshipper_project44_roadrunner_transportation_services", + "eshipper_project44_roadrunner_transportation_services", + ), + ( + "eshipper_project44_saia_motor_freight", + "eshipper_project44_saia_motor_freight", + ), + ( + "eshipper_project44_southeastern_freight_lines", + "eshipper_project44_southeastern_freight_lines", + ), + ( + "eshipper_project44_southwestern_motor_transport", + "eshipper_project44_southwestern_motor_transport", + ), + ( + "eshipper_project44_standard_forwarding", + "eshipper_project44_standard_forwarding", + ), + ( + "eshipper_project44_total_transportation_distribution", + "eshipper_project44_total_transportation_distribution", + ), + ( + "eshipper_project44_tst_overland_express", + "eshipper_project44_tst_overland_express", + ), + ("eshipper_project44_ups", "eshipper_project44_ups"), + ( + "eshipper_project44_usf_reddaway", + "eshipper_project44_usf_reddaway", + ), + ( + "eshipper_project44_valley_cartage", + "eshipper_project44_valley_cartage", + ), + ( + "eshipper_project44_vision_express_ltl", + "eshipper_project44_vision_express_ltl", + ), + ( + "eshipper_project44_ward_trucking", + "eshipper_project44_ward_trucking", + ), + ( + "eshipper_project44_xpo_logistics", + "eshipper_project44_xpo_logistics", + ), + ( + "eshipper_project44_xpress_global_systems", + "eshipper_project44_xpress_global_systems", + ), + ("eshipper_project44_yrc", "eshipper_project44_yrc"), + ("eshipper_purolator_express", "eshipper_purolator_express"), + ( + "eshipper_purolator_express_1030", + "eshipper_purolator_express_1030", + ), + ( + "eshipper_purolator_express_9am", + "eshipper_purolator_express_9am", + ), + ( + "eshipper_purolator_expresscheque", + "eshipper_purolator_expresscheque", + ), + ("eshipper_purolator_ground", "eshipper_purolator_ground"), + ( + "eshipper_purolator_ground_1030", + "eshipper_purolator_ground_1030", + ), + ("eshipper_purolator_ground_9am", "eshipper_purolator_ground_9am"), + ("eshipper_purolator_puroletter", "eshipper_purolator_puroletter"), + ( + "eshipper_purolator_puroletter_1030", + "eshipper_purolator_puroletter_1030", + ), + ( + "eshipper_purolator_puroletter_9am", + "eshipper_purolator_puroletter_9am", + ), + ("eshipper_purolator_puropak", "eshipper_purolator_puropak"), + ( + "eshipper_purolator_puropak_1030", + "eshipper_purolator_puropak_1030", + ), + ( + "eshipper_purolator_puropak_9am", + "eshipper_purolator_puropak_9am", + ), + ("eshipper_pyk_ground_advantage", "eshipper_pyk_ground_advantage"), + ("eshipper_pyk_priority_mail", "eshipper_pyk_priority_mail"), + ( + "eshipper_sameday_9am_guaranteed", + "eshipper_sameday_9am_guaranteed", + ), + ("eshipper_sameday_am_service", "eshipper_sameday_am_service"), + ( + "eshipper_sameday_ground_service", + "eshipper_sameday_ground_service", + ), + ( + "eshipper_sameday_h1_deliver_to_curbside", + "eshipper_sameday_h1_deliver_to_curbside", + ), + ( + "eshipper_sameday_h2_delivery_to_room_of_choice", + "eshipper_sameday_h2_delivery_to_room_of_choice", + ), + ( + "eshipper_sameday_h3_delivery_packaging_removal", + "eshipper_sameday_h3_delivery_packaging_removal", + ), + ( + "eshipper_sameday_h4_delivery_to_curbside", + "eshipper_sameday_h4_delivery_to_curbside", + ), + ( + "eshipper_sameday_h5_delivery_to_room_of_choice_2_man", + "eshipper_sameday_h5_delivery_to_room_of_choice_2_man", + ), + ( + "eshipper_sameday_h6_delivery_packaging_removal_2_man", + "eshipper_sameday_h6_delivery_packaging_removal_2_man", + ), + ("eshipper_sameday_ltl_service", "eshipper_sameday_ltl_service"), + ("eshipper_sameday_pm_service", "eshipper_sameday_pm_service"), + ( + "eshipper_sameday_urgent_letter", + "eshipper_sameday_urgent_letter", + ), + ("eshipper_sameday_urgent_pac", "eshipper_sameday_urgent_pac"), + ("eshipper_skip", "eshipper_skip"), + ( + "eshipper_smartepost_intl_dhl_parcel_international_direct_ngr", + "eshipper_smartepost_intl_dhl_parcel_international_direct_ngr", + ), + ( + "eshipper_smartepost_intl_global_mail_business_priority", + "eshipper_smartepost_intl_global_mail_business_priority", + ), + ( + "eshipper_smartepost_intl_global_mail_business_standard", + "eshipper_smartepost_intl_global_mail_business_standard", + ), + ( + "eshipper_smartepost_intl_global_mail_packet_plus_priority", + "eshipper_smartepost_intl_global_mail_packet_plus_priority", + ), + ( + "eshipper_smartepost_intl_global_mail_packet_priority", + "eshipper_smartepost_intl_global_mail_packet_priority", + ), + ( + "eshipper_smartepost_intl_global_mail_packet_standard", + "eshipper_smartepost_intl_global_mail_packet_standard", + ), + ( + "eshipper_smartepost_intl_global_mail_parcel_direct_priority_yyz", + "eshipper_smartepost_intl_global_mail_parcel_direct_priority_yyz", + ), + ( + "eshipper_smartepost_intl_global_mail_parcel_direct_standard_yyz", + "eshipper_smartepost_intl_global_mail_parcel_direct_standard_yyz", + ), + ( + "eshipper_smartepost_intl_global_mail_parcel_priority", + "eshipper_smartepost_intl_global_mail_parcel_priority", + ), + ( + "eshipper_smartepost_intl_global_mail_parcel_standard", + "eshipper_smartepost_intl_global_mail_parcel_standard", + ), + ("eshipper_ups_expedited", "eshipper_ups_expedited"), + ("eshipper_ups_express", "eshipper_ups_express"), + ("eshipper_ups_express_early_am", "eshipper_ups_express_early_am"), + ("eshipper_ups_ground", "eshipper_ups_ground"), + ( + "eshipper_ups_second_day_air_am", + "eshipper_ups_second_day_air_am", + ), + ("eshipper_ups_standard", "eshipper_ups_standard"), + ("eshipper_ups_three_day_select", "eshipper_ups_three_day_select"), + ("eshipper_ups_ups_saver", "eshipper_ups_ups_saver"), + ( + "eshipper_ups_worldwide_expedited", + "eshipper_ups_worldwide_expedited", + ), + ( + "eshipper_ups_worldwide_express", + "eshipper_ups_worldwide_express", + ), + ( + "eshipper_ups_worldwide_express_plus", + "eshipper_ups_worldwide_express_plus", + ), + ( + "eshipper_usps_first_class_mail", + "eshipper_usps_first_class_mail", + ), + ( + "eshipper_usps_first_class_package_return_service", + "eshipper_usps_first_class_package_return_service", + ), + ("eshipper_usps_library_mail", "eshipper_usps_library_mail"), + ("eshipper_usps_media_mail", "eshipper_usps_media_mail"), + ("eshipper_usps_parcel_select", "eshipper_usps_parcel_select"), + ("eshipper_usps_pbx", "eshipper_usps_pbx"), + ("eshipper_usps_pbx_lightweight", "eshipper_usps_pbx_lightweight"), + ("eshipper_usps_priority_mail", "eshipper_usps_priority_mail"), + ( + "eshipper_usps_priority_mail_express", + "eshipper_usps_priority_mail_express", + ), + ( + "eshipper_usps_priority_mail_open_and_distribute", + "eshipper_usps_priority_mail_open_and_distribute", + ), + ( + "eshipper_usps_priority_mail_return_service", + "eshipper_usps_priority_mail_return_service", + ), + ( + "eshipper_usps_retail_ground_formerly_standard_post", + "eshipper_usps_retail_ground_formerly_standard_post", + ), + ( + "fedex_international_priority_express", + "fedex_international_priority_express", + ), + ("fedex_international_first", "fedex_international_first"), + ("fedex_international_priority", "fedex_international_priority"), + ("fedex_international_economy", "fedex_international_economy"), + ("fedex_ground", "fedex_ground"), + ("fedex_cargo_mail", "fedex_cargo_mail"), + ( + "fedex_cargo_international_premium", + "fedex_cargo_international_premium", + ), + ("fedex_first_overnight", "fedex_first_overnight"), + ("fedex_first_overnight_freight", "fedex_first_overnight_freight"), + ("fedex_1_day_freight", "fedex_1_day_freight"), + ("fedex_2_day_freight", "fedex_2_day_freight"), + ("fedex_3_day_freight", "fedex_3_day_freight"), + ( + "fedex_international_priority_freight", + "fedex_international_priority_freight", + ), + ( + "fedex_international_economy_freight", + "fedex_international_economy_freight", + ), + ( + "fedex_cargo_airport_to_airport", + "fedex_cargo_airport_to_airport", + ), + ( + "fedex_international_priority_distribution", + "fedex_international_priority_distribution", + ), + ( + "fedex_ip_direct_distribution_freight", + "fedex_ip_direct_distribution_freight", + ), + ( + "fedex_intl_ground_distribution", + "fedex_intl_ground_distribution", + ), + ("fedex_ground_home_delivery", "fedex_ground_home_delivery"), + ("fedex_smart_post", "fedex_smart_post"), + ("fedex_priority_overnight", "fedex_priority_overnight"), + ("fedex_standard_overnight", "fedex_standard_overnight"), + ("fedex_2_day", "fedex_2_day"), + ("fedex_2_day_am", "fedex_2_day_am"), + ("fedex_express_saver", "fedex_express_saver"), + ("fedex_same_day", "fedex_same_day"), + ("fedex_same_day_city", "fedex_same_day_city"), + ("fedex_one_day_freight", "fedex_one_day_freight"), + ( + "fedex_international_economy_distribution", + "fedex_international_economy_distribution", + ), + ( + "fedex_international_connect_plus", + "fedex_international_connect_plus", + ), + ( + "fedex_international_distribution_freight", + "fedex_international_distribution_freight", + ), + ("fedex_regional_economy", "fedex_regional_economy"), + ("fedex_next_day_freight", "fedex_next_day_freight"), + ("fedex_next_day", "fedex_next_day"), + ("fedex_next_day_10am", "fedex_next_day_10am"), + ("fedex_next_day_12pm", "fedex_next_day_12pm"), + ("fedex_next_day_end_of_day", "fedex_next_day_end_of_day"), + ("fedex_distance_deferred", "fedex_distance_deferred"), + ( + "fedex_europe_first_international_priority", + "fedex_europe_first_international_priority", + ), + ("fedex_1_day_freight", "fedex_1_day_freight"), + ("fedex_2_day", "fedex_2_day"), + ("fedex_2_day_am", "fedex_2_day_am"), + ("fedex_2_day_freight", "fedex_2_day_freight"), + ("fedex_3_day_freight", "fedex_3_day_freight"), + ( + "fedex_cargo_airport_to_airport", + "fedex_cargo_airport_to_airport", + ), + ( + "fedex_cargo_freight_forwarding", + "fedex_cargo_freight_forwarding", + ), + ( + "fedex_cargo_international_express_freight", + "fedex_cargo_international_express_freight", + ), + ( + "fedex_cargo_international_premium", + "fedex_cargo_international_premium", + ), + ("fedex_cargo_mail", "fedex_cargo_mail"), + ("fedex_cargo_registered_mail", "fedex_cargo_registered_mail"), + ("fedex_cargo_surface_mail", "fedex_cargo_surface_mail"), + ( + "fedex_custom_critical_air_expedite", + "fedex_custom_critical_air_expedite", + ), + ( + "fedex_custom_critical_air_expedite_exclusive_use", + "fedex_custom_critical_air_expedite_exclusive_use", + ), + ( + "fedex_custom_critical_air_expedite_network", + "fedex_custom_critical_air_expedite_network", + ), + ( + "fedex_custom_critical_charter_air", + "fedex_custom_critical_charter_air", + ), + ( + "fedex_custom_critical_point_to_point", + "fedex_custom_critical_point_to_point", + ), + ( + "fedex_custom_critical_surface_expedite", + "fedex_custom_critical_surface_expedite", + ), + ( + "fedex_custom_critical_surface_expedite_exclusive_use", + "fedex_custom_critical_surface_expedite_exclusive_use", + ), + ( + "fedex_custom_critical_temp_assure_air", + "fedex_custom_critical_temp_assure_air", + ), + ( + "fedex_custom_critical_temp_assure_validated_air", + "fedex_custom_critical_temp_assure_validated_air", + ), + ( + "fedex_custom_critical_white_glove_services", + "fedex_custom_critical_white_glove_services", + ), + ("fedex_distance_deferred", "fedex_distance_deferred"), + ("fedex_express_saver", "fedex_express_saver"), + ("fedex_first_freight", "fedex_first_freight"), + ("fedex_freight_economy", "fedex_freight_economy"), + ("fedex_freight_priority", "fedex_freight_priority"), + ("fedex_ground", "fedex_ground"), + ( + "fedex_international_priority_plus", + "fedex_international_priority_plus", + ), + ("fedex_next_day_afternoon", "fedex_next_day_afternoon"), + ("fedex_next_day_early_morning", "fedex_next_day_early_morning"), + ("fedex_next_day_end_of_day", "fedex_next_day_end_of_day"), + ("fedex_next_day_freight", "fedex_next_day_freight"), + ("fedex_next_day_mid_morning", "fedex_next_day_mid_morning"), + ("fedex_first_overnight", "fedex_first_overnight"), + ("fedex_ground_home_delivery", "fedex_ground_home_delivery"), + ( + "fedex_international_distribution_freight", + "fedex_international_distribution_freight", + ), + ("fedex_international_economy", "fedex_international_economy"), + ( + "fedex_international_economy_distribution", + "fedex_international_economy_distribution", + ), + ( + "fedex_international_economy_freight", + "fedex_international_economy_freight", + ), + ("fedex_international_first", "fedex_international_first"), + ("fedex_international_ground", "fedex_international_ground"), + ("fedex_international_priority", "fedex_international_priority"), + ( + "fedex_international_priority_distribution", + "fedex_international_priority_distribution", + ), + ( + "fedex_international_priority_express", + "fedex_international_priority_express", + ), + ( + "fedex_international_priority_freight", + "fedex_international_priority_freight", + ), + ("fedex_priority_overnight", "fedex_priority_overnight"), + ("fedex_same_day", "fedex_same_day"), + ("fedex_same_day_city", "fedex_same_day_city"), + ( + "fedex_same_day_metro_afternoon", + "fedex_same_day_metro_afternoon", + ), + ("fedex_same_day_metro_morning", "fedex_same_day_metro_morning"), + ("fedex_same_day_metro_rush", "fedex_same_day_metro_rush"), + ("fedex_smart_post", "fedex_smart_post"), + ("fedex_standard_overnight", "fedex_standard_overnight"), + ( + "fedex_transborder_distribution_consolidation", + "fedex_transborder_distribution_consolidation", + ), + ("freightcom_all", "freightcom_all"), + ("freightcom_usf_holland", "freightcom_usf_holland"), + ("freightcom_central_transport", "freightcom_central_transport"), + ("freightcom_estes", "freightcom_estes"), + ("freightcom_canpar_ground", "freightcom_canpar_ground"), + ("freightcom_canpar_select", "freightcom_canpar_select"), + ("freightcom_canpar_overnight", "freightcom_canpar_overnight"), + ("freightcom_dicom_ground", "freightcom_dicom_ground"), + ("freightcom_purolator_ground", "freightcom_purolator_ground"), + ("freightcom_purolator_express", "freightcom_purolator_express"), + ( + "freightcom_purolator_express_9_am", + "freightcom_purolator_express_9_am", + ), + ( + "freightcom_purolator_express_10_30_am", + "freightcom_purolator_express_10_30_am", + ), + ( + "freightcom_purolator_ground_us", + "freightcom_purolator_ground_us", + ), + ( + "freightcom_purolator_express_us", + "freightcom_purolator_express_us", + ), + ( + "freightcom_purolator_express_us_9_am", + "freightcom_purolator_express_us_9_am", + ), + ( + "freightcom_purolator_express_us_10_30_am", + "freightcom_purolator_express_us_10_30_am", + ), + ( + "freightcom_fedex_express_saver", + "freightcom_fedex_express_saver", + ), + ("freightcom_fedex_ground", "freightcom_fedex_ground"), + ("freightcom_fedex_2day", "freightcom_fedex_2day"), + ( + "freightcom_fedex_priority_overnight", + "freightcom_fedex_priority_overnight", + ), + ( + "freightcom_fedex_standard_overnight", + "freightcom_fedex_standard_overnight", + ), + ( + "freightcom_fedex_first_overnight", + "freightcom_fedex_first_overnight", + ), + ( + "freightcom_fedex_international_priority", + "freightcom_fedex_international_priority", + ), + ( + "freightcom_fedex_international_economy", + "freightcom_fedex_international_economy", + ), + ("freightcom_ups_standard", "freightcom_ups_standard"), + ("freightcom_ups_expedited", "freightcom_ups_expedited"), + ("freightcom_ups_express_saver", "freightcom_ups_express_saver"), + ("freightcom_ups_express", "freightcom_ups_express"), + ("freightcom_ups_express_early", "freightcom_ups_express_early"), + ("freightcom_ups_3day_select", "freightcom_ups_3day_select"), + ( + "freightcom_ups_worldwide_expedited", + "freightcom_ups_worldwide_expedited", + ), + ( + "freightcom_ups_worldwide_express", + "freightcom_ups_worldwide_express", + ), + ( + "freightcom_ups_worldwide_express_plus", + "freightcom_ups_worldwide_express_plus", + ), + ( + "freightcom_ups_worldwide_express_saver", + "freightcom_ups_worldwide_express_saver", + ), + ("freightcom_dhl_express_easy", "freightcom_dhl_express_easy"), + ("freightcom_dhl_express_10_30", "freightcom_dhl_express_10_30"), + ( + "freightcom_dhl_express_worldwide", + "freightcom_dhl_express_worldwide", + ), + ("freightcom_dhl_express_12_00", "freightcom_dhl_express_12_00"), + ("freightcom_dhl_economy_select", "freightcom_dhl_economy_select"), + ( + "freightcom_dhl_ecommerce_am_service", + "freightcom_dhl_ecommerce_am_service", + ), + ( + "freightcom_dhl_ecommerce_ground_service", + "freightcom_dhl_ecommerce_ground_service", + ), + ( + "freightcom_canadapost_regular_parcel", + "freightcom_canadapost_regular_parcel", + ), + ( + "freightcom_canadapost_expedited_parcel", + "freightcom_canadapost_expedited_parcel", + ), + ( + "freightcom_canadapost_xpresspost", + "freightcom_canadapost_xpresspost", + ), + ( + "freightcom_canadapost_priority", + "freightcom_canadapost_priority", + ), + ("standard_service", "standard_service"), + ("geodis_EXP", "geodis_EXP"), + ("geodis_MES", "geodis_MES"), + ("geodis_express_france", "geodis_express_france"), + ( + "geodis_retour_trans_fr_messagerie_plus", + "geodis_retour_trans_fr_messagerie_plus", + ), + ("letter_ordered", "letter_ordered"), + ("letter_simple", "letter_simple"), + ("letter_valued", "letter_valued"), + ("package_ordered", "package_ordered"), + ("package_simple", "package_simple"), + ("package_valued", "package_valued"), + ("parcel_simple", "parcel_simple"), + ("parcel_valued", "parcel_valued"), + ("postcard_ordered", "postcard_ordered"), + ("postcard_simple", "postcard_simple"), + ("sekogram_simple", "sekogram_simple"), + ("sprint_simple", "sprint_simple"), + ("yes_ordered_value", "yes_ordered_value"), + ("locate2u_local_delivery", "locate2u_local_delivery"), + ("purolator_express_9_am", "purolator_express_9_am"), + ("purolator_express_us", "purolator_express_us"), + ("purolator_express_10_30_am", "purolator_express_10_30_am"), + ("purolator_express_us_9_am", "purolator_express_us_9_am"), + ("purolator_express_12_pm", "purolator_express_12_pm"), + ("purolator_express_us_10_30_am", "purolator_express_us_10_30_am"), + ("purolator_express", "purolator_express"), + ("purolator_express_us_12_00", "purolator_express_us_12_00"), + ("purolator_express_evening", "purolator_express_evening"), + ("purolator_express_envelope_us", "purolator_express_envelope_us"), + ( + "purolator_express_envelope_9_am", + "purolator_express_envelope_9_am", + ), + ( + "purolator_express_us_envelope_9_am", + "purolator_express_us_envelope_9_am", + ), + ( + "purolator_express_envelope_10_30_am", + "purolator_express_envelope_10_30_am", + ), + ( + "purolator_express_us_envelope_10_30_am", + "purolator_express_us_envelope_10_30_am", + ), + ( + "purolator_express_envelope_12_pm", + "purolator_express_envelope_12_pm", + ), + ( + "purolator_express_us_envelope_12_00", + "purolator_express_us_envelope_12_00", + ), + ("purolator_express_envelope", "purolator_express_envelope"), + ("purolator_express_pack_us", "purolator_express_pack_us"), + ( + "purolator_express_envelope_evening", + "purolator_express_envelope_evening", + ), + ( + "purolator_express_us_pack_9_am", + "purolator_express_us_pack_9_am", + ), + ("purolator_express_pack_9_am", "purolator_express_pack_9_am"), + ( + "purolator_express_us_pack_10_30_am", + "purolator_express_us_pack_10_30_am", + ), + ( + "purolator_express_pack10_30_am", + "purolator_express_pack10_30_am", + ), + ( + "purolator_express_us_pack_12_00", + "purolator_express_us_pack_12_00", + ), + ("purolator_express_pack_12_pm", "purolator_express_pack_12_pm"), + ("purolator_express_box_us", "purolator_express_box_us"), + ("purolator_express_pack", "purolator_express_pack"), + ("purolator_express_us_box_9_am", "purolator_express_us_box_9_am"), + ( + "purolator_express_pack_evening", + "purolator_express_pack_evening", + ), + ( + "purolator_express_us_box_10_30_am", + "purolator_express_us_box_10_30_am", + ), + ("purolator_express_box_9_am", "purolator_express_box_9_am"), + ( + "purolator_express_us_box_12_00", + "purolator_express_us_box_12_00", + ), + ( + "purolator_express_box_10_30_am", + "purolator_express_box_10_30_am", + ), + ("purolator_ground_us", "purolator_ground_us"), + ("purolator_express_box_12_pm", "purolator_express_box_12_pm"), + ( + "purolator_express_international", + "purolator_express_international", + ), + ("purolator_express_box", "purolator_express_box"), + ( + "purolator_express_international_9_am", + "purolator_express_international_9_am", + ), + ("purolator_express_box_evening", "purolator_express_box_evening"), + ( + "purolator_express_international_10_30_am", + "purolator_express_international_10_30_am", + ), + ("purolator_ground", "purolator_ground"), + ( + "purolator_express_international_12_00", + "purolator_express_international_12_00", + ), + ("purolator_ground_9_am", "purolator_ground_9_am"), + ( + "purolator_express_envelope_international", + "purolator_express_envelope_international", + ), + ("purolator_ground_10_30_am", "purolator_ground_10_30_am"), + ( + "purolator_express_international_envelope_9_am", + "purolator_express_international_envelope_9_am", + ), + ("purolator_ground_evening", "purolator_ground_evening"), + ( + "purolator_express_international_envelope_10_30_am", + "purolator_express_international_envelope_10_30_am", + ), + ("purolator_quick_ship", "purolator_quick_ship"), + ( + "purolator_express_international_envelope_12_00", + "purolator_express_international_envelope_12_00", + ), + ("purolator_quick_ship_envelope", "purolator_quick_ship_envelope"), + ( + "purolator_express_pack_international", + "purolator_express_pack_international", + ), + ("purolator_quick_ship_pack", "purolator_quick_ship_pack"), + ( + "purolator_express_international_pack_9_am", + "purolator_express_international_pack_9_am", + ), + ("purolator_quick_ship_box", "purolator_quick_ship_box"), + ( + "purolator_express_international_pack_10_30_am", + "purolator_express_international_pack_10_30_am", + ), + ( + "purolator_express_international_pack_12_00", + "purolator_express_international_pack_12_00", + ), + ( + "purolator_express_box_international", + "purolator_express_box_international", + ), + ( + "purolator_express_international_box_9_am", + "purolator_express_international_box_9_am", + ), + ( + "purolator_express_international_box_10_30_am", + "purolator_express_international_box_10_30_am", + ), + ( + "purolator_express_international_box_12_00", + "purolator_express_international_box_12_00", + ), + ("roadie_local_delivery", "roadie_local_delivery"), + ( + "sapient_royal_mail_hm_forces_mail", + "sapient_royal_mail_hm_forces_mail", + ), + ( + "sapient_royal_mail_hm_forces_signed_for", + "sapient_royal_mail_hm_forces_signed_for", + ), + ( + "sapient_royal_mail_hm_forces_special_delivery_500", + "sapient_royal_mail_hm_forces_special_delivery_500", + ), + ( + "sapient_royal_mail_hm_forces_special_delivery_1000", + "sapient_royal_mail_hm_forces_special_delivery_1000", + ), + ( + "sapient_royal_mail_hm_forces_special_delivery_2500", + "sapient_royal_mail_hm_forces_special_delivery_2500", + ), + ( + "sapient_royal_mail_international_business_personal_correspondence_max_sort_residue_ll", + "sapient_royal_mail_international_business_personal_correspondence_max_sort_residue_ll", + ), + ( + "sapient_royal_mail_international_business_mail_ll_max_sort_residue_standard", + "sapient_royal_mail_international_business_mail_ll_max_sort_residue_standard", + ), + ( + "sapient_royal_mail_international_business_personal_correspondence_max_sort_residue_l", + "sapient_royal_mail_international_business_personal_correspondence_max_sort_residue_l", + ), + ( + "sapient_royal_mail_international_business_mail_l_max_sort_residue_standard", + "sapient_royal_mail_international_business_mail_l_max_sort_residue_standard", + ), + ( + "sapient_royal_mail_international_business_printed_matter_packet", + "sapient_royal_mail_international_business_printed_matter_packet", + ), + ("sapient_royal_mail_1st_class", "sapient_royal_mail_1st_class"), + ("sapient_royal_mail_2nd_class", "sapient_royal_mail_2nd_class"), + ( + "sapient_royal_mail_1st_class_signed_for", + "sapient_royal_mail_1st_class_signed_for", + ), + ( + "sapient_royal_mail_2nd_class_signed_for", + "sapient_royal_mail_2nd_class_signed_for", + ), + ( + "sapient_royal_mail_international_business_parcel_priority_country_priced_boxable", + "sapient_royal_mail_international_business_parcel_priority_country_priced_boxable", + ), + ( + "sapient_royal_mail_international_business_parcel_tracked_country_priced_boxable_extra_comp", + "sapient_royal_mail_international_business_parcel_tracked_country_priced_boxable_extra_comp", + ), + ( + "sapient_royal_mail_international_business_parcel_priority_country_priced_boxable_ddp", + "sapient_royal_mail_international_business_parcel_priority_country_priced_boxable_ddp", + ), + ( + "sapient_royal_mail_international_business_parcel_tracked_country_priced_boxable_ddp", + "sapient_royal_mail_international_business_parcel_tracked_country_priced_boxable_ddp", + ), + ( + "sapient_royal_mail_international_business_parcel_tracked_country_priced_boxable", + "sapient_royal_mail_international_business_parcel_tracked_country_priced_boxable", + ), + ( + "sapient_royal_mail_24_standard_signed_for_parcel_daily_rate_service", + "sapient_royal_mail_24_standard_signed_for_parcel_daily_rate_service", + ), + ( + "sapient_royal_mail_48_standard_signed_for_parcel_daily_rate_service", + "sapient_royal_mail_48_standard_signed_for_parcel_daily_rate_service", + ), + ( + "sapient_royal_mail_international_business_parcels_zero_sort_priority", + "sapient_royal_mail_international_business_parcels_zero_sort_priority", + ), + ( + "sapient_royal_mail_international_business_parcels_zero_sort_priority_DE", + "sapient_royal_mail_international_business_parcels_zero_sort_priority_DE", + ), + ( + "sapient_royal_mail_de_import_standard_24_parcel", + "sapient_royal_mail_de_import_standard_24_parcel", + ), + ( + "sapient_royal_mail_de_import_standard_24_parcel_DE", + "sapient_royal_mail_de_import_standard_24_parcel_DE", + ), + ( + "sapient_royal_mail_de_import_standard_24_ll", + "sapient_royal_mail_de_import_standard_24_ll", + ), + ( + "sapient_royal_mail_de_import_standard_48_ll", + "sapient_royal_mail_de_import_standard_48_ll", + ), + ( + "sapient_royal_mail_de_import_to_eu_tracked_signed_ll", + "sapient_royal_mail_de_import_to_eu_tracked_signed_ll", + ), + ( + "sapient_royal_mail_de_import_to_eu_max_sort_ll", + "sapient_royal_mail_de_import_to_eu_max_sort_ll", + ), + ( + "sapient_royal_mail_de_import_to_eu_tracked_parcel", + "sapient_royal_mail_de_import_to_eu_tracked_parcel", + ), + ( + "sapient_royal_mail_de_import_to_eu_tracked_signed_parcel", + "sapient_royal_mail_de_import_to_eu_tracked_signed_parcel", + ), + ( + "sapient_royal_mail_de_import_to_eu_tracked_high_vol_ll", + "sapient_royal_mail_de_import_to_eu_tracked_high_vol_ll", + ), + ( + "sapient_royal_mail_de_import_to_eu_max_sort_parcel", + "sapient_royal_mail_de_import_to_eu_max_sort_parcel", + ), + ( + "sapient_royal_mail_international_business_mail_ll_country_priced_priority", + "sapient_royal_mail_international_business_mail_ll_country_priced_priority", + ), + ( + "sapient_royal_mail_international_business_personal_correspondence_l_priority_untracked", + "sapient_royal_mail_international_business_personal_correspondence_l_priority_untracked", + ), + ( + "sapient_royal_mail_international_business_mail_ll_country_sort_priority", + "sapient_royal_mail_international_business_mail_ll_country_sort_priority", + ), + ( + "sapient_royal_mail_international_business_parcels", + "sapient_royal_mail_international_business_parcels", + ), + ( + "sapient_royal_mail_international_business_parcels_tracked_country_priced_extra_territorial_office_of_exchange", + "sapient_royal_mail_international_business_parcels_tracked_country_priced_extra_territorial_office_of_exchange", + ), + ( + "sapient_royal_mail_international_business_parcels_tracked_signed_country_priced_extra_territorial_office_of_exchange", + "sapient_royal_mail_international_business_parcels_tracked_signed_country_priced_extra_territorial_office_of_exchange", + ), + ( + "sapient_royal_mail_international_business_parcels_zero_sort_priority_extra_territorial_office_of_exchange", + "sapient_royal_mail_international_business_parcels_zero_sort_priority_extra_territorial_office_of_exchange", + ), + ( + "sapient_royal_mail_international_business_mail_tracked_ll_country_priced_extra_territorial_office_of_exchange", + "sapient_royal_mail_international_business_mail_tracked_ll_country_priced_extra_territorial_office_of_exchange", + ), + ( + "sapient_royal_mail_international_business_mail_tracked_signed_ll_country_priced_extra_territorial_office_of_exchange", + "sapient_royal_mail_international_business_mail_tracked_signed_ll_country_priced_extra_territorial_office_of_exchange", + ), + ( + "sapient_royal_mail_international_business_mail_ll_country_priced_priority_extra_territorial_office_of_exchange", + "sapient_royal_mail_international_business_mail_ll_country_priced_priority_extra_territorial_office_of_exchange", + ), + ( + "sapient_royal_mail_international_tracked_parcels_0_30kg_extra_territorial_office_of_exchange_e", + "sapient_royal_mail_international_tracked_parcels_0_30kg_extra_territorial_office_of_exchange_e", + ), + ( + "sapient_royal_mail_international_tracked_parcels_0_30kg_extra_comp_extra_territorial_office_of_exchange_e", + "sapient_royal_mail_international_tracked_parcels_0_30kg_extra_comp_extra_territorial_office_of_exchange_e", + ), + ( + "sapient_royal_mail_international_tracked_parcels_0_30kg_extra_territorial_office_of_exchange_c", + "sapient_royal_mail_international_tracked_parcels_0_30kg_extra_territorial_office_of_exchange_c", + ), + ( + "sapient_royal_mail_international_tracked_parcels_0_30kg_extra_comp_extra_territorial_office_of_exchange_c", + "sapient_royal_mail_international_tracked_parcels_0_30kg_extra_comp_extra_territorial_office_of_exchange_c", + ), + ( + "sapient_royal_mail_international_business_personal_correspondence_l_priority_untracked_extra_territorial_office_of_exchange", + "sapient_royal_mail_international_business_personal_correspondence_l_priority_untracked_extra_territorial_office_of_exchange", + ), + ( + "sapient_royal_mail_international_business_personal_correspondence_l_tracked_high_vol_country_priced_extra_territorial_office_of_exchange", + "sapient_royal_mail_international_business_personal_correspondence_l_tracked_high_vol_country_priced_extra_territorial_office_of_exchange", + ), + ( + "sapient_royal_mail_international_business_personal_correspondence_l_tracked_signed_high_vol_country_priced_extra_territorial_office_of_exchange", + "sapient_royal_mail_international_business_personal_correspondence_l_tracked_signed_high_vol_country_priced_extra_territorial_office_of_exchange", + ), + ( + "sapient_royal_mail_international_business_personal_correspondence_signed_l_high_vol_country_priced_extra_territorial_office_of_exchange", + "sapient_royal_mail_international_business_personal_correspondence_signed_l_high_vol_country_priced_extra_territorial_office_of_exchange", + ), + ( + "sapient_royal_mail_international_business_personal_correspondence_ll_country_sort_priority_extra_territorial_office_of_exchange", + "sapient_royal_mail_international_business_personal_correspondence_ll_country_sort_priority_extra_territorial_office_of_exchange", + ), + ( + "sapient_royal_mail_international_business_personal_correspondence_tracked_ll_high_vol_extra_comp_country_priced_extra_territorial_office_of_exchange", + "sapient_royal_mail_international_business_personal_correspondence_tracked_ll_high_vol_extra_comp_country_priced_extra_territorial_office_of_exchange", + ), + ( + "sapient_royal_mail_international_business_personal_correspondence_tracked_signed_ll_high_vol_extra_comp_country_priced_extra_territorial_office_of_exchange", + "sapient_royal_mail_international_business_personal_correspondence_tracked_signed_ll_high_vol_extra_comp_country_priced_extra_territorial_office_of_exchange", + ), + ( + "sapient_royal_mail_international_business_personal_correspondence_signed_ll_extra_compensation_country_priced_extra_territorial_office_of_exchange", + "sapient_royal_mail_international_business_personal_correspondence_signed_ll_extra_compensation_country_priced_extra_territorial_office_of_exchange", + ), + ( + "sapient_royal_mail_24_standard_signed_for_large_letter_flat_rate_service", + "sapient_royal_mail_24_standard_signed_for_large_letter_flat_rate_service", + ), + ( + "sapient_royal_mail_48_standard_signed_for_large_letter_flat_rate_service", + "sapient_royal_mail_48_standard_signed_for_large_letter_flat_rate_service", + ), + ( + "sapient_royal_mail_24_presorted_ll", + "sapient_royal_mail_24_presorted_ll", + ), + ( + "sapient_royal_mail_48_presorted_ll", + "sapient_royal_mail_48_presorted_ll", + ), + ( + "sapient_royal_mail_international_tracked_parcels_0_30kg", + "sapient_royal_mail_international_tracked_parcels_0_30kg", + ), + ( + "sapient_royal_mail_international_business_tracked_express_npc", + "sapient_royal_mail_international_business_tracked_express_npc", + ), + ( + "sapient_royal_mail_international_tracked_parcels_0_30kg_extra_comp", + "sapient_royal_mail_international_tracked_parcels_0_30kg_extra_comp", + ), + ( + "sapient_royal_mail_international_tracked_parcels_0_30kg_c_prio", + "sapient_royal_mail_international_tracked_parcels_0_30kg_c_prio", + ), + ( + "sapient_royal_mail_international_tracked_parcels_0_30kg_xcomp_c_prio", + "sapient_royal_mail_international_tracked_parcels_0_30kg_xcomp_c_prio", + ), + ( + "sapient_royal_mail_international_business_parcels_zone_sort_priority_service", + "sapient_royal_mail_international_business_parcels_zone_sort_priority_service", + ), + ( + "sapient_royal_mail_international_business_mail_large_letter_zone_sort_priority", + "sapient_royal_mail_international_business_mail_large_letter_zone_sort_priority", + ), + ( + "sapient_royal_mail_international_business_mail_large_letter_zone_sort_priority_machine", + "sapient_royal_mail_international_business_mail_large_letter_zone_sort_priority_machine", + ), + ( + "sapient_royal_mail_international_business_mail_letters_zone_sort_priority", + "sapient_royal_mail_international_business_mail_letters_zone_sort_priority", + ), + ( + "sapient_royal_mail_import_de_tracked_returns_24", + "sapient_royal_mail_import_de_tracked_returns_24", + ), + ( + "sapient_royal_mail_import_de_tracked_returns_48", + "sapient_royal_mail_import_de_tracked_returns_48", + ), + ( + "sapient_royal_mail_import_de_tracked_24_letter_boxable_high_volume", + "sapient_royal_mail_import_de_tracked_24_letter_boxable_high_volume", + ), + ( + "sapient_royal_mail_import_de_tracked_48_letter_boxable_high_volume", + "sapient_royal_mail_import_de_tracked_48_letter_boxable_high_volume", + ), + ( + "sapient_royal_mail_import_de_tracked_48_letter_boxable", + "sapient_royal_mail_import_de_tracked_48_letter_boxable", + ), + ( + "sapient_royal_mail_import_de_tracked_24_letter_boxable", + "sapient_royal_mail_import_de_tracked_24_letter_boxable", + ), + ( + "sapient_royal_mail_import_de_tracked_48_high_volume", + "sapient_royal_mail_import_de_tracked_48_high_volume", + ), + ( + "sapient_royal_mail_import_de_tracked_24_high_volume", + "sapient_royal_mail_import_de_tracked_24_high_volume", + ), + ( + "sapient_royal_mail_import_de_tracked_24", + "sapient_royal_mail_import_de_tracked_24", + ), + ( + "sapient_royal_mail_de_import_to_eu_signed_parcel", + "sapient_royal_mail_de_import_to_eu_signed_parcel", + ), + ( + "sapient_royal_mail_import_de_tracked_48", + "sapient_royal_mail_import_de_tracked_48", + ), + ( + "sapient_royal_mail_international_business_parcels_print_direct_priority", + "sapient_royal_mail_international_business_parcels_print_direct_priority", + ), + ( + "sapient_royal_mail_international_business_parcels_print_direct_standard", + "sapient_royal_mail_international_business_parcels_print_direct_standard", + ), + ( + "sapient_royal_mail_international_business_parcels_signed_extra_compensation_country_priced", + "sapient_royal_mail_international_business_parcels_signed_extra_compensation_country_priced", + ), + ( + "sapient_royal_mail_international_business_parcels_tracked_zone_sort", + "sapient_royal_mail_international_business_parcels_tracked_zone_sort", + ), + ( + "sapient_royal_mail_international_business_parcels_tracked_extra_comp_zone_sort", + "sapient_royal_mail_international_business_parcels_tracked_extra_comp_zone_sort", + ), + ( + "sapient_royal_mail_international_business_parcels_signed_zone_sort", + "sapient_royal_mail_international_business_parcels_signed_zone_sort", + ), + ( + "sapient_royal_mail_international_business_parcels_signed_extra_compensation_zone_sort", + "sapient_royal_mail_international_business_parcels_signed_extra_compensation_zone_sort", + ), + ( + "sapient_royal_mail_international_business_parcels_tracked_country_priced", + "sapient_royal_mail_international_business_parcels_tracked_country_priced", + ), + ( + "sapient_royal_mail_international_business_parcels_tracked_extra_comp_country_priced", + "sapient_royal_mail_international_business_parcels_tracked_extra_comp_country_priced", + ), + ( + "sapient_royal_mail_international_business_parcels_signed_country_priced", + "sapient_royal_mail_international_business_parcels_signed_country_priced", + ), + ( + "sapient_royal_mail_international_business_mail_tracked_high_vol_country_priced", + "sapient_royal_mail_international_business_mail_tracked_high_vol_country_priced", + ), + ( + "sapient_royal_mail_international_business_mail_tracked_signed_high_vol_country_priced", + "sapient_royal_mail_international_business_mail_tracked_signed_high_vol_country_priced", + ), + ( + "sapient_royal_mail_international_business_mail_signed_high_vol_country_priced", + "sapient_royal_mail_international_business_mail_signed_high_vol_country_priced", + ), + ( + "sapient_royal_mail_international_business_mail_tracked_high_vol_extra_comp_country_priced", + "sapient_royal_mail_international_business_mail_tracked_high_vol_extra_comp_country_priced", + ), + ( + "sapient_royal_mail_international_business_mail_tracked_signed_high_vol_extra_comp_country_priced", + "sapient_royal_mail_international_business_mail_tracked_signed_high_vol_extra_comp_country_priced", + ), + ( + "sapient_royal_mail_international_business_parcel_tracked_boxable_country_priced", + "sapient_royal_mail_international_business_parcel_tracked_boxable_country_priced", + ), + ( + "sapient_royal_mail_international_business_parcels_tracked_signed_zone_sort", + "sapient_royal_mail_international_business_parcels_tracked_signed_zone_sort", + ), + ( + "sapient_royal_mail_international_business_parcels_tracked_signed_extra_compensation_zone_sort", + "sapient_royal_mail_international_business_parcels_tracked_signed_extra_compensation_zone_sort", + ), + ( + "sapient_royal_mail_international_business_mail_tracked_signed_zone_sort", + "sapient_royal_mail_international_business_mail_tracked_signed_zone_sort", + ), + ( + "sapient_royal_mail_international_business_parcels_tracked_signed_country_priced", + "sapient_royal_mail_international_business_parcels_tracked_signed_country_priced", + ), + ( + "sapient_royal_mail_international_business_parcels_tracked_signed_extra_compensation_country_priced", + "sapient_royal_mail_international_business_parcels_tracked_signed_extra_compensation_country_priced", + ), + ( + "sapient_royal_mail_international_business_mail_tracked_signed_country_priced", + "sapient_royal_mail_international_business_mail_tracked_signed_country_priced", + ), + ( + "sapient_royal_mail_international_business_mail_tracked_zone_sort", + "sapient_royal_mail_international_business_mail_tracked_zone_sort", + ), + ( + "sapient_royal_mail_international_business_mail_tracked_country_priced", + "sapient_royal_mail_international_business_mail_tracked_country_priced", + ), + ( + "sapient_royal_mail_international_business_mail_signed_zone_sort", + "sapient_royal_mail_international_business_mail_signed_zone_sort", + ), + ( + "sapient_royal_mail_international_business_mail_signed_country_priced", + "sapient_royal_mail_international_business_mail_signed_country_priced", + ), + ( + "sapient_royal_mail_international_business_mail_signed_extra_compensation_country_priced", + "sapient_royal_mail_international_business_mail_signed_extra_compensation_country_priced", + ), + ( + "sapient_royal_mail_international_business_parcels_tracked_direct_ireland_country", + "sapient_royal_mail_international_business_parcels_tracked_direct_ireland_country", + ), + ( + "sapient_royal_mail_international_business_parcels_tracked_signed_ddp", + "sapient_royal_mail_international_business_parcels_tracked_signed_ddp", + ), + ( + "sapient_royal_mail_international_standard_on_account", + "sapient_royal_mail_international_standard_on_account", + ), + ( + "sapient_royal_mail_international_economy_on_account", + "sapient_royal_mail_international_economy_on_account", + ), + ( + "sapient_royal_mail_international_signed_on_account", + "sapient_royal_mail_international_signed_on_account", + ), + ( + "sapient_royal_mail_international_signed_on_account_extra_comp", + "sapient_royal_mail_international_signed_on_account_extra_comp", + ), + ( + "sapient_royal_mail_international_tracked_on_account", + "sapient_royal_mail_international_tracked_on_account", + ), + ( + "sapient_royal_mail_international_tracked_on_account_extra_comp", + "sapient_royal_mail_international_tracked_on_account_extra_comp", + ), + ( + "sapient_royal_mail_international_tracked_signed_on_account", + "sapient_royal_mail_international_tracked_signed_on_account", + ), + ( + "sapient_royal_mail_international_tracked_signed_on_account_extra_comp", + "sapient_royal_mail_international_tracked_signed_on_account_extra_comp", + ), + ( + "sapient_royal_mail_48_ll_flat_rate", + "sapient_royal_mail_48_ll_flat_rate", + ), + ( + "sapient_royal_mail_24_standard_signed_for_parcel_sort8_flat_rate_service", + "sapient_royal_mail_24_standard_signed_for_parcel_sort8_flat_rate_service", + ), + ( + "sapient_royal_mail_48_standard_signed_for_parcel_sort8_flat_rate_service", + "sapient_royal_mail_48_standard_signed_for_parcel_sort8_flat_rate_service", + ), + ( + "sapient_royal_mail_24_standard_signed_for_parcel_sort8_daily_rate_service", + "sapient_royal_mail_24_standard_signed_for_parcel_sort8_daily_rate_service", + ), + ( + "sapient_royal_mail_48_standard_signed_for_parcel_sort8_daily_rate_service", + "sapient_royal_mail_48_standard_signed_for_parcel_sort8_daily_rate_service", + ), + ( + "sapient_royal_mail_24_presorted_p", + "sapient_royal_mail_24_presorted_p", + ), + ( + "sapient_royal_mail_48_presorted_p", + "sapient_royal_mail_48_presorted_p", + ), + ( + "sapient_royal_mail_24_ll_flat_rate", + "sapient_royal_mail_24_ll_flat_rate", + ), + ( + "sapient_royal_mail_rm24_presorted_p_annual_flat_rate", + "sapient_royal_mail_rm24_presorted_p_annual_flat_rate", + ), + ( + "sapient_royal_mail_rm48_presorted_p_annual_flat_rate", + "sapient_royal_mail_rm48_presorted_p_annual_flat_rate", + ), + ( + "sapient_royal_mail_rm48_presorted_ll_annual_flat_rate", + "sapient_royal_mail_rm48_presorted_ll_annual_flat_rate", + ), + ( + "sapient_royal_mail_rm24_presorted_ll_annual_flat_rate", + "sapient_royal_mail_rm24_presorted_ll_annual_flat_rate", + ), + ( + "sapient_royal_mail_24_standard_signed_for_packetpost_flat_rate_service", + "sapient_royal_mail_24_standard_signed_for_packetpost_flat_rate_service", + ), + ( + "sapient_royal_mail_48_standard_signed_for_packetpost_flat_rate_service", + "sapient_royal_mail_48_standard_signed_for_packetpost_flat_rate_service", + ), + ( + "sapient_royal_mail_parcelpost_flat_rate_annual", + "sapient_royal_mail_parcelpost_flat_rate_annual", + ), + ( + "sapient_royal_mail_parcelpost_flat_rate_annual_PPJ", + "sapient_royal_mail_parcelpost_flat_rate_annual_PPJ", + ), + ( + "sapient_royal_mail_rm24_ll_annual_flat_rate", + "sapient_royal_mail_rm24_ll_annual_flat_rate", + ), + ( + "sapient_royal_mail_rm48_ll_annual_flat_rate", + "sapient_royal_mail_rm48_ll_annual_flat_rate", + ), + ( + "sapient_royal_mail_international_business_personal_correspondence_max_sort_l", + "sapient_royal_mail_international_business_personal_correspondence_max_sort_l", + ), + ( + "sapient_royal_mail_international_business_mail_large_letter_max_sort_priority_service", + "sapient_royal_mail_international_business_mail_large_letter_max_sort_priority_service", + ), + ( + "sapient_royal_mail_international_business_mail_letters_max_sort_standard", + "sapient_royal_mail_international_business_mail_letters_max_sort_standard", + ), + ( + "sapient_royal_mail_international_business_mail_large_letter_max_sort_standard_service", + "sapient_royal_mail_international_business_mail_large_letter_max_sort_standard_service", + ), + ( + "sapient_royal_mail_48_sort8p_annual_flat_rate", + "sapient_royal_mail_48_sort8p_annual_flat_rate", + ), + ( + "sapient_royal_mail_24_ll_daily_rate", + "sapient_royal_mail_24_ll_daily_rate", + ), + ( + "sapient_royal_mail_24_p_daily_rate", + "sapient_royal_mail_24_p_daily_rate", + ), + ( + "sapient_royal_mail_48_ll_daily_rate", + "sapient_royal_mail_48_ll_daily_rate", + ), + ( + "sapient_royal_mail_48_p_daily_rate", + "sapient_royal_mail_48_p_daily_rate", + ), + ( + "sapient_royal_mail_24_p_flat_rate", + "sapient_royal_mail_24_p_flat_rate", + ), + ( + "sapient_royal_mail_48_p_flat_rate", + "sapient_royal_mail_48_p_flat_rate", + ), + ( + "sapient_royal_mail_24_sort8_ll_annual_flat_rate", + "sapient_royal_mail_24_sort8_ll_annual_flat_rate", + ), + ( + "sapient_royal_mail_24_sort8_p_annual_flat_rate", + "sapient_royal_mail_24_sort8_p_annual_flat_rate", + ), + ( + "sapient_royal_mail_48_sort8_ll_annual_flat_rate", + "sapient_royal_mail_48_sort8_ll_annual_flat_rate", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_by_1pm_750", + "sapient_royal_mail_special_delivery_guaranteed_by_1pm_750", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_by_1pm_1000", + "sapient_royal_mail_special_delivery_guaranteed_by_1pm_1000", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_by_1pm_2500", + "sapient_royal_mail_special_delivery_guaranteed_by_1pm_2500", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_by_9am_750", + "sapient_royal_mail_special_delivery_guaranteed_by_9am_750", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_by_9am_1000", + "sapient_royal_mail_special_delivery_guaranteed_by_9am_1000", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_by_9am_2500", + "sapient_royal_mail_special_delivery_guaranteed_by_9am_2500", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_by_1pm_id_750", + "sapient_royal_mail_special_delivery_guaranteed_by_1pm_id_750", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_by_1pm_id_1000", + "sapient_royal_mail_special_delivery_guaranteed_by_1pm_id_1000", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_by_1pm_id_2500", + "sapient_royal_mail_special_delivery_guaranteed_by_1pm_id_2500", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_by_9am_id_750", + "sapient_royal_mail_special_delivery_guaranteed_by_9am_id_750", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_by_9am_id_1000", + "sapient_royal_mail_special_delivery_guaranteed_by_9am_id_1000", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_by_9am_id_2500", + "sapient_royal_mail_special_delivery_guaranteed_by_9am_id_2500", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_by_1pm_age_750", + "sapient_royal_mail_special_delivery_guaranteed_by_1pm_age_750", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_by_1pm_age_1000", + "sapient_royal_mail_special_delivery_guaranteed_by_1pm_age_1000", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_by_1pm_age_2500", + "sapient_royal_mail_special_delivery_guaranteed_by_1pm_age_2500", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_by_9am_age_750", + "sapient_royal_mail_special_delivery_guaranteed_by_9am_age_750", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_by_9am_age_1000", + "sapient_royal_mail_special_delivery_guaranteed_by_9am_age_1000", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_by_9am_age_2500", + "sapient_royal_mail_special_delivery_guaranteed_by_9am_age_2500", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_age_750", + "sapient_royal_mail_special_delivery_guaranteed_age_750", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_age_1000", + "sapient_royal_mail_special_delivery_guaranteed_age_1000", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_age_2500", + "sapient_royal_mail_special_delivery_guaranteed_age_2500", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_id_750", + "sapient_royal_mail_special_delivery_guaranteed_id_750", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_id_1000", + "sapient_royal_mail_special_delivery_guaranteed_id_1000", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_id_2500", + "sapient_royal_mail_special_delivery_guaranteed_id_2500", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_750", + "sapient_royal_mail_special_delivery_guaranteed_750", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_1000", + "sapient_royal_mail_special_delivery_guaranteed_1000", + ), + ( + "sapient_royal_mail_special_delivery_guaranteed_2500", + "sapient_royal_mail_special_delivery_guaranteed_2500", + ), + ( + "sapient_royal_mail_1st_class_standard_signed_for_letters_daily_rate_service", + "sapient_royal_mail_1st_class_standard_signed_for_letters_daily_rate_service", + ), + ( + "sapient_royal_mail_2nd_class_standard_signed_for_letters_daily_rate_service", + "sapient_royal_mail_2nd_class_standard_signed_for_letters_daily_rate_service", + ), + ( + "sapient_royal_mail_tracked_24_high_volume_signature_age", + "sapient_royal_mail_tracked_24_high_volume_signature_age", + ), + ( + "sapient_royal_mail_tracked_48_high_volume_signature_age", + "sapient_royal_mail_tracked_48_high_volume_signature_age", + ), + ( + "sapient_royal_mail_tracked_24_signature_age", + "sapient_royal_mail_tracked_24_signature_age", + ), + ( + "sapient_royal_mail_tracked_48_signature_age", + "sapient_royal_mail_tracked_48_signature_age", + ), + ( + "sapient_royal_mail_tracked_48_high_volume_signature_no_signature", + "sapient_royal_mail_tracked_48_high_volume_signature_no_signature", + ), + ( + "sapient_royal_mail_tracked_24_high_volume_signature_no_signature", + "sapient_royal_mail_tracked_24_high_volume_signature_no_signature", + ), + ( + "sapient_royal_mail_tracked_24_signature_no_signature", + "sapient_royal_mail_tracked_24_signature_no_signature", + ), + ( + "sapient_royal_mail_tracked_48_signature_no_signature", + "sapient_royal_mail_tracked_48_signature_no_signature", + ), + ( + "sapient_royal_mail_tracked_letter_boxable_48_high_volume_signature_no_signature", + "sapient_royal_mail_tracked_letter_boxable_48_high_volume_signature_no_signature", + ), + ( + "sapient_royal_mail_tracked_letter_boxable_24_high_volume_signature_no_signature", + "sapient_royal_mail_tracked_letter_boxable_24_high_volume_signature_no_signature", + ), + ( + "sapient_royal_mail_tracked_letter_boxable_24_signature_no_signature", + "sapient_royal_mail_tracked_letter_boxable_24_signature_no_signature", + ), + ( + "sapient_royal_mail_tracked_letter_boxable_48_signature_no_signature", + "sapient_royal_mail_tracked_letter_boxable_48_signature_no_signature", + ), + ( + "sapient_royal_mail_tracked_returns_24", + "sapient_royal_mail_tracked_returns_24", + ), + ( + "sapient_royal_mail_tracked_returns_48", + "sapient_royal_mail_tracked_returns_48", + ), + ( + "sapient_royal_mail_international_business_parcels_zero_sort_priority_WE", + "sapient_royal_mail_international_business_parcels_zero_sort_priority_WE", + ), + ( + "sapient_royal_mail_international_business_mail_large_letter_zero_sort_priority", + "sapient_royal_mail_international_business_mail_large_letter_zero_sort_priority", + ), + ( + "sapient_royal_mail_international_business_mail_large_letter_zero_sort_priority_machine", + "sapient_royal_mail_international_business_mail_large_letter_zero_sort_priority_machine", + ), + ( + "sapient_royal_mail_international_business_mail_letters_zero_sort_priority", + "sapient_royal_mail_international_business_mail_letters_zero_sort_priority", + ), + ( + "seko_ecommerce_standard_tracked", + "seko_ecommerce_standard_tracked", + ), + ( + "seko_ecommerce_express_tracked", + "seko_ecommerce_express_tracked", + ), + ("seko_domestic_express", "seko_domestic_express"), + ("seko_domestic_standard", "seko_domestic_standard"), + ("seko_domestic_large_parcel", "seko_domestic_large_parcel"), + ("sendle_standard_pickup", "sendle_standard_pickup"), + ("sendle_standard_dropoff", "sendle_standard_dropoff"), + ("sendle_express_pickup", "sendle_express_pickup"), + ("tge_freight_service", "tge_freight_service"), + ("tnt_special_express", "tnt_special_express"), + ("tnt_9_00_express", "tnt_9_00_express"), + ("tnt_10_00_express", "tnt_10_00_express"), + ("tnt_12_00_express", "tnt_12_00_express"), + ("tnt_express", "tnt_express"), + ("tnt_economy_express", "tnt_economy_express"), + ("tnt_global_express", "tnt_global_express"), + ("ups_standard", "ups_standard"), + ("ups_worldwide_express", "ups_worldwide_express"), + ("ups_worldwide_expedited", "ups_worldwide_expedited"), + ("ups_worldwide_express_plus", "ups_worldwide_express_plus"), + ("ups_worldwide_saver", "ups_worldwide_saver"), + ("ups_2nd_day_air", "ups_2nd_day_air"), + ("ups_2nd_day_air_am", "ups_2nd_day_air_am"), + ("ups_3_day_select", "ups_3_day_select"), + ("ups_ground", "ups_ground"), + ("ups_next_day_air", "ups_next_day_air"), + ("ups_next_day_air_early", "ups_next_day_air_early"), + ("ups_next_day_air_saver", "ups_next_day_air_saver"), + ("ups_expedited_ca", "ups_expedited_ca"), + ("ups_express_saver_ca", "ups_express_saver_ca"), + ("ups_3_day_select_ca_us", "ups_3_day_select_ca_us"), + ("ups_access_point_economy_ca", "ups_access_point_economy_ca"), + ("ups_express_ca", "ups_express_ca"), + ("ups_express_early_ca", "ups_express_early_ca"), + ("ups_express_saver_intl_ca", "ups_express_saver_intl_ca"), + ("ups_standard_ca", "ups_standard_ca"), + ("ups_worldwide_expedited_ca", "ups_worldwide_expedited_ca"), + ("ups_worldwide_express_ca", "ups_worldwide_express_ca"), + ("ups_worldwide_express_plus_ca", "ups_worldwide_express_plus_ca"), + ("ups_express_early_ca_us", "ups_express_early_ca_us"), + ("ups_access_point_economy_eu", "ups_access_point_economy_eu"), + ("ups_expedited_eu", "ups_expedited_eu"), + ("ups_express_eu", "ups_express_eu"), + ("ups_standard_eu", "ups_standard_eu"), + ("ups_worldwide_express_plus_eu", "ups_worldwide_express_plus_eu"), + ("ups_worldwide_saver_eu", "ups_worldwide_saver_eu"), + ("ups_access_point_economy_mx", "ups_access_point_economy_mx"), + ("ups_expedited_mx", "ups_expedited_mx"), + ("ups_express_mx", "ups_express_mx"), + ("ups_standard_mx", "ups_standard_mx"), + ("ups_worldwide_express_plus_mx", "ups_worldwide_express_plus_mx"), + ("ups_worldwide_saver_mx", "ups_worldwide_saver_mx"), + ("ups_access_point_economy_pl", "ups_access_point_economy_pl"), + ( + "ups_today_dedicated_courrier_pl", + "ups_today_dedicated_courrier_pl", + ), + ("ups_today_express_pl", "ups_today_express_pl"), + ("ups_today_express_saver_pl", "ups_today_express_saver_pl"), + ("ups_today_standard_pl", "ups_today_standard_pl"), + ("ups_expedited_pl", "ups_expedited_pl"), + ("ups_express_pl", "ups_express_pl"), + ("ups_express_plus_pl", "ups_express_plus_pl"), + ("ups_express_saver_pl", "ups_express_saver_pl"), + ("ups_standard_pl", "ups_standard_pl"), + ("ups_2nd_day_air_pr", "ups_2nd_day_air_pr"), + ("ups_ground_pr", "ups_ground_pr"), + ("ups_next_day_air_pr", "ups_next_day_air_pr"), + ("ups_next_day_air_early_pr", "ups_next_day_air_early_pr"), + ("ups_worldwide_expedited_pr", "ups_worldwide_expedited_pr"), + ("ups_worldwide_express_pr", "ups_worldwide_express_pr"), + ("ups_worldwide_express_plus_pr", "ups_worldwide_express_plus_pr"), + ("ups_worldwide_saver_pr", "ups_worldwide_saver_pr"), + ("ups_express_12_00_de", "ups_express_12_00_de"), + ("ups_worldwide_express_freight", "ups_worldwide_express_freight"), + ( + "ups_worldwide_express_freight_midday", + "ups_worldwide_express_freight_midday", + ), + ("ups_worldwide_economy_ddu", "ups_worldwide_economy_ddu"), + ("ups_worldwide_economy_ddp", "ups_worldwide_economy_ddp"), + ("usps_standard_service", "usps_standard_service"), + ("usps_parcel_select", "usps_parcel_select"), + ( + "usps_parcel_select_lightweight", + "usps_parcel_select_lightweight", + ), + ("usps_priority_mail_express", "usps_priority_mail_express"), + ("usps_priority_mail", "usps_priority_mail"), + ( + "usps_first_class_package_service", + "usps_first_class_package_service", + ), + ("usps_library_mail", "usps_library_mail"), + ("usps_media_mail", "usps_media_mail"), + ("usps_bound_printed_matter", "usps_bound_printed_matter"), + ("usps_connect_local", "usps_connect_local"), + ("usps_connect_mail", "usps_connect_mail"), + ("usps_connect_next_day", "usps_connect_next_day"), + ("usps_connect_regional", "usps_connect_regional"), + ("usps_connect_same_day", "usps_connect_same_day"), + ("usps_ground_advantage", "usps_ground_advantage"), + ("usps_retail_ground", "usps_retail_ground"), + ("usps_all", "usps_all"), + ("usps_standard_service", "usps_standard_service"), + ("usps_parcel_select", "usps_parcel_select"), + ( + "usps_parcel_select_lightweight", + "usps_parcel_select_lightweight", + ), + ("usps_priority_mail_express", "usps_priority_mail_express"), + ("usps_priority_mail", "usps_priority_mail"), + ( + "usps_first_class_package_service", + "usps_first_class_package_service", + ), + ("usps_library_mail", "usps_library_mail"), + ("usps_media_mail", "usps_media_mail"), + ("usps_bound_printed_matter", "usps_bound_printed_matter"), + ("usps_connect_local", "usps_connect_local"), + ("usps_connect_mail", "usps_connect_mail"), + ("usps_connect_next_day", "usps_connect_next_day"), + ("usps_connect_regional", "usps_connect_regional"), + ("usps_connect_same_day", "usps_connect_same_day"), + ("usps_ground_advantage", "usps_ground_advantage"), + ("usps_retail_ground", "usps_retail_ground"), + ("usps_all", "usps_all"), + ("usps_first_class", "usps_first_class"), + ("usps_first_class_commercial", "usps_first_class_commercial"), + ( + "usps_first_class_hfp_commercial", + "usps_first_class_hfp_commercial", + ), + ("usps_priority", "usps_priority"), + ("usps_priority_commercial", "usps_priority_commercial"), + ("usps_priority_cpp", "usps_priority_cpp"), + ("usps_priority_hfp_commercial", "usps_priority_hfp_commercial"), + ("usps_priority_hfp_cpp", "usps_priority_hfp_cpp"), + ("usps_priority_mail_express", "usps_priority_mail_express"), + ( + "usps_priority_mail_express_commercial", + "usps_priority_mail_express_commercial", + ), + ( + "usps_priority_mail_express_cpp", + "usps_priority_mail_express_cpp", + ), + ("usps_priority_mail_express_sh", "usps_priority_mail_express_sh"), + ( + "usps_priority_mail_express_sh_commercial", + "usps_priority_mail_express_sh_commercial", + ), + ( + "usps_priority_mail_express_hfp", + "usps_priority_mail_express_hfp", + ), + ( + "usps_priority_mail_express_hfp_commercial", + "usps_priority_mail_express_hfp_commercial", + ), + ( + "usps_priority_mail_express_hfp_cpp", + "usps_priority_mail_express_hfp_cpp", + ), + ("usps_priority_mail_cubic", "usps_priority_mail_cubic"), + ("usps_retail_ground", "usps_retail_ground"), + ("usps_media", "usps_media"), + ("usps_library", "usps_library"), + ("usps_all", "usps_all"), + ("usps_online", "usps_online"), + ("usps_plus", "usps_plus"), + ("usps_bpm", "usps_bpm"), + ("usps_ground_advantage", "usps_ground_advantage"), + ( + "usps_ground_advantage_commercial", + "usps_ground_advantage_commercial", + ), + ("usps_ground_advantage_hfp", "usps_ground_advantage_hfp"), + ( + "usps_ground_advantage_hfp_commercial", + "usps_ground_advantage_hfp_commercial", + ), + ("usps_ground_advantage_cubic", "usps_ground_advantage_cubic"), + ("usps_first_class", "usps_first_class"), + ("usps_first_class_commercial", "usps_first_class_commercial"), + ( + "usps_first_class_hfp_commercial", + "usps_first_class_hfp_commercial", + ), + ("usps_priority", "usps_priority"), + ("usps_priority_commercial", "usps_priority_commercial"), + ("usps_priority_cpp", "usps_priority_cpp"), + ("usps_priority_hfp_commercial", "usps_priority_hfp_commercial"), + ("usps_priority_hfp_cpp", "usps_priority_hfp_cpp"), + ("usps_priority_mail_express", "usps_priority_mail_express"), + ( + "usps_priority_mail_express_commercial", + "usps_priority_mail_express_commercial", + ), + ( + "usps_priority_mail_express_cpp", + "usps_priority_mail_express_cpp", + ), + ("usps_priority_mail_express_sh", "usps_priority_mail_express_sh"), + ( + "usps_priority_mail_express_sh_commercial", + "usps_priority_mail_express_sh_commercial", + ), + ( + "usps_priority_mail_express_hfp", + "usps_priority_mail_express_hfp", + ), + ( + "usps_priority_mail_express_hfp_commercial", + "usps_priority_mail_express_hfp_commercial", + ), + ( + "usps_priority_mail_express_hfp_cpp", + "usps_priority_mail_express_hfp_cpp", + ), + ("usps_priority_mail_cubic", "usps_priority_mail_cubic"), + ("usps_retail_ground", "usps_retail_ground"), + ("usps_media", "usps_media"), + ("usps_library", "usps_library"), + ("usps_all", "usps_all"), + ("usps_online", "usps_online"), + ("usps_plus", "usps_plus"), + ("usps_bpm", "usps_bpm"), + ("zoom2u_VIP", "zoom2u_VIP"), + ("zoom2u_3_hour", "zoom2u_3_hour"), + ("zoom2u_same_day", "zoom2u_same_day"), + ], + help_text="\n The list of services you want to apply the surcharge to.\n
            \n Note that by default, the surcharge is applied to all services\n ", + null=True, + ), + ), + ] diff --git a/modules/proxy/karrio/server/proxy/tests/test_shipping.py b/modules/proxy/karrio/server/proxy/tests/test_shipping.py index a630aa10dd..e17c4090ff 100644 --- a/modules/proxy/karrio/server/proxy/tests/test_shipping.py +++ b/modules/proxy/karrio/server/proxy/tests/test_shipping.py @@ -228,7 +228,7 @@ def test_shipping_failed_cancel(self): } ], "services": [], - "options": {"shipment_date": ANY}, + "options": {"shipment_date": ANY, "shipping_date": ANY}, "payment": {"paid_by": "sender", "currency": "CAD", "account_number": None}, "billing_address": None, "customs": None, diff --git a/modules/sdk/karrio/core/models.py b/modules/sdk/karrio/core/models.py index a400fee100..5aee0bc0a1 100644 --- a/modules/sdk/karrio/core/models.py +++ b/modules/sdk/karrio/core/models.py @@ -1,5 +1,6 @@ """Karrio Unified model definitions module.""" +from unicodedata import category import attr from typing import List, Dict, Any, Union from jstruct import JList, JStruct, REQUIRED @@ -45,6 +46,7 @@ class Commodity: value_amount: float = None value_currency: str = None origin_country: str = None + category: str = None metadata: Dict = {} @@ -181,6 +183,7 @@ class PickupRequest: address: Address = JStruct[Address, REQUIRED] parcels: List[Parcel] = JList[Parcel] + shipment_identifiers: List[str] = [] package_location: str = None instruction: str = None options: Dict = {} @@ -199,6 +202,7 @@ class PickupUpdateRequest: address: Address = JStruct[Address, REQUIRED] parcels: List[Parcel] = JList[Parcel] + shipment_identifiers: List[str] = [] package_location: str = None instruction: str = None options: Dict = {} diff --git a/modules/sdk/karrio/core/units.py b/modules/sdk/karrio/core/units.py index e3532ba56e..9cbd5dbe90 100644 --- a/modules/sdk/karrio/core/units.py +++ b/modules/sdk/karrio/core/units.py @@ -1,5 +1,6 @@ """Karrio universal data types and units definitions""" +from ctypes import util import attr import typing import numbers @@ -917,6 +918,15 @@ def description(self) -> typing.Optional[str]: return description + @property + def content(self) -> typing.Optional[str]: + contents = set([item.parcel.content for item in self._items]) + content: typing.Optional[str] = utils.SF.concat_str( + *list(contents), join=True + ) # type:ignore + + return content + @property def options(self) -> "ShippingOptions": def merge_options(acc, pkg) -> dict: @@ -1057,6 +1067,7 @@ def __init__( _key = key option_values[key] = _val + self._raw_options = options self._options = option_values self._option_list = self._filter( option_values, (items_filter or utils.identity) @@ -1098,6 +1109,7 @@ class ShippingOption(utils.Enum): """universal shipment options (special services)""" currency = utils.OptionEnum("currency") + is_return = utils.OptionEnum("is_return", bool) insurance = utils.OptionEnum("insurance", float) cash_on_delivery = utils.OptionEnum("COD", float) shipment_note = utils.OptionEnum("shipment_note") @@ -1122,8 +1134,7 @@ class ShippingOption(utils.Enum): shipment_date = utils.OptionEnum("shipment_date") """TODO: standardize to these""" - shipping_date = utils.OptionEnum("shipping_date") # TODO: change format to datetime - shipping_time = utils.OptionEnum("shipping_time") + shipping_date = utils.OptionEnum("shipping_date") # format: %Y-%m-%dT%H:%M class ShippingOptions(Options): @@ -1169,15 +1180,21 @@ def email_notification_to(self) -> utils.OptionEnum: @property def shipment_date(self) -> utils.OptionEnum: + # Check if shipment_date is not defined and fallback to shipping_date + if not self[ShippingOption.shipment_date.name].state: + return utils.OptionEnum( + "shipment_date", + str, + utils.DF.fdate( + self._raw_options.get("shipping_date"), "%Y-%m-%dT%H:%M" + ), + ) + return self[ShippingOption.shipment_date.name] @property def shipping_date(self) -> utils.OptionEnum: - return self[ShippingOption.shipping_date.name] or self.shipment_date - - @property - def shipping_time(self) -> utils.OptionEnum: - return self[ShippingOption.shipping_time.name] + return self[ShippingOption.shipping_date.name] @property def signature_confirmation(self) -> utils.OptionEnum: diff --git a/modules/sdk/karrio/core/utils/number.py b/modules/sdk/karrio/core/utils/number.py index 104807248e..ee9605152f 100644 --- a/modules/sdk/karrio/core/utils/number.py +++ b/modules/sdk/karrio/core/utils/number.py @@ -1,13 +1,14 @@ import math -from typing import Union, Optional -from decimal import Decimal +import typing +import decimal class NUMBERFORMAT: @staticmethod def decimal( - value: Union[str, float, bytes] = None, quant: Optional[float] = None - ) -> Optional[float]: + value: typing.Union[str, float, bytes] = None, + quant: typing.Optional[float] = None, + ) -> typing.Optional[float]: """Parse a value into a valid decimal number. :param value: a value that can be parsed to float. @@ -17,15 +18,53 @@ def decimal( if value is None or isinstance(value, bool): return None if quant is not None: - _result = float(Decimal(str(value)).quantize(Decimal(str(quant)))) - return _result if _result != 0 else float(Decimal(str(value))) + _result = float( + decimal.Decimal(str(value)).quantize(decimal.Decimal(str(quant))) + ) + return _result if _result != 0 else float(decimal.Decimal(str(value))) return round(float(value), 2) + @staticmethod + def numeric_decimal( + value: typing.Union[str, float, bytes] = None, + total_digits: int = 3, + decimal_digits: int = 3, + ) -> str: + """Convert a float to a zero-padded string with customizable total length and decimal places. + + Args: + value (float): A floating point number to be formatted. + total_digits (int): The total length of the output string (including both numeric and decimal parts). + decimal_digits (int): The number of decimal digits (d) in the final output. + + Returns: + str: A zero-padded string of total_digits length, with the last decimal_digits as decimals. + + Examples: + >>> format_to_custom_numeric_decimal(1.0, 7, 3) # NNNNddd + '0001000' + + >>> format_to_custom_numeric_decimal(1.0, 8, 3) # NNNNNddd + '00001000' + + >>> format_to_custom_numeric_decimal(1.0, 6, 3) # NNNddd + '001000' + """ + if value is None or isinstance(value, bool): + return None + + # Multiply the input float by 10^decimal_digits to scale the decimal part + scaling_factor = 10**decimal_digits + scaled_value = int(value * scaling_factor) + + # Format as a zero-padded string with the total number of digits + return f"{scaled_value:0{total_digits}d}" + @staticmethod def integer( - value: Union[str, int, bytes] = None, base: int = None - ) -> Optional[int]: + value: typing.Union[str, int, bytes] = None, base: int = None + ) -> typing.Optional[int]: """Parse a value into a valid integer number. :param value: a value that can be parsed into integer. diff --git a/modules/sdk/karrio/core/utils/string.py b/modules/sdk/karrio/core/utils/string.py index 131af67876..e9992dd209 100644 --- a/modules/sdk/karrio/core/utils/string.py +++ b/modules/sdk/karrio/core/utils/string.py @@ -24,3 +24,50 @@ def concat_str( return separator.join(strings) return strings + + @staticmethod + def to_snake_case(input_string: typing.Optional[str]) -> typing.Optional[str]: + """Convert any string format to snake case.""" + if input_string is None: + return None + + # Handle camelCase, PascalCase, and consecutive uppercase letters + s = "" + for i, char in enumerate(input_string): + if char.isupper(): + if i > 0 and not input_string[i - 1].isupper(): + s += "_" + s += char.lower() + else: + s += char + + # Handle spaces, hyphens, and other separators + s = "".join([c.lower() if c.isalnum() else "_" for c in s]) + + # Remove leading/trailing underscores and collapse multiple underscores + return "_".join(filter(None, s.split("_"))) + + @staticmethod + def to_slug( + *values, + separator: str = "_", + ) -> typing.Optional[str]: + """Convert a set of string values into a slug string.""" + + processed_values = [] + for value in values: + if value not in ["", None]: + # Convert to lowercase and replace spaces with separator + processed = value.lower().replace(" ", separator) + # Replace other non-alphanumeric characters with separator + processed = "".join( + c if c.isalnum() or c == separator else separator for c in processed + ) + # Remove consecutive separators + while separator * 2 in processed: + processed = processed.replace(separator * 2, separator) + # Remove leading and trailing separators + processed = processed.strip(separator) + processed_values.append(processed) + + return separator.join(processed_values) if processed_values else None diff --git a/modules/sdk/karrio/lib.py b/modules/sdk/karrio/lib.py index 0680e0abe6..646d2d330f 100644 --- a/modules/sdk/karrio/lib.py +++ b/modules/sdk/karrio/lib.py @@ -99,6 +99,19 @@ def text( return typing.cast(str, _text[0:max] if max else _text) +def to_snake_case(input_string: typing.Optional[str]) -> typing.Optional[str]: + """Convert any string format to snake case.""" + return utils.SF.to_snake_case(input_string) + + +def to_slug( + *values, + separator: str = "_", +) -> typing.Optional[str]: + """Convert a set of string values into a slug string, changing camel case to snake_case.""" + return utils.SF.to_slug(*values, separator=separator) + + def to_int( value: typing.Union[str, int, bytes] = None, base: int = None, @@ -148,6 +161,34 @@ def to_decimal( return utils.NF.decimal(value, quant) +def to_numeric_decimal( + value: typing.Union[str, float, bytes] = None, + total_digits: int = 6, + decimal_digits: int = 3, +) -> str: + """Convert a float to a zero-padded string with customizable total length and decimal places. + + Args: + input_float (float): A floating point number to be formatted. + total_digits (int): The total length of the output string (including both numeric and decimal parts). + decimal_digits (int): The number of decimal digits (d) in the final output. + + Returns: + str: A zero-padded string of total_digits length, with the last decimal_digits as decimals. + + Examples: + >>> format_to_custom_numeric_decimal(1.0, 7, 3) # NNNNddd + '0001000' + + >>> format_to_custom_numeric_decimal(1.0, 8, 3) # NNNNNddd + '00001000' + + >>> format_to_custom_numeric_decimal(1.0, 6, 3) # NNNddd + '001000' + """ + return utils.NF.numeric_decimal(value, total_digits, decimal_digits) + + def to_money( value: typing.Union[str, float, bytes] = None, ) -> typing.Optional[float]: @@ -448,6 +489,45 @@ def envelope_serializer( return to_xml(envelope, namespacedef_=namespace) +def load_json(path: str): + """Load and parse a JSON file from the given path. + + Args: + path (str): The path to the JSON file to be loaded. + + Returns: + dict: The parsed JSON content as a Python dictionary. + + Raises: + FileNotFoundError: If the specified file is not found. + JSONDecodeError: If the file content is not valid JSON. + IOError: If there's an error reading the file. + """ + return to_dict(load_file_content(path)) + + +def load_file_content(path: str) -> str: + """Load the content of a file from the given path. + + Args: + path (str): The path to the file to be read. + + Returns: + str: The content of the file as a string. + + Raises: + FileNotFoundError: If the specified file is not found. + IOError: If there's an error reading the file. + """ + try: + with open(path, "r", encoding="utf-8") as file: + return file.read() + except FileNotFoundError: + raise FileNotFoundError(f"File not found: {path}") + except IOError as e: + raise IOError(f"Error reading file {path}: {str(e)}") + + # endregion # ----------------------------------------------------------- diff --git a/package-lock.json b/package-lock.json index 15994809d0..0d0cf1d88a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "eslint": "^8.48.0", "prettier": "^3.0.3", "tsconfig": "*", - "turbo": "^2.0.14" + "turbo": "^2.1.2" } }, "apps/api": { @@ -6741,57 +6741,32 @@ } }, "node_modules/@rollup/plugin-typescript": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-8.5.0.tgz", - "integrity": "sha512-wMv1/scv0m/rXx21wD2IsBbJFba8wGF3ErJIr6IKRfRj49S85Lszbxb4DCo8iILpluTjk2GAAu9CoZt4G3ppgQ==", + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-12.1.0.tgz", + "integrity": "sha512-Kzs8KGJofe7cfTRODsnG1jNGxSvU8gVoNNd7Z/QaY25AYwe2LSSUpx/kPxqF38NYkpR8de3m51r9uwJpDlz6dg==", "dev": true, + "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "resolve": "^1.17.0" + "@rollup/pluginutils": "^5.1.0", + "resolve": "^1.22.1" }, "engines": { - "node": ">=8.0.0" + "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^2.14.0", + "rollup": "^2.14.0||^3.0.0||^4.0.0", "tslib": "*", "typescript": ">=3.7.0" }, "peerDependenciesMeta": { + "rollup": { + "optional": true + }, "tslib": { "optional": true } } }, - "node_modules/@rollup/plugin-typescript/node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/@rollup/plugin-typescript/node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "node_modules/@rollup/plugin-typescript/node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - }, "node_modules/@rollup/pluginutils": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", @@ -6813,6 +6788,230 @@ } } }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.5.tgz", + "integrity": "sha512-SU5cvamg0Eyu/F+kLeMXS7GoahL+OoizlclVFX3l5Ql6yNlywJJ0OuqTzUx0v+aHhPHEB/56CT06GQrRrGNYww==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.5.tgz", + "integrity": "sha512-S4pit5BP6E5R5C8S6tgU/drvgjtYW76FBuG6+ibG3tMvlD1h9LHVF9KmlmaUBQ8Obou7hEyS+0w+IR/VtxwNMQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.5.tgz", + "integrity": "sha512-250ZGg4ipTL0TGvLlfACkIxS9+KLtIbn7BCZjsZj88zSg2Lvu3Xdw6dhAhfe/FjjXPVNCtcSp+WZjVsD3a/Zlw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.5.tgz", + "integrity": "sha512-D8brJEFg5D+QxFcW6jYANu+Rr9SlKtTenmsX5hOSzNYVrK5oLAEMTUgKWYJP+wdKyCdeSwnapLsn+OVRFycuQg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.5.tgz", + "integrity": "sha512-PNqXYmdNFyWNg0ma5LdY8wP+eQfdvyaBAojAXgO7/gs0Q/6TQJVXAXe8gwW9URjbS0YAammur0fynYGiWsKlXw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.5.tgz", + "integrity": "sha512-kSSCZOKz3HqlrEuwKd9TYv7vxPYD77vHSUvM2y0YaTGnFc8AdI5TTQRrM1yIp3tXCKrSL9A7JLoILjtad5t8pQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.5.tgz", + "integrity": "sha512-oTXQeJHRbOnwRnRffb6bmqmUugz0glXaPyspp4gbQOPVApdpRrY/j7KP3lr7M8kTfQTyrBUzFjj5EuHAhqH4/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.5.tgz", + "integrity": "sha512-qnOTIIs6tIGFKCHdhYitgC2XQ2X25InIbZFor5wh+mALH84qnFHvc+vmWUpyX97B0hNvwNUL4B+MB8vJvH65Fw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.5.tgz", + "integrity": "sha512-TMYu+DUdNlgBXING13rHSfUc3Ky5nLPbWs4bFnT+R6Vu3OvXkTkixvvBKk8uO4MT5Ab6lC3U7x8S8El2q5o56w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.5.tgz", + "integrity": "sha512-PTQq1Kz22ZRvuhr3uURH+U/Q/a0pbxJoICGSprNLAoBEkyD3Sh9qP5I0Asn0y0wejXQBbsVMRZRxlbGFD9OK4A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.5.tgz", + "integrity": "sha512-bR5nCojtpuMss6TDEmf/jnBnzlo+6n1UhgwqUvRoe4VIotC7FG1IKkyJbwsT7JDsF2jxR+NTnuOwiGv0hLyDoQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.5.tgz", + "integrity": "sha512-N0jPPhHjGShcB9/XXZQWuWBKZQnC1F36Ce3sDqWpujsGjDz/CQtOL9LgTrJ+rJC8MJeesMWrMWVLKKNR/tMOCA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.5.tgz", + "integrity": "sha512-uBa2e28ohzNNwjr6Uxm4XyaA1M/8aTgfF2T7UIlElLaeXkgpmIJ2EitVNQxjO9xLLLy60YqAgKn/AqSpCUkE9g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.5.tgz", + "integrity": "sha512-RXT8S1HP8AFN/Kr3tg4fuYrNxZ/pZf1HemC5Tsddc6HzgGnJm0+Lh5rAHJkDuW3StI0ynNXukidROMXYl6ew8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.5.tgz", + "integrity": "sha512-ElTYOh50InL8kzyUD6XsnPit7jYCKrphmddKAe1/Ytt74apOxDq5YEcbsiKs0fR3vff3jEneMM+3I7jbqaMyBg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.5.tgz", + "integrity": "sha512-+lvL/4mQxSV8MukpkKyyvfwhH266COcWlXE/1qxwN08ajovta3459zrjLghYMgDerlzNwLAcFpvU+WWE5y6nAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@rushstack/eslint-patch": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.7.0.tgz", @@ -7991,9 +8190,10 @@ } }, "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "license": "MIT" }, "node_modules/@types/estree-jsx": { "version": "1.0.3", @@ -27807,7 +28007,8 @@ "version": "2.79.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "devOptional": true, + "optional": true, + "peer": true, "bin": { "rollup": "dist/bin/rollup" }, @@ -30286,27 +30487,27 @@ "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==" }, "node_modules/turbo": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/turbo/-/turbo-2.0.14.tgz", - "integrity": "sha512-00JjdCMD/cpsjP0Izkjcm8Oaor5yUCfDwODtaLb+WyblyadkaDEisGhy3Dbd5az9n+5iLSPiUgf+WjPbns6MRg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/turbo/-/turbo-2.1.2.tgz", + "integrity": "sha512-Jb0rbU4iHEVQ18An/YfakdIv9rKnd3zUfSE117EngrfWXFHo3RndVH96US3GsT8VHpwTncPePDBT2t06PaFLrw==", "dev": true, "license": "MIT", "bin": { "turbo": "bin/turbo" }, "optionalDependencies": { - "turbo-darwin-64": "2.0.14", - "turbo-darwin-arm64": "2.0.14", - "turbo-linux-64": "2.0.14", - "turbo-linux-arm64": "2.0.14", - "turbo-windows-64": "2.0.14", - "turbo-windows-arm64": "2.0.14" + "turbo-darwin-64": "2.1.2", + "turbo-darwin-arm64": "2.1.2", + "turbo-linux-64": "2.1.2", + "turbo-linux-arm64": "2.1.2", + "turbo-windows-64": "2.1.2", + "turbo-windows-arm64": "2.1.2" } }, "node_modules/turbo-darwin-64": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-2.0.14.tgz", - "integrity": "sha512-kwfDmjNwlNfvtrvT29+ZBg5n1Wvxl891bFHchMJyzMoR0HOE9N1NSNdSZb9wG3e7sYNIu4uDkNk+VBEqJW0HzQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-2.1.2.tgz", + "integrity": "sha512-3TEBxHWh99h2yIzkuIigMEOXt/ItYQp0aPiJjPd1xN4oDcsKK5AxiFKPH9pdtfIBzYsY59kQhZiFj0ELnSP7Bw==", "cpu": [ "x64" ], @@ -30318,9 +30519,9 @@ ] }, "node_modules/turbo-darwin-arm64": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-2.0.14.tgz", - "integrity": "sha512-m3LXYEshCx3wc4ZClM6gb01KYpFmtjQ9IBF3A7ofjb6ahux3xlYZJZ3uFCLAGHuvGLuJ3htfiPbwlDPTdknqqw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-2.1.2.tgz", + "integrity": "sha512-he0miWNq2WxJzsH82jS2Z4MXpnkzn9SH8a79iPXiJkq25QREImucscM4RPasXm8wARp91pyysJMq6aasD45CeA==", "cpu": [ "arm64" ], @@ -30332,9 +30533,9 @@ ] }, "node_modules/turbo-linux-64": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-2.0.14.tgz", - "integrity": "sha512-7vBzCPdoTtR92SNn2JMgj1FlMmyonGmpMaQdgAB1OVYtuQ6NVGoh7/lODfaILqXjpvmFSVbpBIDrKOT6EvcprQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-2.1.2.tgz", + "integrity": "sha512-fKUBcc0rK8Vdqv5a/E3CSpMBLG1bzwv+Q0Q83F8fG2ZfNCNKGbcEYABdonNZkkx141Rj03cZQFCgxu3MVEGU+A==", "cpu": [ "x64" ], @@ -30346,9 +30547,9 @@ ] }, "node_modules/turbo-linux-arm64": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-2.0.14.tgz", - "integrity": "sha512-jwH+c0bfjpBf26K/tdEFatmnYyXwGROjbr6bZmNcL8R+IkGAc/cglL+OToqJnQZTgZvH7uDGbeSyUo7IsHyjuA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-2.1.2.tgz", + "integrity": "sha512-sV8Bpmm0WiuxgbhxymcC7wSsuxfBBieI98GegSwbr/bs1ANAgzCg93urIrdKdQ3/b31zZxQwcaP4FBF1wx1Qdg==", "cpu": [ "arm64" ], @@ -30366,9 +30567,9 @@ "license": "ISC" }, "node_modules/turbo-windows-64": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-2.0.14.tgz", - "integrity": "sha512-w9/XwkHSzvLjmioo6cl3S1yRfI6swxsV1j1eJwtl66JM4/pn0H2rBa855R0n7hZnmI6H5ywLt/nLt6Ae8RTDmw==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-2.1.2.tgz", + "integrity": "sha512-wcmIJZI9ORT9ykHGliFE6kWRQrlH930QGSjSgWC8uFChFFuOyUlvC7ttcxuSvU9VqC7NF4C+GVAcFJQ8lTjN7g==", "cpu": [ "x64" ], @@ -30380,9 +30581,9 @@ ] }, "node_modules/turbo-windows-arm64": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-2.0.14.tgz", - "integrity": "sha512-XaQlyYk+Rf4xS5XWCo8XCMIpssgGGy8blzLfolN6YBp4baElIWMlkLZHDbGyiFmCbNf9I9gJI64XGRG+LVyyjA==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-2.1.2.tgz", + "integrity": "sha512-zdnXjrhk7YO6CP+Q5wPueEvOCLH4lDa6C4rrwiakcWcPgcQGbVozJlo4uaQ6awo8HLWQEvOwu84RkWTdLAc/Hw==", "cpu": [ "arm64" ], @@ -32605,10 +32806,10 @@ "glob-parent": "^6.0.1" }, "devDependencies": { - "@rollup/plugin-typescript": "^8.2.1", + "@rollup/plugin-typescript": "^12.1.0", "@types/node": "^16.11.6", "gulp": "^5.0.0", - "rollup": "^2.47.0", + "rollup": "^4.22.4", "tslib": "^2.3.1", "typescript": "^4.4.4" } @@ -32619,6 +32820,42 @@ "integrity": "sha512-eEn8RkzZFcT0gb8qyi0CcfSOQnLE+NbGLIIaxGGmjn/N35v/C3M8ohxcpSlNlCv+H8vPpMGmrGDdCkzr8xu2tQ==", "dev": true }, + "packages/karriojs/node_modules/rollup": { + "version": "4.22.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.5.tgz", + "integrity": "sha512-WoinX7GeQOFMGznEcWA1WrTQCd/tpEbMkc3nuMs9BT0CPjMdSjPMTVClwWd4pgSQwJdP65SK9mTCNvItlr5o7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.22.5", + "@rollup/rollup-android-arm64": "4.22.5", + "@rollup/rollup-darwin-arm64": "4.22.5", + "@rollup/rollup-darwin-x64": "4.22.5", + "@rollup/rollup-linux-arm-gnueabihf": "4.22.5", + "@rollup/rollup-linux-arm-musleabihf": "4.22.5", + "@rollup/rollup-linux-arm64-gnu": "4.22.5", + "@rollup/rollup-linux-arm64-musl": "4.22.5", + "@rollup/rollup-linux-powerpc64le-gnu": "4.22.5", + "@rollup/rollup-linux-riscv64-gnu": "4.22.5", + "@rollup/rollup-linux-s390x-gnu": "4.22.5", + "@rollup/rollup-linux-x64-gnu": "4.22.5", + "@rollup/rollup-linux-x64-musl": "4.22.5", + "@rollup/rollup-win32-arm64-msvc": "4.22.5", + "@rollup/rollup-win32-ia32-msvc": "4.22.5", + "@rollup/rollup-win32-x64-msvc": "4.22.5", + "fsevents": "~2.3.2" + } + }, "packages/karriojs/node_modules/typescript": { "version": "4.9.5", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", diff --git a/package.json b/package.json index d8d417399d..3df098cea5 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "eslint": "^8.48.0", "prettier": "^3.0.3", "tsconfig": "*", - "turbo": "^2.0.14" + "turbo": "^2.1.2" }, "name": "karrio", "workspaces": [ diff --git a/packages/core/context/main.ts b/packages/core/context/main.ts index 4bef120054..215e92da71 100644 --- a/packages/core/context/main.ts +++ b/packages/core/context/main.ts @@ -105,7 +105,9 @@ export async function loadUserData(session: any, metadata?: Metadata) { } export async function loadOrgData(session: any, metadata?: Metadata) { - if (!session || !metadata) return { organization: null }; + if (!session || !metadata || !metadata.MULTI_ORGANIZATIONS) { + return { organization: null }; + } const { accessToken, orgId, testMode } = session; const { data, error } = await axios diff --git a/packages/core/modules/Labels/create_labels.tsx b/packages/core/modules/Labels/create_labels.tsx index 235d5247df..04913d94c0 100644 --- a/packages/core/modules/Labels/create_labels.tsx +++ b/packages/core/modules/Labels/create_labels.tsx @@ -73,6 +73,7 @@ import { useAppMode } from "@karrio/hooks/app-mode"; import { useSearchParams } from "next/navigation"; import { useOrders } from "@karrio/hooks/order"; import Image from "next/legacy/image"; +import moment from "moment"; import React from "react"; export const generateMetadata = dynamicMetadata("Create labels"); @@ -1404,21 +1405,21 @@ export default function Page(pageProps: any) { />
            - {/* shipment date */} + {/* shipping date */} onChange(shipment_index, shipment, { options: { ...shipment.options, - shipment_date: e.target.value, + shipping_date: e.target.value, }, }) } diff --git a/packages/core/modules/Orders/create_label.tsx b/packages/core/modules/Orders/create_label.tsx index 7bbff47c23..328fe37e25 100644 --- a/packages/core/modules/Orders/create_label.tsx +++ b/packages/core/modules/Orders/create_label.tsx @@ -776,20 +776,20 @@ export default function Page(pageProps: any) {
            - {/* shipment date */} + {/* shipping date */} onChange({ options: { ...shipment.options, - shipment_date: e.target.value, + shipping_date: e.target.value, }, }) } diff --git a/packages/core/modules/Shipments/create_label.tsx b/packages/core/modules/Shipments/create_label.tsx index ec7a6e2b3f..67691611e9 100644 --- a/packages/core/modules/Shipments/create_label.tsx +++ b/packages/core/modules/Shipments/create_label.tsx @@ -65,9 +65,10 @@ import { bundleContexts } from "@karrio/hooks/utils"; import { useLocation } from "@karrio/hooks/location"; import { useAppMode } from "@karrio/hooks/app-mode"; import React, { useEffect, useState } from "react"; +import { useSearchParams } from "next/navigation"; import { useOrders } from "@karrio/hooks/order"; import { Disclosure } from "@headlessui/react"; -import { useSearchParams } from "next/navigation"; +import moment from "moment"; export const generateMetadata = dynamicMetadata("Create Label"); const ContextProviders = bundleContexts([ @@ -870,20 +871,20 @@ export default function CreateLabelPage(pageProps: any) {
            - {/* shipment date */} + {/* shipping date */} onChange({ options: { ...shipment.options, - shipment_date: e.target.value, + shipping_date: e.target.value, }, }) } diff --git a/packages/hooks/label-data.ts b/packages/hooks/label-data.ts index 84061bb63c..ad481813dd 100644 --- a/packages/hooks/label-data.ts +++ b/packages/hooks/label-data.ts @@ -40,7 +40,7 @@ const DEFAULT_SHIPMENT_DATA = { shipper: {} as AddressType, recipient: {} as AddressType, parcels: [] as ParcelType[], - options: { shipment_date: moment().format("YYYY-MM-DD") }, + options: { shipping_date: moment().format("YYYY-MM-DDTHH:mm") }, payment: { paid_by: PaidByEnum.sender }, label_type: LabelTypeEnum.PDF, } as ShipmentType; diff --git a/packages/types/graphql/admin/types.ts b/packages/types/graphql/admin/types.ts index 85280d34d3..b92492f79e 100644 --- a/packages/types/graphql/admin/types.ts +++ b/packages/types/graphql/admin/types.ts @@ -914,6 +914,7 @@ export enum CarrierNameEnum { dpd = "dpd", dpdhl = "dpdhl", easypost = "easypost", + easyship = "easyship", eshipper = "eshipper", fedex = "fedex", fedex_ws = "fedex_ws", @@ -928,6 +929,7 @@ export enum CarrierNameEnum { roadie = "roadie", royalmail = "royalmail", sapient = "sapient", + seko = "seko", sendle = "sendle", tge = "tge", tnt = "tnt", diff --git a/packages/types/graphql/types.ts b/packages/types/graphql/types.ts index f7cf3d7bdb..232c14bf06 100644 --- a/packages/types/graphql/types.ts +++ b/packages/types/graphql/types.ts @@ -4407,6 +4407,7 @@ export interface search_dataVariables { //============================================================== export enum CountryCodeEnum { + AC = "AC", AD = "AD", AE = "AE", AF = "AF", @@ -4431,6 +4432,7 @@ export enum CountryCodeEnum { BH = "BH", BI = "BI", BJ = "BJ", + BL = "BL", BM = "BM", BN = "BN", BO = "BO", @@ -4465,6 +4467,7 @@ export enum CountryCodeEnum { EC = "EC", EE = "EE", EG = "EG", + EH = "EH", ER = "ER", ES = "ES", ET = "ET", @@ -4501,6 +4504,7 @@ export enum CountryCodeEnum { ID = "ID", IE = "IE", IL = "IL", + IM = "IM", IN = "IN", IQ = "IQ", IR = "IR", @@ -4537,6 +4541,7 @@ export enum CountryCodeEnum { MC = "MC", MD = "MD", ME = "ME", + MF = "MF", MG = "MG", MH = "MH", MK = "MK", @@ -4601,6 +4606,7 @@ export enum CountryCodeEnum { SS = "SS", ST = "ST", SV = "SV", + SX = "SX", SY = "SY", SZ = "SZ", TC = "TC", @@ -4853,6 +4859,7 @@ export enum CarrierNameEnum { dpd = "dpd", dpdhl = "dpdhl", easypost = "easypost", + easyship = "easyship", eshipper = "eshipper", fedex = "fedex", fedex_ws = "fedex_ws", @@ -4867,6 +4874,7 @@ export enum CarrierNameEnum { roadie = "roadie", royalmail = "royalmail", sapient = "sapient", + seko = "seko", sendle = "sendle", tge = "tge", tnt = "tnt", diff --git a/packages/types/rest/api.ts b/packages/types/rest/api.ts index 0cbb187574..bbabcc03e0 100644 --- a/packages/types/rest/api.ts +++ b/packages/types/rest/api.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.7 + * The version of the OpenAPI document: 2024.9 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -1411,6 +1411,7 @@ export const CarrierConnectionCarrierNameEnum = { Dpd: 'dpd', Dpdhl: 'dpdhl', Easypost: 'easypost', + Easyship: 'easyship', Eshipper: 'eshipper', Fedex: 'fedex', FedexWs: 'fedex_ws', @@ -1425,6 +1426,7 @@ export const CarrierConnectionCarrierNameEnum = { Roadie: 'roadie', Royalmail: 'royalmail', Sapient: 'sapient', + Seko: 'seko', Sendle: 'sendle', Tge: 'tge', Tnt: 'tnt', @@ -1509,6 +1511,7 @@ export const CarrierConnectionDataCarrierNameEnum = { Dpd: 'dpd', Dpdhl: 'dpdhl', Easypost: 'easypost', + Easyship: 'easyship', Eshipper: 'eshipper', Fedex: 'fedex', FedexWs: 'fedex_ws', @@ -1523,6 +1526,7 @@ export const CarrierConnectionDataCarrierNameEnum = { Roadie: 'roadie', Royalmail: 'royalmail', Sapient: 'sapient', + Seko: 'seko', Sendle: 'sendle', Tge: 'tge', Tnt: 'tnt', @@ -1626,6 +1630,7 @@ export const CarrierDetailsCarrierNameEnum = { Dpd: 'dpd', Dpdhl: 'dpdhl', Easypost: 'easypost', + Easyship: 'easyship', Eshipper: 'eshipper', Fedex: 'fedex', FedexWs: 'fedex_ws', @@ -1640,6 +1645,7 @@ export const CarrierDetailsCarrierNameEnum = { Roadie: 'roadie', Royalmail: 'royalmail', Sapient: 'sapient', + Seko: 'seko', Sendle: 'sendle', Tge: 'tge', Tnt: 'tnt', @@ -2722,7 +2728,7 @@ export type CommodityDataOriginCountryEnum = typeof CommodityDataOriginCountryEn * @type ConnectionCredentialsField * @export */ -export type ConnectionCredentialsField = AlliedExpress | AlliedExpressLocal | AmazonShipping | Aramex | AsendiaUs | Australiapost | Boxknight | Bpost | Canadapost | Canpar | Chronopost | Colissimo | DhlExpress | DhlParcelDe | DhlPoland | DhlUniversal | Dicom | Dpd | Dpdhl | Easypost | Eshipper | Fedex | FedexWs | Freightcom | Generic | Geodis | HayPost | Laposte | Locate2u | Nationex | Purolator | Roadie | Royalmail | Sapient | Sendle | Tge | Tnt | Ups | Usps | UspsInternational | UspsWt | UspsWtInternational | Zoom2u; +export type ConnectionCredentialsField = AlliedExpress | AlliedExpressLocal | AmazonShipping | Aramex | AsendiaUs | Australiapost | Boxknight | Bpost | Canadapost | Canpar | Chronopost | Colissimo | DhlExpress | DhlParcelDe | DhlPoland | DhlUniversal | Dicom | Dpd | Dpdhl | Easypost | Easyship | Eshipper | Fedex | FedexWs | Freightcom | Generic | Geodis | HayPost | Laposte | Locate2u | Nationex | Purolator | Roadie | Royalmail | Sapient | Seko | Sendle | Tge | Tnt | Ups | Usps | UspsInternational | UspsWt | UspsWtInternational | Zoom2u; /** * @@ -3775,6 +3781,19 @@ export interface Easypost { */ 'api_key': string; } +/** + * + * @export + * @interface Easyship + */ +export interface Easyship { + /** + * + * @type {string} + * @memberof Easyship + */ + 'access_token': string; +} /** * * @export @@ -5948,6 +5967,7 @@ export const PatchedCarrierConnectionDataCarrierNameEnum = { Dpd: 'dpd', Dpdhl: 'dpdhl', Easypost: 'easypost', + Easyship: 'easyship', Eshipper: 'eshipper', Fedex: 'fedex', FedexWs: 'fedex_ws', @@ -5962,6 +5982,7 @@ export const PatchedCarrierConnectionDataCarrierNameEnum = { Roadie: 'roadie', Royalmail: 'royalmail', Sapient: 'sapient', + Seko: 'seko', Sendle: 'sendle', Tge: 'tge', Tnt: 'tnt', @@ -6987,7 +7008,7 @@ export interface RateRequest { */ 'services'?: Array | null; /** - *
            The options available for the shipment. { \"currency\": \"USD\", \"insurance\": 100.00, \"cash_on_delivery\": 30.00, \"dangerous_good\": true, \"declared_value\": 150.00, \"sms_notification\": true, \"email_notification\": true, \"email_notification_to\": \"shipper@mail.com\", \"hold_at_location\": true, \"paperless_trade\": true, \"preferred_service\": \"fedex_express_saver\", \"shipment_date\": \"2020-01-01\", \"shipment_note\": \"This is a shipment note\", \"signature_confirmation\": true, \"saturday_delivery\": true, \"is_return\": true, \"doc_files\": [ { \"doc_type\": \"commercial_invoice\", \"doc_file\": \"base64 encoded file\", \"doc_name\": \"commercial_invoice.pdf\", \"doc_format\": \"pdf\", } ], \"doc_references\": [ { \"doc_id\": \"123456789\", \"doc_type\": \"commercial_invoice\", } ], }
            + *
            The options available for the shipment. { \"currency\": \"USD\", \"insurance\": 100.00, \"cash_on_delivery\": 30.00, \"dangerous_good\": true, \"declared_value\": 150.00, \"sms_notification\": true, \"email_notification\": true, \"email_notification_to\": \"shipper@mail.com\", \"hold_at_location\": true, \"paperless_trade\": true, \"preferred_service\": \"fedex_express_saver\", \"shipment_date\": \"2020-01-01\", # TODO: deprecate \"shipping_date\": \"2020-01-01T00:00\", \"shipment_note\": \"This is a shipment note\", \"signature_confirmation\": true, \"saturday_delivery\": true, \"is_return\": true, \"doc_files\": [ { \"doc_type\": \"commercial_invoice\", \"doc_file\": \"base64 encoded file\", \"doc_name\": \"commercial_invoice.pdf\", \"doc_format\": \"pdf\", } ], \"doc_references\": [ { \"doc_id\": \"123456789\", \"doc_type\": \"commercial_invoice\", } ], }
            * @type {{ [key: string]: any; }} * @memberof RateRequest */ @@ -7098,6 +7119,19 @@ export const SapientCarrierCodeEnum = { export type SapientCarrierCodeEnum = typeof SapientCarrierCodeEnum[keyof typeof SapientCarrierCodeEnum]; +/** + * + * @export + * @interface Seko + */ +export interface Seko { + /** + * + * @type {string} + * @memberof Seko + */ + 'access_key': string; +} /** * * @export @@ -7184,7 +7218,7 @@ export interface Shipment { */ 'services'?: Array | null; /** - *
            The options available for the shipment. { \"currency\": \"USD\", \"insurance\": 100.00, \"cash_on_delivery\": 30.00, \"dangerous_good\": true, \"declared_value\": 150.00, \"sms_notification\": true, \"email_notification\": true, \"email_notification_to\": \"shipper@mail.com\", \"hold_at_location\": true, \"paperless_trade\": true, \"preferred_service\": \"fedex_express_saver\", \"shipment_date\": \"2020-01-01\", \"shipment_note\": \"This is a shipment note\", \"signature_confirmation\": true, \"saturday_delivery\": true, \"is_return\": true, \"doc_files\": [ { \"doc_type\": \"commercial_invoice\", \"doc_file\": \"base64 encoded file\", \"doc_name\": \"commercial_invoice.pdf\", \"doc_format\": \"pdf\", } ], \"doc_references\": [ { \"doc_id\": \"123456789\", \"doc_type\": \"commercial_invoice\", } ], }
            + *
            The options available for the shipment. { \"currency\": \"USD\", \"insurance\": 100.00, \"cash_on_delivery\": 30.00, \"dangerous_good\": true, \"declared_value\": 150.00, \"sms_notification\": true, \"email_notification\": true, \"email_notification_to\": \"shipper@mail.com\", \"hold_at_location\": true, \"paperless_trade\": true, \"preferred_service\": \"fedex_express_saver\", \"shipment_date\": \"2020-01-01\", # TODO: deprecate \"shipping_date\": \"2020-01-01T00:00\", \"shipment_note\": \"This is a shipment note\", \"signature_confirmation\": true, \"saturday_delivery\": true, \"is_return\": true, \"doc_files\": [ { \"doc_type\": \"commercial_invoice\", \"doc_file\": \"base64 encoded file\", \"doc_name\": \"commercial_invoice.pdf\", \"doc_format\": \"pdf\", } ], \"doc_references\": [ { \"doc_id\": \"123456789\", \"doc_type\": \"commercial_invoice\", } ], }
            * @type {{ [key: string]: any; }} * @memberof Shipment */ @@ -7414,7 +7448,7 @@ export interface ShipmentData { */ 'parcels': Array; /** - *
            The options available for the shipment. { \"currency\": \"USD\", \"insurance\": 100.00, \"cash_on_delivery\": 30.00, \"dangerous_good\": true, \"declared_value\": 150.00, \"sms_notification\": true, \"email_notification\": true, \"email_notification_to\": \"shipper@mail.com\", \"hold_at_location\": true, \"paperless_trade\": true, \"preferred_service\": \"fedex_express_saver\", \"shipment_date\": \"2020-01-01\", \"shipment_note\": \"This is a shipment note\", \"signature_confirmation\": true, \"saturday_delivery\": true, \"is_return\": true, \"doc_files\": [ { \"doc_type\": \"commercial_invoice\", \"doc_file\": \"base64 encoded file\", \"doc_name\": \"commercial_invoice.pdf\", \"doc_format\": \"pdf\", } ], \"doc_references\": [ { \"doc_id\": \"123456789\", \"doc_type\": \"commercial_invoice\", } ], }
            + *
            The options available for the shipment. { \"currency\": \"USD\", \"insurance\": 100.00, \"cash_on_delivery\": 30.00, \"dangerous_good\": true, \"declared_value\": 150.00, \"sms_notification\": true, \"email_notification\": true, \"email_notification_to\": \"shipper@mail.com\", \"hold_at_location\": true, \"paperless_trade\": true, \"preferred_service\": \"fedex_express_saver\", \"shipment_date\": \"2020-01-01\", # TODO: deprecate \"shipping_date\": \"2020-01-01T00:00\", \"shipment_note\": \"This is a shipment note\", \"signature_confirmation\": true, \"saturday_delivery\": true, \"is_return\": true, \"doc_files\": [ { \"doc_type\": \"commercial_invoice\", \"doc_file\": \"base64 encoded file\", \"doc_name\": \"commercial_invoice.pdf\", \"doc_format\": \"pdf\", } ], \"doc_references\": [ { \"doc_id\": \"123456789\", \"doc_type\": \"commercial_invoice\", } ], }
            * @type {{ [key: string]: any; }} * @memberof ShipmentData */ @@ -7514,7 +7548,7 @@ export interface ShipmentDataReference { */ 'parcels': Array; /** - *
            The options available for the shipment. { \"currency\": \"USD\", \"insurance\": 100.00, \"cash_on_delivery\": 30.00, \"dangerous_good\": true, \"declared_value\": 150.00, \"sms_notification\": true, \"email_notification\": true, \"email_notification_to\": \"shipper@mail.com\", \"hold_at_location\": true, \"paperless_trade\": true, \"preferred_service\": \"fedex_express_saver\", \"shipment_date\": \"2020-01-01\", \"shipment_note\": \"This is a shipment note\", \"signature_confirmation\": true, \"saturday_delivery\": true, \"is_return\": true, \"doc_files\": [ { \"doc_type\": \"commercial_invoice\", \"doc_file\": \"base64 encoded file\", \"doc_name\": \"commercial_invoice.pdf\", \"doc_format\": \"pdf\", } ], \"doc_references\": [ { \"doc_id\": \"123456789\", \"doc_type\": \"commercial_invoice\", } ], }
            + *
            The options available for the shipment. { \"currency\": \"USD\", \"insurance\": 100.00, \"cash_on_delivery\": 30.00, \"dangerous_good\": true, \"declared_value\": 150.00, \"sms_notification\": true, \"email_notification\": true, \"email_notification_to\": \"shipper@mail.com\", \"hold_at_location\": true, \"paperless_trade\": true, \"preferred_service\": \"fedex_express_saver\", \"shipment_date\": \"2020-01-01\", # TODO: deprecate \"shipping_date\": \"2020-01-01T00:00\", \"shipment_note\": \"This is a shipment note\", \"signature_confirmation\": true, \"saturday_delivery\": true, \"is_return\": true, \"doc_files\": [ { \"doc_type\": \"commercial_invoice\", \"doc_file\": \"base64 encoded file\", \"doc_name\": \"commercial_invoice.pdf\", \"doc_format\": \"pdf\", } ], \"doc_references\": [ { \"doc_id\": \"123456789\", \"doc_type\": \"commercial_invoice\", } ], }
            * @type {{ [key: string]: any; }} * @memberof ShipmentDataReference */ @@ -7648,7 +7682,7 @@ export interface ShipmentRateData { */ 'carrier_ids'?: Array | null; /** - *
            The options available for the shipment. { \"currency\": \"USD\", \"insurance\": 100.00, \"cash_on_delivery\": 30.00, \"dangerous_good\": true, \"declared_value\": 150.00, \"sms_notification\": true, \"email_notification\": true, \"email_notification_to\": \"shipper@mail.com\", \"hold_at_location\": true, \"paperless_trade\": true, \"preferred_service\": \"fedex_express_saver\", \"shipment_date\": \"2020-01-01\", \"shipment_note\": \"This is a shipment note\", \"signature_confirmation\": true, \"saturday_delivery\": true, \"is_return\": true, \"doc_files\": [ { \"doc_type\": \"commercial_invoice\", \"doc_file\": \"base64 encoded file\", \"doc_name\": \"commercial_invoice.pdf\", \"doc_format\": \"pdf\", } ], \"doc_references\": [ { \"doc_id\": \"123456789\", \"doc_type\": \"commercial_invoice\", } ], }
            + *
            The options available for the shipment. { \"currency\": \"USD\", \"insurance\": 100.00, \"cash_on_delivery\": 30.00, \"dangerous_good\": true, \"declared_value\": 150.00, \"sms_notification\": true, \"email_notification\": true, \"email_notification_to\": \"shipper@mail.com\", \"hold_at_location\": true, \"paperless_trade\": true, \"preferred_service\": \"fedex_express_saver\", \"shipment_date\": \"2020-01-01\", # TODO: deprecate \"shipping_date\": \"2020-01-01T00:00\", \"shipment_note\": \"This is a shipment note\", \"signature_confirmation\": true, \"saturday_delivery\": true, \"is_return\": true, \"doc_files\": [ { \"doc_type\": \"commercial_invoice\", \"doc_file\": \"base64 encoded file\", \"doc_name\": \"commercial_invoice.pdf\", \"doc_format\": \"pdf\", } ], \"doc_references\": [ { \"doc_id\": \"123456789\", \"doc_type\": \"commercial_invoice\", } ], }
            * @type {{ [key: string]: any; }} * @memberof ShipmentRateData */ @@ -7685,7 +7719,7 @@ export interface ShipmentUpdateData { */ 'payment'?: Payment; /** - *
            The options available for the shipment. { \"currency\": \"USD\", \"insurance\": 100.00, \"cash_on_delivery\": 30.00, \"dangerous_good\": true, \"declared_value\": 150.00, \"sms_notification\": true, \"email_notification\": true, \"email_notification_to\": \"shipper@mail.com\", \"hold_at_location\": true, \"paperless_trade\": true, \"preferred_service\": \"fedex_express_saver\", \"shipment_date\": \"2020-01-01\", \"shipment_note\": \"This is a shipment note\", \"signature_confirmation\": true, \"saturday_delivery\": true, \"is_return\": true, \"doc_files\": [ { \"doc_type\": \"commercial_invoice\", \"doc_file\": \"base64 encoded file\", \"doc_name\": \"commercial_invoice.pdf\", \"doc_format\": \"pdf\", } ], \"doc_references\": [ { \"doc_id\": \"123456789\", \"doc_type\": \"commercial_invoice\", } ], }
            + *
            The options available for the shipment. { \"currency\": \"USD\", \"insurance\": 100.00, \"cash_on_delivery\": 30.00, \"dangerous_good\": true, \"declared_value\": 150.00, \"sms_notification\": true, \"email_notification\": true, \"email_notification_to\": \"shipper@mail.com\", \"hold_at_location\": true, \"paperless_trade\": true, \"preferred_service\": \"fedex_express_saver\", \"shipment_date\": \"2020-01-01\", # TODO: deprecate \"shipping_date\": \"2020-01-01T00:00\", \"shipment_note\": \"This is a shipment note\", \"signature_confirmation\": true, \"saturday_delivery\": true, \"is_return\": true, \"doc_files\": [ { \"doc_type\": \"commercial_invoice\", \"doc_file\": \"base64 encoded file\", \"doc_name\": \"commercial_invoice.pdf\", \"doc_format\": \"pdf\", } ], \"doc_references\": [ { \"doc_id\": \"123456789\", \"doc_type\": \"commercial_invoice\", } ], }
            * @type {{ [key: string]: any; }} * @memberof ShipmentUpdateData */ @@ -7749,7 +7783,7 @@ export interface ShippingRequest { */ 'parcels': Array; /** - *
            The options available for the shipment. { \"currency\": \"USD\", \"insurance\": 100.00, \"cash_on_delivery\": 30.00, \"dangerous_good\": true, \"declared_value\": 150.00, \"sms_notification\": true, \"email_notification\": true, \"email_notification_to\": \"shipper@mail.com\", \"hold_at_location\": true, \"paperless_trade\": true, \"preferred_service\": \"fedex_express_saver\", \"shipment_date\": \"2020-01-01\", \"shipment_note\": \"This is a shipment note\", \"signature_confirmation\": true, \"saturday_delivery\": true, \"is_return\": true, \"doc_files\": [ { \"doc_type\": \"commercial_invoice\", \"doc_file\": \"base64 encoded file\", \"doc_name\": \"commercial_invoice.pdf\", \"doc_format\": \"pdf\", } ], \"doc_references\": [ { \"doc_id\": \"123456789\", \"doc_type\": \"commercial_invoice\", } ], }
            + *
            The options available for the shipment. { \"currency\": \"USD\", \"insurance\": 100.00, \"cash_on_delivery\": 30.00, \"dangerous_good\": true, \"declared_value\": 150.00, \"sms_notification\": true, \"email_notification\": true, \"email_notification_to\": \"shipper@mail.com\", \"hold_at_location\": true, \"paperless_trade\": true, \"preferred_service\": \"fedex_express_saver\", \"shipment_date\": \"2020-01-01\", # TODO: deprecate \"shipping_date\": \"2020-01-01T00:00\", \"shipment_note\": \"This is a shipment note\", \"signature_confirmation\": true, \"saturday_delivery\": true, \"is_return\": true, \"doc_files\": [ { \"doc_type\": \"commercial_invoice\", \"doc_file\": \"base64 encoded file\", \"doc_name\": \"commercial_invoice.pdf\", \"doc_format\": \"pdf\", } ], \"doc_references\": [ { \"doc_id\": \"123456789\", \"doc_type\": \"commercial_invoice\", } ], }
            * @type {{ [key: string]: any; }} * @memberof ShippingRequest */ @@ -7861,7 +7895,7 @@ export interface ShippingResponse { */ 'services'?: Array | null; /** - *
            The options available for the shipment. { \"currency\": \"USD\", \"insurance\": 100.00, \"cash_on_delivery\": 30.00, \"dangerous_good\": true, \"declared_value\": 150.00, \"sms_notification\": true, \"email_notification\": true, \"email_notification_to\": \"shipper@mail.com\", \"hold_at_location\": true, \"paperless_trade\": true, \"preferred_service\": \"fedex_express_saver\", \"shipment_date\": \"2020-01-01\", \"shipment_note\": \"This is a shipment note\", \"signature_confirmation\": true, \"saturday_delivery\": true, \"is_return\": true, \"doc_files\": [ { \"doc_type\": \"commercial_invoice\", \"doc_file\": \"base64 encoded file\", \"doc_name\": \"commercial_invoice.pdf\", \"doc_format\": \"pdf\", } ], \"doc_references\": [ { \"doc_id\": \"123456789\", \"doc_type\": \"commercial_invoice\", } ], }
            + *
            The options available for the shipment. { \"currency\": \"USD\", \"insurance\": 100.00, \"cash_on_delivery\": 30.00, \"dangerous_good\": true, \"declared_value\": 150.00, \"sms_notification\": true, \"email_notification\": true, \"email_notification_to\": \"shipper@mail.com\", \"hold_at_location\": true, \"paperless_trade\": true, \"preferred_service\": \"fedex_express_saver\", \"shipment_date\": \"2020-01-01\", # TODO: deprecate \"shipping_date\": \"2020-01-01T00:00\", \"shipment_note\": \"This is a shipment note\", \"signature_confirmation\": true, \"saturday_delivery\": true, \"is_return\": true, \"doc_files\": [ { \"doc_type\": \"commercial_invoice\", \"doc_file\": \"base64 encoded file\", \"doc_name\": \"commercial_invoice.pdf\", \"doc_format\": \"pdf\", } ], \"doc_references\": [ { \"doc_id\": \"123456789\", \"doc_type\": \"commercial_invoice\", } ], }
            * @type {{ [key: string]: any; }} * @memberof ShippingResponse */ @@ -8422,6 +8456,7 @@ export const TrackingDataCarrierNameEnum = { Purolator: 'purolator', Roadie: 'roadie', Royalmail: 'royalmail', + Seko: 'seko', Sendle: 'sendle', Tge: 'tge', Tnt: 'tnt', @@ -10886,7 +10921,7 @@ export const CarriersApiAxiosParamCreator = function (configuration?: Configurat /** * Retrieve a carrier\'s services * @summary Get carrier services - * @param {string} carrierName The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` + * @param {string} carrierName The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` * @param {*} [options] Override http request option. * @throws {RequiredError} */ @@ -10960,7 +10995,7 @@ export const CarriersApiFp = function(configuration?: Configuration) { /** * Retrieve a carrier\'s services * @summary Get carrier services - * @param {string} carrierName The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` + * @param {string} carrierName The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` * @param {*} [options] Override http request option. * @throws {RequiredError} */ @@ -11021,7 +11056,7 @@ export const CarriersApiFactory = function (configuration?: Configuration, baseP */ export interface CarriersApiGetServicesRequest { /** - * The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` + * The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` * @type {string} * @memberof CarriersApiGetServices */ @@ -11121,7 +11156,7 @@ export const ConnectionsApiAxiosParamCreator = function (configuration?: Configu * Retrieve all carrier connections * @summary List carrier connections * @param {boolean} [active] - * @param {string} [carrierName] The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` + * @param {string} [carrierName] The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` * @param {string} [metadataKey] * @param {string} [metadataValue] * @param {boolean} [systemOnly] @@ -11361,7 +11396,7 @@ export const ConnectionsApiFp = function(configuration?: Configuration) { * Retrieve all carrier connections * @summary List carrier connections * @param {boolean} [active] - * @param {string} [carrierName] The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` + * @param {string} [carrierName] The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` * @param {string} [metadataKey] * @param {string} [metadataValue] * @param {boolean} [systemOnly] @@ -11505,7 +11540,7 @@ export interface ConnectionsApiListRequest { readonly active?: boolean /** - * The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` + * The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` * @type {string} * @memberof ConnectionsApiList */ @@ -12649,7 +12684,7 @@ export const ManifestsApiAxiosParamCreator = function (configuration?: Configura /** * Retrieve all manifests. * @summary List manifests - * @param {string} [carrierName] The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` + * @param {string} [carrierName] The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` * @param {string} [createdAfter] * @param {string} [createdBefore] * @param {*} [options] Override http request option. @@ -12783,7 +12818,7 @@ export const ManifestsApiFp = function(configuration?: Configuration) { /** * Retrieve all manifests. * @summary List manifests - * @param {string} [carrierName] The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` + * @param {string} [carrierName] The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` * @param {string} [createdAfter] * @param {string} [createdBefore] * @param {*} [options] Override http request option. @@ -12872,7 +12907,7 @@ export interface ManifestsApiCreateRequest { */ export interface ManifestsApiListRequest { /** - * The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` + * The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` * @type {string} * @memberof ManifestsApiList */ @@ -15377,7 +15412,7 @@ export interface ProxyApiBuyLabelRequest { export interface ProxyApiCancelPickupRequest { /** * - * @type {'allied_express' | 'allied_express_local' | 'amazon_shipping' | 'aramex' | 'asendia_us' | 'australiapost' | 'boxknight' | 'bpost' | 'canadapost' | 'canpar' | 'chronopost' | 'colissimo' | 'dhl_express' | 'dhl_parcel_de' | 'dhl_poland' | 'dhl_universal' | 'dicom' | 'dpd' | 'dpdhl' | 'easypost' | 'eshipper' | 'fedex' | 'fedex_ws' | 'freightcom' | 'generic' | 'geodis' | 'hay_post' | 'laposte' | 'locate2u' | 'nationex' | 'purolator' | 'roadie' | 'royalmail' | 'sapient' | 'sendle' | 'tge' | 'tnt' | 'ups' | 'usps' | 'usps_international' | 'usps_wt' | 'usps_wt_international' | 'zoom2u'} + * @type {'allied_express' | 'allied_express_local' | 'amazon_shipping' | 'aramex' | 'asendia_us' | 'australiapost' | 'boxknight' | 'bpost' | 'canadapost' | 'canpar' | 'chronopost' | 'colissimo' | 'dhl_express' | 'dhl_parcel_de' | 'dhl_poland' | 'dhl_universal' | 'dicom' | 'dpd' | 'dpdhl' | 'easypost' | 'easyship' | 'eshipper' | 'fedex' | 'fedex_ws' | 'freightcom' | 'generic' | 'geodis' | 'hay_post' | 'laposte' | 'locate2u' | 'nationex' | 'purolator' | 'roadie' | 'royalmail' | 'sapient' | 'seko' | 'sendle' | 'tge' | 'tnt' | 'ups' | 'usps' | 'usps_international' | 'usps_wt' | 'usps_wt_international' | 'zoom2u'} * @memberof ProxyApiCancelPickup */ readonly carrierName: CancelPickupCarrierNameEnum @@ -15447,7 +15482,7 @@ export interface ProxyApiGetTrackingRequest { export interface ProxyApiSchedulePickupRequest { /** * - * @type {'allied_express' | 'allied_express_local' | 'amazon_shipping' | 'aramex' | 'asendia_us' | 'australiapost' | 'boxknight' | 'bpost' | 'canadapost' | 'canpar' | 'chronopost' | 'colissimo' | 'dhl_express' | 'dhl_parcel_de' | 'dhl_poland' | 'dhl_universal' | 'dicom' | 'dpd' | 'dpdhl' | 'easypost' | 'eshipper' | 'fedex' | 'fedex_ws' | 'freightcom' | 'generic' | 'geodis' | 'hay_post' | 'laposte' | 'locate2u' | 'nationex' | 'purolator' | 'roadie' | 'royalmail' | 'sapient' | 'sendle' | 'tge' | 'tnt' | 'ups' | 'usps' | 'usps_international' | 'usps_wt' | 'usps_wt_international' | 'zoom2u'} + * @type {'allied_express' | 'allied_express_local' | 'amazon_shipping' | 'aramex' | 'asendia_us' | 'australiapost' | 'boxknight' | 'bpost' | 'canadapost' | 'canpar' | 'chronopost' | 'colissimo' | 'dhl_express' | 'dhl_parcel_de' | 'dhl_poland' | 'dhl_universal' | 'dicom' | 'dpd' | 'dpdhl' | 'easypost' | 'easyship' | 'eshipper' | 'fedex' | 'fedex_ws' | 'freightcom' | 'generic' | 'geodis' | 'hay_post' | 'laposte' | 'locate2u' | 'nationex' | 'purolator' | 'roadie' | 'royalmail' | 'sapient' | 'seko' | 'sendle' | 'tge' | 'tnt' | 'ups' | 'usps' | 'usps_international' | 'usps_wt' | 'usps_wt_international' | 'zoom2u'} * @memberof ProxyApiSchedulePickup */ readonly carrierName: SchedulePickupCarrierNameEnum @@ -15468,7 +15503,7 @@ export interface ProxyApiSchedulePickupRequest { export interface ProxyApiTrackShipmentRequest { /** * - * @type {'allied_express' | 'allied_express_local' | 'amazon_shipping' | 'aramex' | 'asendia_us' | 'australiapost' | 'boxknight' | 'bpost' | 'canadapost' | 'canpar' | 'chronopost' | 'colissimo' | 'dhl_express' | 'dhl_parcel_de' | 'dhl_poland' | 'dhl_universal' | 'dicom' | 'dpd' | 'dpdhl' | 'fedex' | 'fedex_ws' | 'generic' | 'geodis' | 'hay_post' | 'laposte' | 'locate2u' | 'nationex' | 'purolator' | 'roadie' | 'royalmail' | 'sendle' | 'tge' | 'tnt' | 'ups' | 'usps' | 'usps_international' | 'usps_wt' | 'usps_wt_international' | 'zoom2u'} + * @type {'allied_express' | 'allied_express_local' | 'amazon_shipping' | 'aramex' | 'asendia_us' | 'australiapost' | 'boxknight' | 'bpost' | 'canadapost' | 'canpar' | 'chronopost' | 'colissimo' | 'dhl_express' | 'dhl_parcel_de' | 'dhl_poland' | 'dhl_universal' | 'dicom' | 'dpd' | 'dpdhl' | 'fedex' | 'fedex_ws' | 'generic' | 'geodis' | 'hay_post' | 'laposte' | 'locate2u' | 'nationex' | 'purolator' | 'roadie' | 'royalmail' | 'seko' | 'sendle' | 'tge' | 'tnt' | 'ups' | 'usps' | 'usps_international' | 'usps_wt' | 'usps_wt_international' | 'zoom2u'} * @memberof ProxyApiTrackShipment */ readonly carrierName: TrackShipmentCarrierNameEnum @@ -15496,7 +15531,7 @@ export interface ProxyApiTrackShipmentRequest { export interface ProxyApiUpdatePickupRequest { /** * - * @type {'allied_express' | 'allied_express_local' | 'amazon_shipping' | 'aramex' | 'asendia_us' | 'australiapost' | 'boxknight' | 'bpost' | 'canadapost' | 'canpar' | 'chronopost' | 'colissimo' | 'dhl_express' | 'dhl_parcel_de' | 'dhl_poland' | 'dhl_universal' | 'dicom' | 'dpd' | 'dpdhl' | 'easypost' | 'eshipper' | 'fedex' | 'fedex_ws' | 'freightcom' | 'generic' | 'geodis' | 'hay_post' | 'laposte' | 'locate2u' | 'nationex' | 'purolator' | 'roadie' | 'royalmail' | 'sapient' | 'sendle' | 'tge' | 'tnt' | 'ups' | 'usps' | 'usps_international' | 'usps_wt' | 'usps_wt_international' | 'zoom2u'} + * @type {'allied_express' | 'allied_express_local' | 'amazon_shipping' | 'aramex' | 'asendia_us' | 'australiapost' | 'boxknight' | 'bpost' | 'canadapost' | 'canpar' | 'chronopost' | 'colissimo' | 'dhl_express' | 'dhl_parcel_de' | 'dhl_poland' | 'dhl_universal' | 'dicom' | 'dpd' | 'dpdhl' | 'easypost' | 'easyship' | 'eshipper' | 'fedex' | 'fedex_ws' | 'freightcom' | 'generic' | 'geodis' | 'hay_post' | 'laposte' | 'locate2u' | 'nationex' | 'purolator' | 'roadie' | 'royalmail' | 'sapient' | 'seko' | 'sendle' | 'tge' | 'tnt' | 'ups' | 'usps' | 'usps_international' | 'usps_wt' | 'usps_wt_international' | 'zoom2u'} * @memberof ProxyApiUpdatePickup */ readonly carrierName: UpdatePickupCarrierNameEnum @@ -15517,7 +15552,7 @@ export interface ProxyApiUpdatePickupRequest { export interface ProxyApiVoidLabelRequest { /** * - * @type {'allied_express' | 'allied_express_local' | 'amazon_shipping' | 'aramex' | 'asendia_us' | 'australiapost' | 'boxknight' | 'bpost' | 'canadapost' | 'canpar' | 'chronopost' | 'colissimo' | 'dhl_express' | 'dhl_parcel_de' | 'dhl_poland' | 'dhl_universal' | 'dicom' | 'dpd' | 'dpdhl' | 'easypost' | 'eshipper' | 'fedex' | 'fedex_ws' | 'freightcom' | 'generic' | 'geodis' | 'hay_post' | 'laposte' | 'locate2u' | 'nationex' | 'purolator' | 'roadie' | 'royalmail' | 'sapient' | 'sendle' | 'tge' | 'tnt' | 'ups' | 'usps' | 'usps_international' | 'usps_wt' | 'usps_wt_international' | 'zoom2u'} + * @type {'allied_express' | 'allied_express_local' | 'amazon_shipping' | 'aramex' | 'asendia_us' | 'australiapost' | 'boxknight' | 'bpost' | 'canadapost' | 'canpar' | 'chronopost' | 'colissimo' | 'dhl_express' | 'dhl_parcel_de' | 'dhl_poland' | 'dhl_universal' | 'dicom' | 'dpd' | 'dpdhl' | 'easypost' | 'easyship' | 'eshipper' | 'fedex' | 'fedex_ws' | 'freightcom' | 'generic' | 'geodis' | 'hay_post' | 'laposte' | 'locate2u' | 'nationex' | 'purolator' | 'roadie' | 'royalmail' | 'sapient' | 'seko' | 'sendle' | 'tge' | 'tnt' | 'ups' | 'usps' | 'usps_international' | 'usps_wt' | 'usps_wt_international' | 'zoom2u'} * @memberof ProxyApiVoidLabel */ readonly carrierName: VoidLabelCarrierNameEnum @@ -15671,6 +15706,7 @@ export const CancelPickupCarrierNameEnum = { Dpd: 'dpd', Dpdhl: 'dpdhl', Easypost: 'easypost', + Easyship: 'easyship', Eshipper: 'eshipper', Fedex: 'fedex', FedexWs: 'fedex_ws', @@ -15685,6 +15721,7 @@ export const CancelPickupCarrierNameEnum = { Roadie: 'roadie', Royalmail: 'royalmail', Sapient: 'sapient', + Seko: 'seko', Sendle: 'sendle', Tge: 'tge', Tnt: 'tnt', @@ -15720,6 +15757,7 @@ export const SchedulePickupCarrierNameEnum = { Dpd: 'dpd', Dpdhl: 'dpdhl', Easypost: 'easypost', + Easyship: 'easyship', Eshipper: 'eshipper', Fedex: 'fedex', FedexWs: 'fedex_ws', @@ -15734,6 +15772,7 @@ export const SchedulePickupCarrierNameEnum = { Roadie: 'roadie', Royalmail: 'royalmail', Sapient: 'sapient', + Seko: 'seko', Sendle: 'sendle', Tge: 'tge', Tnt: 'tnt', @@ -15779,6 +15818,7 @@ export const TrackShipmentCarrierNameEnum = { Purolator: 'purolator', Roadie: 'roadie', Royalmail: 'royalmail', + Seko: 'seko', Sendle: 'sendle', Tge: 'tge', Tnt: 'tnt', @@ -15814,6 +15854,7 @@ export const UpdatePickupCarrierNameEnum = { Dpd: 'dpd', Dpdhl: 'dpdhl', Easypost: 'easypost', + Easyship: 'easyship', Eshipper: 'eshipper', Fedex: 'fedex', FedexWs: 'fedex_ws', @@ -15828,6 +15869,7 @@ export const UpdatePickupCarrierNameEnum = { Roadie: 'roadie', Royalmail: 'royalmail', Sapient: 'sapient', + Seko: 'seko', Sendle: 'sendle', Tge: 'tge', Tnt: 'tnt', @@ -15863,6 +15905,7 @@ export const VoidLabelCarrierNameEnum = { Dpd: 'dpd', Dpdhl: 'dpdhl', Easypost: 'easypost', + Easyship: 'easyship', Eshipper: 'eshipper', Fedex: 'fedex', FedexWs: 'fedex_ws', @@ -15877,6 +15920,7 @@ export const VoidLabelCarrierNameEnum = { Roadie: 'roadie', Royalmail: 'royalmail', Sapient: 'sapient', + Seko: 'seko', Sendle: 'sendle', Tge: 'tge', Tnt: 'tnt', @@ -15998,7 +16042,7 @@ export const ShipmentsApiAxiosParamCreator = function (configuration?: Configura * Retrieve all shipments. * @summary List all shipments * @param {string} [address] - * @param {string} [carrierName] The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` + * @param {string} [carrierName] The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` * @param {string} [createdAfter] * @param {string} [createdBefore] * @param {boolean} [hasManifest] @@ -16378,7 +16422,7 @@ export const ShipmentsApiFp = function(configuration?: Configuration) { * Retrieve all shipments. * @summary List all shipments * @param {string} [address] - * @param {string} [carrierName] The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` + * @param {string} [carrierName] The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` * @param {string} [createdAfter] * @param {string} [createdBefore] * @param {boolean} [hasManifest] @@ -16584,7 +16628,7 @@ export interface ShipmentsApiListRequest { readonly address?: string /** - * The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` + * The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` * @type {string} * @memberof ShipmentsApiList */ @@ -17008,7 +17052,7 @@ export const TrackersApiAxiosParamCreator = function (configuration?: Configurat /** * Retrieve all shipment trackers. * @summary List all package trackers - * @param {string} [carrierName] The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` + * @param {string} [carrierName] The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` * @param {string} [createdAfter] * @param {string} [createdBefore] * @param {string} [status] Valid tracker status. <br/>Values: `pending`, `unknown`, `on_hold`, `delivered`, `in_transit`, `delivery_delayed`, `out_for_delivery`, `ready_for_pickup`, `delivery_failed` @@ -17271,7 +17315,7 @@ export const TrackersApiFp = function(configuration?: Configuration) { /** * Retrieve all shipment trackers. * @summary List all package trackers - * @param {string} [carrierName] The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` + * @param {string} [carrierName] The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` * @param {string} [createdAfter] * @param {string} [createdBefore] * @param {string} [status] Valid tracker status. <br/>Values: `pending`, `unknown`, `on_hold`, `delivered`, `in_transit`, `delivery_delayed`, `out_for_delivery`, `ready_for_pickup`, `delivery_failed` @@ -17442,7 +17486,7 @@ export interface TrackersApiCreateRequest { /** * - * @type {'allied_express' | 'allied_express_local' | 'amazon_shipping' | 'aramex' | 'asendia_us' | 'australiapost' | 'boxknight' | 'bpost' | 'canadapost' | 'canpar' | 'chronopost' | 'colissimo' | 'dhl_express' | 'dhl_parcel_de' | 'dhl_poland' | 'dhl_universal' | 'dicom' | 'dpd' | 'dpdhl' | 'fedex' | 'fedex_ws' | 'generic' | 'geodis' | 'hay_post' | 'laposte' | 'locate2u' | 'nationex' | 'purolator' | 'roadie' | 'royalmail' | 'sendle' | 'tge' | 'tnt' | 'ups' | 'usps' | 'usps_international' | 'usps_wt' | 'usps_wt_international' | 'zoom2u'} + * @type {'allied_express' | 'allied_express_local' | 'amazon_shipping' | 'aramex' | 'asendia_us' | 'australiapost' | 'boxknight' | 'bpost' | 'canadapost' | 'canpar' | 'chronopost' | 'colissimo' | 'dhl_express' | 'dhl_parcel_de' | 'dhl_poland' | 'dhl_universal' | 'dicom' | 'dpd' | 'dpdhl' | 'fedex' | 'fedex_ws' | 'generic' | 'geodis' | 'hay_post' | 'laposte' | 'locate2u' | 'nationex' | 'purolator' | 'roadie' | 'royalmail' | 'seko' | 'sendle' | 'tge' | 'tnt' | 'ups' | 'usps' | 'usps_international' | 'usps_wt' | 'usps_wt_international' | 'zoom2u'} * @memberof TrackersApiCreate */ readonly carrierName2: CreateCarrierNameEnum @@ -17469,7 +17513,7 @@ export interface TrackersApiCreateRequest { */ export interface TrackersApiListRequest { /** - * The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` + * The unique carrier slug. <br/>Values: `allied_express`, `allied_express_local`, `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u` * @type {string} * @memberof TrackersApiList */ @@ -17668,6 +17712,7 @@ export const CreateCarrierNameEnum = { Purolator: 'purolator', Roadie: 'roadie', Royalmail: 'royalmail', + Seko: 'seko', Sendle: 'sendle', Tge: 'tge', Tnt: 'tnt', diff --git a/packages/types/rest/base.ts b/packages/types/rest/base.ts index d42b832f33..a7a962249d 100644 --- a/packages/types/rest/base.ts +++ b/packages/types/rest/base.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.1`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.1 + * The version of the OpenAPI document: 2024.6.7 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/packages/types/rest/common.ts b/packages/types/rest/common.ts index 2c8feb9ded..db3f12783e 100644 --- a/packages/types/rest/common.ts +++ b/packages/types/rest/common.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.1`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.1 + * The version of the OpenAPI document: 2024.6.7 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/packages/types/rest/configuration.ts b/packages/types/rest/configuration.ts index 9eb86f3a91..2a283e3c2e 100644 --- a/packages/types/rest/configuration.ts +++ b/packages/types/rest/configuration.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.1`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.1 + * The version of the OpenAPI document: 2024.6.7 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/packages/types/rest/index.ts b/packages/types/rest/index.ts index db8478bb28..89e94040e9 100644 --- a/packages/types/rest/index.ts +++ b/packages/types/rest/index.ts @@ -2,9 +2,9 @@ /* eslint-disable */ /** * Karrio API - * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.1`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. + * Karrio is a multi-carrier shipping API that simplifies the integration of logistics carrier services. The Karrio API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. The Karrio API differs for every account as we release new versions. These docs are customized to your version of the API. ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. The current version is `2024.6.7`. Read our API changelog to learn more about backwards compatibility. As a precaution, use API versioning to check a new API version before committing to an upgrade. ## Environments The Karrio API offer the possibility to create and retrieve certain objects in `test_mode`. In development, it is therefore possible to add carrier connections, get live rates, buy labels, create trackers and schedule pickups in `test_mode`. ## Pagination All top-level API resources have support for bulk fetches via \"list\" API methods. For instance, you can list addresses, list shipments, and list trackers. These list API methods share a common structure, taking at least these two parameters: limit, and offset. Karrio utilizes offset-based pagination via the offset and limit parameters. Both parameters take a number as value (see below) and return objects in reverse chronological order. The offset parameter returns objects listed after an index. The limit parameter take a limit on the number of objects to be returned from 1 to 100. ```json { \"count\": 100, \"next\": \"/v1/shipments?limit=25&offset=50\", \"previous\": \"/v1/shipments?limit=25&offset=25\", \"results\": [ { ... }, ] } ``` ## Metadata Updateable Karrio objects—including Shipment and Order have a metadata parameter. You can use this parameter to attach key-value data to these Karrio objects. Metadata is useful for storing additional, structured information on an object. As an example, you could store your user\'s full name and corresponding unique identifier from your system on a Karrio Order object. Do not store any sensitive information as metadata. ## Authentication API keys are used to authenticate requests. You can view and manage your API keys in the Dashboard. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth. Authentication to the API is performed via HTTP Basic Auth. Provide your API token as the basic auth username value. You do not need to provide a password. ```shell $ curl https://instance.api.com/v1/shipments \\ -u key_xxxxxx: # The colon prevents curl from asking for a password. ``` If you need to authenticate via bearer auth (e.g., for a cross-origin request), use `-H \"Authorization: Token key_xxxxxx\"` instead of `-u key_xxxxxx`. All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. * - * The version of the OpenAPI document: 2024.6.1 + * The version of the OpenAPI document: 2024.6.7 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/packages/ui/forms/shipment-options.tsx b/packages/ui/forms/shipment-options.tsx index 09dabffc91..54c61e8bef 100644 --- a/packages/ui/forms/shipment-options.tsx +++ b/packages/ui/forms/shipment-options.tsx @@ -1,209 +1,327 @@ -import { CURRENCY_OPTIONS, NotificationType, ShipmentType } from '@karrio/types'; -import { MetadataEditor, MetadataEditorContext } from './metadata-editor'; -import React, { FormEvent, useContext, useReducer, useState } from 'react'; -import { CheckBoxField } from '../components/checkbox-field'; -import { cleanDict, isEqual, isNone } from '@karrio/lib'; -import { ButtonField } from '../components/button-field'; -import { SelectField } from '../components/select-field'; -import { MetadataObjectTypeEnum } from '@karrio/types'; -import { InputField } from '../components/input-field'; -import { Notify } from '../components/notifier'; -import { Loading } from '../components/loader'; - -interface ShipmentOptionsComponent { - shipment: ShipmentType; - onSubmit: (changes: Partial) => Promise; -} - -function reducer(state: any, { name, value }: { name: string, value: string | boolean }) { - switch (name) { - case 'addCOD': - return cleanDict({ ...state, cash_on_delivery: value === true ? "" : undefined }); - case 'addInsurance': - return cleanDict({ ...state, insurance: value === true ? "" : undefined }); - case 'addDeclaredValue': - return cleanDict({ ...state, declared_value: value === true ? "" : undefined }); - default: - return cleanDict({ ...state, [name]: value || undefined }); - }; -} - -export const ShipmentOptions: React.FC = ({ shipment, onSubmit }) => { - const { notify } = useContext(Notify); - const { loading, setLoading } = useContext(Loading); - const [options, dispatch] = useReducer(reducer, shipment?.options, () => shipment?.options); - const [metadata, setMetadata] = useState(shipment?.metadata); - const [reference, setReference] = useState(shipment?.reference); - - const computeDisable = (shipment: ShipmentType, options: any, metadata: any, reference?: string | null) => { - return ( - (isEqual(shipment.options, options) || (options === ({} as any) && shipment.options === ({} as any))) - && (isEqual(shipment.metadata, metadata) || (metadata === ({} as any) && shipment.metadata === ({} as any))) - && shipment.reference === reference - ) - } - const handleChange = (event: React.ChangeEvent) => { - const target = event.target; - const name: string = target.name; - const value = target.type === 'checkbox' ? target.checked : target.value; - - dispatch({ name, value }); - }; - const handleSubmit = async (e: FormEvent) => { - e.preventDefault(); - try { - if (shipment.id !== undefined) { - setLoading(true); - await onSubmit({ options, metadata, reference }); - notify({ type: NotificationType.success, message: 'Shipment options successfully updated!' }); - } else { - await onSubmit({ options, metadata, reference }); - } - } catch (message: any) { - notify({ type: NotificationType.error, message }); - } - setLoading(false); - }; - - return ( -
            - -
            - - setReference(e.target.value || null)} - placeholder="shipment reference" - className="is-small" - autoComplete="off" /> - -
            - -
            - -
            - - - - - Add signature confirmation - - -
            - - -
            - - - Add insurance - - -
            - - - - - - {options?.currency} - - -
            -
            - -
            - - - - - {CURRENCY_OPTIONS.map(unit => )} - - -
            - -
            - - - Collect On Delivery - - -
            - - - - - - {options?.currency} - - -
            - -
            - - -
            - - - Add Total Value - - -
            - - - - - - {options?.currency} - - -
            -
            - -
            - - - {({ isEditing, editMetadata }) => (<> - -
            -

            Metadata

            - - -
            - -
            - - )}
            -
            - -
            - - Save - - -
            - ) -}; +import { + CURRENCY_OPTIONS, + NotificationType, + ShipmentType, +} from "@karrio/types"; +import { MetadataEditor, MetadataEditorContext } from "./metadata-editor"; +import React, { FormEvent, useContext, useReducer, useState } from "react"; +import { CheckBoxField } from "../components/checkbox-field"; +import { cleanDict, isEqual, isNone } from "@karrio/lib"; +import { ButtonField } from "../components/button-field"; +import { SelectField } from "../components/select-field"; +import { MetadataObjectTypeEnum } from "@karrio/types"; +import { InputField } from "../components/input-field"; +import { Notify } from "../components/notifier"; +import { Loading } from "../components/loader"; +import moment from "moment"; + +interface ShipmentOptionsComponent { + shipment: ShipmentType; + onSubmit: (changes: Partial) => Promise; +} + +function reducer( + state: any, + { name, value }: { name: string; value: string | boolean }, +) { + switch (name) { + case "addCOD": + return cleanDict({ + ...state, + cash_on_delivery: value === true ? "" : undefined, + }); + case "addInsurance": + return cleanDict({ + ...state, + insurance: value === true ? "" : undefined, + }); + case "addDeclaredValue": + return cleanDict({ + ...state, + declared_value: value === true ? "" : undefined, + }); + default: + return cleanDict({ ...state, [name]: value || undefined }); + } +} + +export const ShipmentOptions: React.FC = ({ + shipment, + onSubmit, +}) => { + const { notify } = useContext(Notify); + const { loading, setLoading } = useContext(Loading); + const [options, dispatch] = useReducer( + reducer, + shipment?.options, + () => shipment?.options, + ); + const [metadata, setMetadata] = useState(shipment?.metadata); + const [reference, setReference] = useState(shipment?.reference); + + const computeDisable = ( + shipment: ShipmentType, + options: any, + metadata: any, + reference?: string | null, + ) => { + return ( + (isEqual(shipment.options, options) || + (options === ({} as any) && shipment.options === ({} as any))) && + (isEqual(shipment.metadata, metadata) || + (metadata === ({} as any) && shipment.metadata === ({} as any))) && + shipment.reference === reference + ); + }; + const handleChange = (event: React.ChangeEvent) => { + const target = event.target; + const name: string = target.name; + const value = target.type === "checkbox" ? target.checked : target.value; + + dispatch({ name, value }); + }; + const handleSubmit = async (e: FormEvent) => { + e.preventDefault(); + try { + if (shipment.id !== undefined) { + setLoading(true); + await onSubmit({ options, metadata, reference }); + notify({ + type: NotificationType.success, + message: "Shipment options successfully updated!", + }); + } else { + await onSubmit({ options, metadata, reference }); + } + } catch (message: any) { + notify({ type: NotificationType.error, message }); + } + setLoading(false); + }; + + return ( +
            +
            + setReference(e.target.value || null)} + placeholder="shipment reference" + className="is-small" + autoComplete="off" + /> +
            + +
            + +
            + + dispatch({ + name: "shipping_date", + value: moment(e.target.value).format("YYYY-MM-DDTHH:mm:ssZ"), + }) + } + label="shipping date" + name="shipping_date" + type="datetime-local" + className="is-small" + fieldClass="column mb-0 is-5 px-2 py-2" + /> + + + Add signature confirmation + +
            + +
            + + Add insurance + + +
            + + + + + {options?.currency} + +
            +
            + +
            + + + + {CURRENCY_OPTIONS.map((unit) => ( + + ))} + +
            + +
            + + Collect On Delivery + + +
            + + + + + {options?.currency} + +
            +
            + +
            + + Add Total Value + + +
            + + + + + {options?.currency} + +
            +
            + +
            + + + + {({ isEditing, editMetadata }) => ( + <> +
            +

            Metadata

            + + +
            + +
            + + )} +
            +
            + +
            + + Save + +
            + ); +}; diff --git a/requirements.build.txt b/requirements.build.txt index d79c605e94..a88b1c6a17 100644 --- a/requirements.build.txt +++ b/requirements.build.txt @@ -1,5 +1,4 @@ --extra-index-url https://karrio.gateway.scarf.sh/simple/?sourceBuild -strawberry-graphql==0.234.0 django-constance==3.1.0 Django==4.2.15 diff --git a/requirements.sdk.dev.txt b/requirements.sdk.dev.txt index 26d06b33dc..d97c5f660e 100644 --- a/requirements.sdk.dev.txt +++ b/requirements.sdk.dev.txt @@ -42,6 +42,7 @@ # Carrier Hub Extentions packages -e ./modules/connectors/easypost +-e ./modules/connectors/easyship -e ./modules/connectors/eshipper -e ./modules/connectors/freightcom -e ./modules/connectors/locate2u diff --git a/requirements.server.dev.txt b/requirements.server.dev.txt index 9647b1fe1a..19c133cdb3 100644 --- a/requirements.server.dev.txt +++ b/requirements.server.dev.txt @@ -1,4 +1,3 @@ -strawberry-graphql==0.234.0 django-constance==3.1.0 django-debug-toolbar Django==4.2.15 @@ -46,6 +45,7 @@ Django==4.2.15 -e ./modules/connectors/usps_wt_international -e ./modules/connectors/easypost +-e ./modules/connectors/easyship -e ./modules/connectors/eshipper -e ./modules/connectors/freightcom -e ./modules/connectors/locate2u diff --git a/requirements.txt b/requirements.txt index d457e2a3af..86b23abd37 100644 --- a/requirements.txt +++ b/requirements.txt @@ -133,7 +133,7 @@ rpds-py==0.20.0 sentry-sdk==2.14.0 six==1.16.0 sqlparse==0.5.1 -strawberry-graphql==0.234.0 +strawberry-graphql==0.243.0 strawberry-graphql-django==0.42.0 tablib==3.5.0 tinycss2==1.3.0 diff --git a/schemas/graphql-admin.json b/schemas/graphql-admin.json index 4d617eaa26..69674874ba 100644 --- a/schemas/graphql-admin.json +++ b/schemas/graphql-admin.json @@ -2290,6 +2290,12 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "easyship", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "eshipper", "description": null, @@ -2374,6 +2380,12 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "seko", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "sendle", "description": null, diff --git a/schemas/graphql.json b/schemas/graphql.json index d85045d528..c009dd1158 100644 --- a/schemas/graphql.json +++ b/schemas/graphql.json @@ -5117,6 +5117,12 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "easyship", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "eshipper", "description": null, @@ -5201,6 +5207,12 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "seko", + "description": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "sendle", "description": null, diff --git a/schemas/openapi.yml b/schemas/openapi.yml index 1a6d6ab177..7a78889eda 100644 --- a/schemas/openapi.yml +++ b/schemas/openapi.yml @@ -14,7 +14,7 @@ info: ## Versioning When backwards-incompatible changes are made to the API, a new, dated version is released. - The current version is `2024.6.7`. + The current version is `2024.9`. Read our API changelog to learn more about backwards compatibility. @@ -84,7 +84,7 @@ info: All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure). API requests without authentication will also fail. title: Karrio API - version: 2024.6.7 + version: '2024.9' paths: /: get: @@ -751,9 +751,9 @@ paths: `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, - `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, - `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, - `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, + `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, + `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, + `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`' required: true tags: @@ -824,9 +824,9 @@ paths: `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, - `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, - `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, - `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, + `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, + `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, + `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`' - in: query name: metadata_key @@ -1415,9 +1415,9 @@ paths: `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, - `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, - `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, - `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, + `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, + `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, + `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`' - in: query name: created_after @@ -2302,6 +2302,7 @@ paths: - dpd - dpdhl - easypost + - easyship - eshipper - fedex - fedex_ws @@ -2316,6 +2317,7 @@ paths: - roadie - royalmail - sapient + - seko - sendle - tge - tnt @@ -2396,6 +2398,7 @@ paths: - dpd - dpdhl - easypost + - easyship - eshipper - fedex - fedex_ws @@ -2410,6 +2413,7 @@ paths: - roadie - royalmail - sapient + - seko - sendle - tge - tnt @@ -2490,6 +2494,7 @@ paths: - dpd - dpdhl - easypost + - easyship - eshipper - fedex - fedex_ws @@ -2504,6 +2509,7 @@ paths: - roadie - royalmail - sapient + - seko - sendle - tge - tnt @@ -2677,6 +2683,7 @@ paths: - dpd - dpdhl - easypost + - easyship - eshipper - fedex - fedex_ws @@ -2691,6 +2698,7 @@ paths: - roadie - royalmail - sapient + - seko - sendle - tge - tnt @@ -2826,6 +2834,7 @@ paths: - purolator - roadie - royalmail + - seko - sendle - tge - tnt @@ -2955,9 +2964,9 @@ paths: `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, - `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, - `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, - `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, + `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, + `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, + `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`' - in: query name: created_after @@ -3389,9 +3398,9 @@ paths: `amazon_shipping`, `aramex`, `asendia_us`, `australiapost`, `boxknight`, `bpost`, `canadapost`, `canpar`, `chronopost`, `colissimo`, `dhl_express`, `dhl_parcel_de`, `dhl_poland`, `dhl_universal`, `dicom`, `dpd`, `dpdhl`, - `easypost`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, `geodis`, - `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, `royalmail`, - `sapient`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, + `easypost`, `easyship`, `eshipper`, `fedex`, `fedex_ws`, `freightcom`, `generic`, + `geodis`, `hay_post`, `laposte`, `locate2u`, `nationex`, `purolator`, `roadie`, + `royalmail`, `sapient`, `seko`, `sendle`, `tge`, `tnt`, `ups`, `usps`, `usps_international`, `usps_wt`, `usps_wt_international`, `zoom2u`' - in: query name: created_after @@ -3546,6 +3555,7 @@ paths: - purolator - roadie - royalmail + - seko - sendle - tge - tnt @@ -4818,6 +4828,7 @@ components: - dpd - dpdhl - easypost + - easyship - eshipper - fedex - fedex_ws @@ -4832,6 +4843,7 @@ components: - roadie - royalmail - sapient + - seko - sendle - tge - tnt @@ -4842,7 +4854,7 @@ components: - usps_wt_international - zoom2u type: string - x-spec-enum-id: 43d080c02eec5b40 + x-spec-enum-id: 3812983dc743ed62 description: A carrier connection type. display_name: type: string @@ -4913,6 +4925,7 @@ components: - dpd - dpdhl - easypost + - easyship - eshipper - fedex - fedex_ws @@ -4927,6 +4940,7 @@ components: - roadie - royalmail - sapient + - seko - sendle - tge - tnt @@ -4937,7 +4951,7 @@ components: - usps_wt_international - zoom2u type: string - x-spec-enum-id: 43d080c02eec5b40 + x-spec-enum-id: 3812983dc743ed62 description: A carrier connection type. carrier_id: type: string @@ -5016,6 +5030,7 @@ components: - dpd - dpdhl - easypost + - easyship - eshipper - fedex - fedex_ws @@ -5030,6 +5045,7 @@ components: - roadie - royalmail - sapient + - seko - sendle - tge - tnt @@ -5040,7 +5056,7 @@ components: - usps_wt_international - zoom2u type: string - x-spec-enum-id: 43d080c02eec5b40 + x-spec-enum-id: 3812983dc743ed62 description: Indicates a carrier (type) display_name: type: string @@ -6014,6 +6030,7 @@ components: - $ref: '#/components/schemas/tnt' - $ref: '#/components/schemas/tge' - $ref: '#/components/schemas/sendle' + - $ref: '#/components/schemas/seko' - $ref: '#/components/schemas/sapient' - $ref: '#/components/schemas/royalmail' - $ref: '#/components/schemas/roadie' @@ -6028,6 +6045,7 @@ components: - $ref: '#/components/schemas/fedex_ws' - $ref: '#/components/schemas/fedex' - $ref: '#/components/schemas/eshipper' + - $ref: '#/components/schemas/easyship' - $ref: '#/components/schemas/easypost' - $ref: '#/components/schemas/dpdhl' - $ref: '#/components/schemas/dpd' @@ -8189,6 +8207,7 @@ components: - dpd - dpdhl - easypost + - easyship - eshipper - fedex - fedex_ws @@ -8203,6 +8222,7 @@ components: - roadie - royalmail - sapient + - seko - sendle - tge - tnt @@ -8213,7 +8233,7 @@ components: - usps_wt_international - zoom2u type: string - x-spec-enum-id: 43d080c02eec5b40 + x-spec-enum-id: 3812983dc743ed62 description: A carrier connection type. carrier_id: type: string @@ -9014,7 +9034,8 @@ components: : true,\n \"email_notification_to\": \"shipper@mail.com\",\n\ \ \"hold_at_location\": true,\n \"paperless_trade\"\ : true,\n \"preferred_service\": \"fedex_express_saver\",\n\ - \ \"shipment_date\": \"2020-01-01\",\n \"shipment_note\"\ + \ \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \ + \ \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\"\ : \"This is a shipment note\",\n \"signature_confirmation\"\ : true,\n \"saturday_delivery\": true,\n \"is_return\"\ : true,\n \"doc_files\": [\n {\n \ @@ -9120,7 +9141,8 @@ components: : true,\n \"email_notification_to\": \"shipper@mail.com\",\n\ \ \"hold_at_location\": true,\n \"paperless_trade\"\ : true,\n \"preferred_service\": \"fedex_express_saver\",\n\ - \ \"shipment_date\": \"2020-01-01\",\n \"shipment_note\"\ + \ \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \ + \ \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\"\ : \"This is a shipment note\",\n \"signature_confirmation\"\ : true,\n \"saturday_delivery\": true,\n \"is_return\"\ : true,\n \"doc_files\": [\n {\n \ @@ -9325,7 +9347,8 @@ components: : true,\n \"email_notification_to\": \"shipper@mail.com\",\n\ \ \"hold_at_location\": true,\n \"paperless_trade\"\ : true,\n \"preferred_service\": \"fedex_express_saver\",\n\ - \ \"shipment_date\": \"2020-01-01\",\n \"shipment_note\"\ + \ \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \ + \ \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\"\ : \"This is a shipment note\",\n \"signature_confirmation\"\ : true,\n \"saturday_delivery\": true,\n \"is_return\"\ : true,\n \"doc_files\": [\n {\n \ @@ -9438,7 +9461,8 @@ components: : true,\n \"email_notification_to\": \"shipper@mail.com\",\n\ \ \"hold_at_location\": true,\n \"paperless_trade\"\ : true,\n \"preferred_service\": \"fedex_express_saver\",\n\ - \ \"shipment_date\": \"2020-01-01\",\n \"shipment_note\"\ + \ \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \ + \ \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\"\ : \"This is a shipment note\",\n \"signature_confirmation\"\ : true,\n \"saturday_delivery\": true,\n \"is_return\"\ : true,\n \"doc_files\": [\n {\n \ @@ -9573,7 +9597,8 @@ components: : true,\n \"email_notification_to\": \"shipper@mail.com\",\n\ \ \"hold_at_location\": true,\n \"paperless_trade\"\ : true,\n \"preferred_service\": \"fedex_express_saver\",\n\ - \ \"shipment_date\": \"2020-01-01\",\n \"shipment_note\"\ + \ \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \ + \ \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\"\ : \"This is a shipment note\",\n \"signature_confirmation\"\ : true,\n \"saturday_delivery\": true,\n \"is_return\"\ : true,\n \"doc_files\": [\n {\n \ @@ -9620,7 +9645,8 @@ components: : true,\n \"email_notification_to\": \"shipper@mail.com\",\n\ \ \"hold_at_location\": true,\n \"paperless_trade\"\ : true,\n \"preferred_service\": \"fedex_express_saver\",\n\ - \ \"shipment_date\": \"2020-01-01\",\n \"shipment_note\"\ + \ \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \ + \ \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\"\ : \"This is a shipment note\",\n \"signature_confirmation\"\ : true,\n \"saturday_delivery\": true,\n \"is_return\"\ : true,\n \"doc_files\": [\n {\n \ @@ -9682,7 +9708,8 @@ components: : true,\n \"email_notification_to\": \"shipper@mail.com\",\n\ \ \"hold_at_location\": true,\n \"paperless_trade\"\ : true,\n \"preferred_service\": \"fedex_express_saver\",\n\ - \ \"shipment_date\": \"2020-01-01\",\n \"shipment_note\"\ + \ \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \ + \ \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\"\ : \"This is a shipment note\",\n \"signature_confirmation\"\ : true,\n \"saturday_delivery\": true,\n \"is_return\"\ : true,\n \"doc_files\": [\n {\n \ @@ -9800,7 +9827,8 @@ components: : true,\n \"email_notification_to\": \"shipper@mail.com\",\n\ \ \"hold_at_location\": true,\n \"paperless_trade\"\ : true,\n \"preferred_service\": \"fedex_express_saver\",\n\ - \ \"shipment_date\": \"2020-01-01\",\n \"shipment_note\"\ + \ \"shipment_date\": \"2020-01-01\", # TODO: deprecate\n \ + \ \"shipping_date\": \"2020-01-01T00:00\",\n \"shipment_note\"\ : \"This is a shipment note\",\n \"signature_confirmation\"\ : true,\n \"saturday_delivery\": true,\n \"is_return\"\ : true,\n \"doc_files\": [\n {\n \ @@ -10149,6 +10177,7 @@ components: - purolator - roadie - royalmail + - seko - sendle - tge - tnt @@ -10159,7 +10188,7 @@ components: - usps_wt_international - zoom2u type: string - x-spec-enum-id: 5af7591a7c1a0806 + x-spec-enum-id: 0253dcf2d811f867 description: The tracking carrier account_number: type: string @@ -10878,6 +10907,13 @@ components: type: string required: - api_key + easyship: + type: object + properties: + access_token: + type: string + required: + - access_token eshipper: type: object properties: @@ -11084,6 +11120,13 @@ components: - client_id - client_secret - shipping_account_id + seko: + type: object + properties: + access_key: + type: string + required: + - access_key sendle: type: object properties: @@ -11337,6 +11380,7 @@ tags: | tnt | TNT | | tge | TGE | | sendle | Sendle | + | seko | SEKO Logistics | | sapient | SAPIENT | | royalmail | Royal Mail | | roadie | Roadie | @@ -11350,6 +11394,7 @@ tags: | fedex_ws | FedEx Web Service | | fedex | FedEx | | eshipper | eShipper | + | easyship | Easyship | | easypost | EasyPost | | dpdhl | Deutsche Post DHL | | dpd | DPD | @@ -11573,6 +11618,15 @@ tags: | sendle_standard_dropoff | STANDARD-DROPOFF | | sendle_express_pickup | EXPRESS-PICKUP | + ### SEKO Logistics + | Code | Service Name | + | ------------ | ------------ | + | seko_ecommerce_standard_tracked | eCommerce Standard Tracked | + | seko_ecommerce_express_tracked | eCommerce Express Tracked | + | seko_domestic_express | Domestic Express | + | seko_domestic_standard | Domestic Standard | + | seko_domestic_large_parcel | Domestic Large Parcel | + ### SAPIENT | Code | Service Name | | ------------ | ------------ | @@ -12026,200 +12080,418 @@ tags: ### eShipper | Code | Service Name | | ------------ | ------------ | - | eshipper_aramex_economy_document_express | 5000049 | - | eshipper_aramex_economy_parcel_express | 5000048 | - | eshipper_aramex_priority_letter_express | 5000046 | - | eshipper_aramex_priority_parcel_express | 5000047 | - | eshipper_canada_post_air_parcel_intl | 5000030 | - | eshipper_canada_post_expedited | 5000026 | - | eshipper_canada_post_expedited_parcel_usa | 5000032 | - | eshipper_canada_post_priority_courier | 5000024 | - | eshipper_canada_post_regular | 5000027 | - | eshipper_canada_post_small_packet | 5000033 | - | eshipper_canada_post_small_packet_international_air | 5000034 | - | eshipper_canada_post_small_packet_international_surface | 5000035 | - | eshipper_canada_post_surface_parcel_intl | 5000031 | - | eshipper_canada_post_xpress_post | 5000025 | - | eshipper_canada_post_xpress_post_intl | 5000029 | - | eshipper_canada_post_xpress_post_usa | 5000028 | - | eshipper_canada_post_xpresspost | 5000181 | - | eshipper_canpar_express_letter | 5000129 | - | eshipper_canpar_express_pak | 5000130 | - | eshipper_canpar_express_parcel | 5000131 | - | eshipper_canpar_ground | 5000184 | - | eshipper_canpar_international | 5000135 | - | eshipper_canpar_select_letter | 5000126 | - | eshipper_canpar_select_pak | 5000127 | - | eshipper_canpar_select_parcel | 5000128 | - | eshipper_canpar_usa | 5000125 | - | eshipper_canpar_usa_select_letter | 5000132 | - | eshipper_canpar_usa_select_pak | 5000133 | - | eshipper_canpar_usa_select_parcel | 5000134 | - | eshipper_cpx_canada_post | 5000454 | - | eshipper_day_ross_ltl | 5000457 | - | eshipper_dhl_dhl_ground | 5000022 | - | eshipper_dhl_economy_select | 5000186 | - | eshipper_dhl_esi_export | 5000018 | - | eshipper_dhl_express_1030am | 5000016 | - | eshipper_dhl_express_12pm | 5000017 | - | eshipper_dhl_express_900 | 5000180 | - | eshipper_dhl_express_9am | 5000014 | - | eshipper_dhl_express_envelope | 5000023 | - | eshipper_dhl_express_worldwide | 5000015 | - | eshipper_dhl_import_express | 5000019 | - | eshipper_dhl_import_express_12pm | 5000021 | - | eshipper_dhl_import_express_9am | 5000020 | - | eshipper_ltl_apex_v | 5000414 | - | eshipper_ltl_apex_trucking | 5000120 | - | eshipper_ltl_apex_trucking_v | 5000124 | - | eshipper_ltl_fastfrate_rail | 5000118 | - | eshipper_ltl_kindersley_expedited | 5000420 | - | eshipper_ltl_kindersley_rail | 5000121 | - | eshipper_ltl_kindersley_regular | 5000421 | - | eshipper_ltl_kindersley_road | 5000122 | - | eshipper_ltl_kingsway_road | 5000117 | - | eshipper_ltl_m_o_eastbound | 5000123 | - | eshipper_ltl_mo_rail | 5000116 | - | eshipper_ltl_national_fastfreight_rail | 5000114 | - | eshipper_ltl_national_fastfreight_road | 5000119 | - | eshipper_ltl_vitran_rail | 5000112 | - | eshipper_ltl_vitran_road | 5000113 | - | eshipper_ltl_western_canada_rail | 5000115 | - | eshipper_federal_express_2day_freight | 5000177 | - | eshipper_federal_express_3day_freight | 5000178 | - | eshipper_federal_express_fedex_2nd_day | 5000173 | - | eshipper_federal_express_fedex_economy | 5000174 | - | eshipper_federal_express_fedex_first_overnight | 5000170 | - | eshipper_federal_express_fedex_ground | 5000171 | - | eshipper_federal_express_fedex_ground_us | 5000183 | - | eshipper_federal_express_fedex_international_priority | 8000017 | - | eshipper_federal_express_fedex_international_priority_express | 8000018 | - | eshipper_federal_express_fedex_intl_economy | 5000179 | - | eshipper_federal_express_fedex_intl_economy_freight | 5000176 | - | eshipper_federal_express_fedex_intl_priority | 8000022 | - | eshipper_federal_express_fedex_intl_priority_express | 8000023 | - | eshipper_federal_express_fedex_intl_priority_freight | 5000175 | - | eshipper_federal_express_fedex_priority | 5000169 | - | eshipper_federal_express_fedex_standard_overnight | 5000172 | - | eshipper_flashbird_ground | 8000032 | - | eshipper_fleet_optics_ground | 5000458 | - | eshipper_project44_a_duie_pyle | 5000103 | - | eshipper_project44_aaa_cooper_transportation | 5000081 | - | eshipper_project44_aberdeen_express | 5000092 | - | eshipper_project44_abfs | 5000111 | - | eshipper_project44_averitt_express | 5000079 | - | eshipper_project44_brown_transfer_company | 5000102 | - | eshipper_project44_central_freight_lines | 5000066 | - | eshipper_project44_central_transport | 5000085 | - | eshipper_project44_chicago_suburban_express | 5000086 | - | eshipper_project44_clear_lane_freight | 5000095 | - | eshipper_project44_con_way_freight | 5000057 | - | eshipper_project44_crosscountry_courier | 5000083 | - | eshipper_project44_day_ross | 5000099 | - | eshipper_project44_day_ross_v | 5000101 | - | eshipper_project44_dayton_freight_lines | 5000072 | - | eshipper_project44_dependable_highway_express | 5000091 | - | eshipper_project44_dohrn_transfer_company | 5000078 | - | eshipper_project44_dugan_truck_line | 5000076 | - | eshipper_project44_estes_express_lines | 5000061 | - | eshipper_project44_expedited_freight_systems | 5000077 | - | eshipper_project44_fedex_freight_canada | 5000105 | - | eshipper_project44_fedex_freight_east | 5000059 | - | eshipper_project44_fedex_freight_national_canada | 5000107 | - | eshipper_project44_fedex_freight_national_usa | 5000108 | - | eshipper_project44_fedex_freight_usa | 5000106 | - | eshipper_project44_fedex_national | 5000060 | - | eshipper_project44_forwardair | 5000062 | - | eshipper_project44_frontline_freight | 5000096 | - | eshipper_project44_holland_motor_express | 5000051 | - | eshipper_project44_lakeville_motor_express | 5000074 | - | eshipper_project44_manitoulin_tlx_inc | 5000104 | - | eshipper_project44_midwest_motor_express | 5000075 | - | eshipper_project44_monroe_transportation_services | 5000087 | - | eshipper_project44_n_m_transfer | 5000090 | - | eshipper_project44_new_england_motor_freight | 5000064 | - | eshipper_project44_new_penn_motor_express | 5000054 | - | eshipper_project44_pitt_ohio | 5000071 | - | eshipper_project44_polaris | 5000094 | - | eshipper_project44_purolator_freight | 5000100 | - | eshipper_project44_rl_carriers | 5000058 | - | eshipper_project44_roadrunner_transportation_services | 5000052 | - | eshipper_project44_saia_motor_freight | 5000067 | - | eshipper_project44_southeastern_freight_lines | 5000082 | - | eshipper_project44_southwestern_motor_transport | 5000084 | - | eshipper_project44_standard_forwarding | 5000093 | - | eshipper_project44_total_transportation_distribution | 5000097 | - | eshipper_project44_tst_overland_express | 5000098 | - | eshipper_project44_ups | 5000073 | - | eshipper_project44_usf_reddaway | 5000080 | - | eshipper_project44_valley_cartage | 5000089 | - | eshipper_project44_vision_express_ltl | 5000065 | - | eshipper_project44_ward_trucking | 5000088 | - | eshipper_project44_xpo_logistics | 5000110 | - | eshipper_project44_xpress_global_systems | 5000109 | - | eshipper_project44_yrc | 5000053 | - | eshipper_purolator_express | 5000001 | - | eshipper_purolator_express_1030 | 5000003 | - | eshipper_purolator_express_9am | 5000002 | - | eshipper_purolator_expresscheque | 5000011 | - | eshipper_purolator_ground | 5000010 | - | eshipper_purolator_ground_1030 | 5000013 | - | eshipper_purolator_ground_9am | 5000012 | - | eshipper_purolator_puroletter | 5000004 | - | eshipper_purolator_puroletter_1030 | 5000006 | - | eshipper_purolator_puroletter_9am | 5000005 | - | eshipper_purolator_puropak | 5000007 | - | eshipper_purolator_puropak_1030 | 5000009 | - | eshipper_purolator_puropak_9am | 5000008 | - | eshipper_pyk_ground_advantage | 5000459 | - | eshipper_pyk_priority_mail | 5000460 | - | eshipper_sameday_9am_guaranteed | 5000156 | - | eshipper_sameday_am_service | 5000157 | - | eshipper_sameday_ground_service | 5000158 | - | eshipper_sameday_h1_deliver_to_curbside | 5000159 | - | eshipper_sameday_h2_delivery_to_room_of_choice | 5000160 | - | eshipper_sameday_h3_delivery_packaging_removal | 5000161 | - | eshipper_sameday_h4_delivery_to_curbside | 5000162 | - | eshipper_sameday_h5_delivery_to_room_of_choice_2_man | 5000163 | - | eshipper_sameday_h6_delivery_packaging_removal_2_man | 5000164 | - | eshipper_sameday_ltl_service | 5000165 | - | eshipper_sameday_pm_service | 5000166 | - | eshipper_sameday_urgent_letter | 5000167 | - | eshipper_sameday_urgent_pac | 5000168 | - | eshipper_skip | 8000019 | - | eshipper_smartepost_intl_dhl_parcel_international_direct_ngr | 8000053 | - | eshipper_smartepost_intl_global_mail_business_priority | 5000137 | - | eshipper_smartepost_intl_global_mail_business_standard | 5000138 | - | eshipper_smartepost_intl_global_mail_packet_plus_priority | 5000139 | - | eshipper_smartepost_intl_global_mail_packet_priority | 5000140 | - | eshipper_smartepost_intl_global_mail_packet_standard | 5000141 | - | eshipper_smartepost_intl_global_mail_parcel_direct_priority_yyz | 5000142 | - | eshipper_smartepost_intl_global_mail_parcel_direct_standard_yyz | 5000143 | - | eshipper_smartepost_intl_global_mail_parcel_priority | 5000144 | - | eshipper_smartepost_intl_global_mail_parcel_standard | 5000145 | - | eshipper_ups_expedited | 5000182 | - | eshipper_ups_express | 5000036 | - | eshipper_ups_express_early_am | 5000040 | - | eshipper_ups_ground | 5000043 | - | eshipper_ups_second_day_air_am | 5000045 | - | eshipper_ups_standard | 5000039 | - | eshipper_ups_three_day_select | 5000041 | - | eshipper_ups_ups_saver | 5000042 | - | eshipper_ups_worldwide_expedited | 5000038 | - | eshipper_ups_worldwide_express | 5000037 | - | eshipper_ups_worldwide_express_plus | 5000044 | - | eshipper_usps_first_class_mail | 5000146 | - | eshipper_usps_first_class_package_return_service | 8000002 | - | eshipper_usps_library_mail | 5000147 | - | eshipper_usps_media_mail | 5000148 | - | eshipper_usps_parcel_select | 5000149 | - | eshipper_usps_pbx | 5000154 | - | eshipper_usps_pbx_lightweight | 5000155 | - | eshipper_usps_priority_mail | 5000150 | - | eshipper_usps_priority_mail_express | 5000151 | - | eshipper_usps_priority_mail_open_and_distribute | 5000152 | - | eshipper_usps_priority_mail_return_service | 8000003 | - | eshipper_usps_retail_ground_formerly_standard_post | 5000153 | + | eshipper_fedex_2day_freight | 2Day Freight | + | eshipper_fedex_3day_freight | 3Day Freight | + | eshipper_sameday_9_am_guaranteed | 9:AM GUARANTEED | + | eshipper_project44_a_duie_pyle | A Duie Pyle` | + | eshipper_project44_aaa_cooper_transportation | AAA Cooper Transportation`` | + | eshipper_project44_aberdeen_express | Aberdeen Express` | + | eshipper_project44_abf_freight | ABF Freight`` | + | eshipper_project44_abfs | ABFS | + | eshipper_sameday_am_service | AM Service | + | eshipper_apex_trucking | Apex Trucking | + | eshipper_project44_averitt_express | Averitt Express` | + | eshipper_project44_brown_transfer_company | BROWN TRANSFER COMPANY` | + | eshipper_canada_worldwide_next_flight_out | Canada Worldwide Next Flight Out | + | eshipper_project44_central_freight_lines | Central Freight Lines` | + | eshipper_project44_central_transport | Central Transport`` | + | eshipper_project44_chicago_suburban_express | Chicago Suburban Express` | + | eshipper_project44_clear_lane_freight | Clear Lane Freight` | + | eshipper_project44_con_way_freight | Con-way Freight` | + | eshipper_project44_conway_freight | Con-way Freight`` | + | eshipper_project44_crosscountry_courier | Crosscountry Courier` | + | eshipper_project44_day_ross | Day & Ross | + | eshipper_day_and_ross | DAY AND ROSS | + | eshipper_day_ross_r_and_l | DAY AND ROSS (R AND L) | + | eshipper_project44_daylight_transport | Daylight Transport`` | + | eshipper_project44_dayton_freight_lines | Dayton Freight Lines` | + | eshipper_project44_dependable_highway_express | Dependable Highway Express`` | + | eshipper_dhl_ground | DHL Ground | + | eshipper_smarte_post_int_l_dhl_packet_international | DHL Packet International | + | eshipper_smarte_post_int_l_dhl_parcel_international_direct | DHL Parcel International Direct | + | eshipper_smarte_post_int_l_dhl_parcel_international_standard | DHL Parcel International Standard | + | eshipper_project44_dohrn_transfer_company | Dohrn Transfer Company` | + | eshipper_project44_dugan_truck_line | Dugan Truck Line` | + | eshipper_aramex_economy_document_express | Economy Document Express | + | eshipper_aramex_economy_parcel_express | Economy Parcel Express | + | eshipper_envoi_same_day_delivery | Envoi - Same Day Delivery | + | eshipper_dhl_esi_export | ESI Export | + | eshipper_project44_estes_express_lines | Estes`` | + | eshipper_ups_expedited | Expedited | + | eshipper_project44_expedited_freight_systems | Expedited Freight Systems` | + | eshipper_ups_express | Express | + | eshipper_dhl_express_1030am | Express 1030AM | + | eshipper_dhl_express_12pm | Express 12PM | + | eshipper_dhl_express_9am | EXPRESS 9:00 | + | eshipper_dhl_express_envelope | Express Envelope | + | eshipper_canpar_express_letter | Express Letter | + | eshipper_canpar_express_pak | Express Pak | + | eshipper_canpar_express_parcel | Express Parcel | + | eshipper_dhl_express_worldwide | Express Worldwide | + | eshipper_fastfrate_rail | RAIL | + | eshipper_fedex_2nd_day | Fedex 2nd Day | + | eshipper_fedex_economy | Fedex Economy | + | eshipper_fedex_first_overnight | Fedex First Overnight | + | eshipper_project44_fedex_freight_canada | Fedex Freight Canada` | + | eshipper_project44_fedex_freight_east | FedEx Freight East` | + | eshipper_fedex_freight_economy | FedEx Freight Economy | + | eshipper_project44_fedex_freight_national_canada | FedEx Freight National Canada | + | eshipper_project44_fedex_freight_national_usa | FedEx Freight National USA | + | eshipper_fedex_freight_priority | FedEx Freight Priority | + | eshipper_project44_fedex_freight_usa | Fedex Freight USA | + | eshipper_fedex_ground | Fedex Ground | + | eshipper_fedex_international_connect_plus | FedEx Intl Connect Plus | + | eshipper_fedex_intl_economy | Fedex Intl Economy | + | eshipper_fedex_intl_economy_freight | Fedex Intl Economy Freight | + | eshipper_fedex_intl_priority | Fedex Intl Priority | + | eshipper_fedex_intl_priority_express | Fedex Intl Priority Express | + | eshipper_fedex_intl_priority_freight | Fedex Intl Priority Freight | + | eshipper_project44_fedex_national | FedEx National` | + | eshipper_fedex_priority | Fedex Priority | + | eshipper_fedex_standard_overnight | Fedex Standard Overnight | + | eshipper_project44_forwardair | ForwardAir` | + | eshipper_project44_frontline_freight | Frontline Freight` | + | eshipper_ups_ground | Ground | + | eshipper_sameday_ground_service | GROUND SERVICE | + | eshipper_sameday_h1_deliver_to_curbside | H1 Deliver to Curbside | + | eshipper_sameday_h3_delivery_packaging_removal | H3 Delivery & Packaging Removal | + | eshipper_sameday_h4_delivery_to_curbside | H4 Delivery to Curbside | + | eshipper_sameday_h5_delivery_to_room_of_choice_2_man | H5 Delivery to Room of Choice - 2 man | + | eshipper_sameday_h6_delivery_packaging_removal_2_man | H6 Delivery & packaging Removal - 2 man | + | eshipper_project44_holland_motor_express | Holland Motor Express` | + | eshipper_dhl_import_express | Import Express | + | eshipper_dhl_import_express_12pm | Import Express 12PM | + | eshipper_dhl_import_express_9am | Import Express 9AM | + | eshipper_project44_jp_express | J.P. Express`` | + | eshipper_kindersley_expedited | Kindersley Expedited | + | eshipper_kindersley_rail | Kindersley Rail * | + | eshipper_kindersley_regular | Kindersley Regular | + | eshipper_kindersley_road | Kindersley Road * | + | eshipper_project44_lakeville_motor_express | Lakeville Motor Express` | + | eshipper_day_ross_ltl | LTL | + | eshipper_sameday_ltl_service | LTL SERVICE | + | eshipper_mainliner_road | Mainliner Road | + | eshipper_project44_manitoulin_tlx_inc | MANITOULIN TLX INC` | + | eshipper_project44_midwest_motor_express | Midwest Motor Express` | + | eshipper_mo_rail | MO Rail | + | eshipper_project44_monroe_transportation_services | Monroe Transportation Services` | + | eshipper_project44_mountain_valley_express | Mountain Valley Express`` | + | eshipper_project44_n_m_transfer | N&M Transfer` | + | eshipper_project44_new_england_motor_freight | New England Motor Freight` | + | eshipper_project44_new_penn_motor_express | New Penn Motor Express` | + | eshipper_project44_oak_harbor_freight | Oak Harbor Freight`` | + | eshipper_project44_old_dominion_freight | Old Dominion Freight`` | + | eshipper_project44_pitt_ohio | Pitt Ohio`` | + | eshipper_sameday_pm_service | PM SERVICE | + | eshipper_project44_polaris | Polaris | + | eshipper_aramex_priority_letter_express | Priority Letter Express | + | eshipper_aramex_priority_parcel_express | Priority Parcel Express | + | eshipper_purolator_express | Purolator Express | + | eshipper_purolator_express_1030 | Purolator Express 1030 | + | eshipper_purolator_express_9am | Purolator Express 9AM | + | eshipper_purolator_expresscheque | Purolator ExpressCheque | + | eshipper_purolator_ground | Purolator Ground | + | eshipper_purolator_ground_1030 | Purolator Ground 1030 | + | eshipper_purolator_ground_9am | Purolator Ground 9AM | + | eshipper_purolator | Puroletter | + | eshipper_purolator_10_30 | Puroletter 10:30 | + | eshipper_purolator_9am | Puroletter 9AM | + | eshipper_purolator_puropak | PuroPak | + | eshipper_purolator_puropak_10_30 | PuroPak 10:30 | + | eshipper_purolator_puropak_9am | PuroPak 9AM | + | eshipper_project44_rl_carriers | R+L Carriers`` | + | eshipper_project44_roadrunner_transportation_services | Roadrunner Transportation Systems`` | + | eshipper_project44_saia_ltl_freight | Saia LTL Freight`` | + | eshipper_project44_saia_motor_freight | SAIA Motor Freight` | + | eshipper_ups_second_day_air_a_m | Second Day Air A.M. | + | eshipper_canpar_select_letter | Select Letter | + | eshipper_canpar_select_pak | Select Pak | + | eshipper_canpar_select_parcel | Select Parcel | + | eshipper_project44_southeastern_freight_lines | SouthEastern Freight`` | + | eshipper_project44_southwestern_motor_transport | Southwestern Motor Transport` | + | eshipper_speedy | Speedy | + | eshipper_ups_standard | Standard | + | eshipper_project44_standard_forwarding | Standard Forwarding` | + | eshipper_tforce_freight_ltl | TForce Freight LTL | + | eshipper_tforce_freight_ltl_guaranteed | TForce Freight LTL - Guaranteed | + | eshipper_tforce_freight_ltl_guaranteed_a_m | TForce Freight LTL - Guaranteed A.M. | + | eshipper_tforce_standard_ltl | TForce Standard LTL | + | eshipper_ups_three_day_select | Three-Day Select | + | eshipper_project44_total_transportation_distribution | Total Transportation & Distribution` | + | eshipper_project44_tst_overland_express | TST Overland Express | + | eshipper_project44_ups | UPS`` | + | eshipper_ups_freight | UPS-Freight | + | eshipper_ups_freight_canada | UPS Freight Canada | + | eshipper_ups_saver | UPS Saver | + | eshipper_sameday_urgent_letter | URGENT LETTER | + | eshipper_sameday_urgent_pac | URGENT PAC | + | eshipper_canpar_usa | USA | + | eshipper_project44_usf_reddaway | USF Reddaway` | + | eshipper_ods_usps_light_weight_parcel_budget | USPS Light Weight Parcel Budget | + | eshipper_ods_usps_light_weight_parcel_expedited | USPS Light Weight Parcel Expedited | + | eshipper_ods_usps_parcel_select_budget | USPS Parcel Select Budget | + | eshipper_ods_usps_parcel_select_expedited | USPS Parcel Select Expedited | + | eshipper_project44_valley_cartage | Valley Cartage` | + | eshipper_project44_vision_express_ltl | Vision Express LTL` | + | eshipper_project44_ward_trucking | WARD Trucking`` | + | eshipper_western_canada_rail | Western Canada Rail | + | eshipper_ups_worldwide_expedited | Worldwide Expedited | + | eshipper_ups_worldwide_express | Worldwide Express | + | eshipper_project44_xpo_logistics | XPO Logistics | + | eshipper_project44_xpress_global_systems | Xpress Global Systems | + | eshipper_canadapost_xpress_post | Xpress Post | + | eshipper_project44_yrc | YRC` | + | eshipper_canadapost_air_parcel_intl | Air Parcel Intl | + | eshipper_canadapost_expedited_parcel_usa | Expedited Parcel USA | + | eshipper_canadapost_priority_courier | Priority Courier | + | eshipper_canadapost_regular | Regular | + | eshipper_canadapost_small_packet | Small Packet | + | eshipper_canadapost_small_packet_international_air | Small Packet International Air | + | eshipper_canadapost_small_packet_international_surface | Small Packet International Surface | + | eshipper_canadapost_surface_parcel_intl | Surface Parcel Intl | + | eshipper_canadapost_xpress_post_intl | Xpress Post Intl | + | eshipper_canadapost_xpress_post_usa | Xpress Post USA | + | eshipper_canpar_international | International | + | eshipper_canpar_usa_select_letter | USA Select Letter | + | eshipper_canpar_usa_select_pak | USA Select Pak | + | eshipper_canpar_usa_select_parcel | USA Select Parcel | + | eshipper_cpx_canada_post | Canada Post | + | eshipper_dhl_economy_select | ECONOMY SELECT | + | eshipper_apex_v | Apex - V | + | eshipper_apex_trucking_v | Apex Trucking-V | + | eshipper_kingsway_road | Kingsway Road | + | eshipper_m_o_eastbound | M-O Eastbound | + | eshipper_national_fastfreight_rail | National Fastfreight Rail | + | eshipper_national_fastfreight_road | National Fastfreight Road | + | eshipper_vitran_rail | Vitran Rail | + | eshipper_vitran_road | Vitran Road | + | eshipper_fedex_ground_us | Fedex Ground US | + | eshipper_fedex_international_priority | FedEx International Priority | + | eshipper_fedex_international_priority_express | FedEx International Priority Express | + | eshipper_project44_day_ross_v | Day & Ross-V | + | eshipper_project44_purolator_freight | Purolator Freight | + | eshipper_project44_r_l_carriers | R+L Carriers` | + | eshipper_pyk_ground_advantage | Ground Advantage | + | eshipper_usps_priority_mail | Priority Mail | + | eshipper_skip | Skip | + | eshipper_smarte_post_intl_dhl_parcel_international_direct_ngr | DHL Parcel International Direct (NGR) | + | eshipper_smarte_post_intl_global_mail_business_priority | GLOBAL Mail Business Priority | + | eshipper_smarte_post_intl_global_mail_business_standard | GLOBAL Mail Business Standard | + | eshipper_smarte_post_intl_global_mail_packet_plus_priority | Global Mail Packet Plus Priority | + | eshipper_smarte_post_intl_global_mail_packet_priority | Global Mail Packet Priority | + | eshipper_smarte_post_intl_global_mail_packet_standard | GLOBAL Mail Packet Standard | + | eshipper_smarte_post_intl_global_mail_parcel_direct_priority_yyz | Global Mail Parcel Direct Priority (YYZ) | + | eshipper_smarte_post_intl_global_mail_parcel_direct_standard_yyz | Global Mail Parcel Direct Standard (YYZ) | + | eshipper_smarte_post_intl_global_mail_parcel_priority | Global Mail Parcel Priority | + | eshipper_smarte_post_intl_global_mail_parcel_standard | Global Mail Parcel Standard | + | eshipper_ups_express_early_am | Express Early AM | + | eshipper_ups_worldwide_express_plus | Worldwide Express Plus | + | eshipper_usps_first_class_package_return_service | First-Class Package Return Service | + | eshipper_usps_library_mail | Library Mail | + | eshipper_usps_media_mail | Media Mail | + | eshipper_usps_parcel_select | Parcel Select | + | eshipper_usps_pbx | PBX | + | eshipper_usps_pbx_lightweight | PBX Lightweight | + | eshipper_usps_priority_mail_express | Priority Mail Express | + | eshipper_usps_priority_mail_open_and_distribute | Priority Mail Open AND Distribute | + | eshipper_usps_priority_mail_return_service | Priority Mail Return Service | + | eshipper_usps_retail_ground_formerly_standard_post | Retail Ground (formerly Standard Post) | + + ### Easyship + | Code | Service Name | + | ------------ | ------------ | + | easyship_aramex_parcel | Parcel | + | easyship_sfexpress_domestic | Domestic | + | easyship_hkpost_speedpost | Speedpost | + | easyship_hkpost_air_mail_tracking | Air Mail Tracking | + | easyship_hkpost_eexpress | EExpress | + | easyship_hkpost_air_parcel | Air Parcel | + | easyship_sfexpress_mail | Mail | + | easyship_hkpost_local_parcel | Local Parcel | + | easyship_ups_saver_net_battery | SaverNet Battery | + | easyship_ups_worldwide_saver | Worldwide Saver® | + | easyship_hkpost_air_parcel_xp | Air Parcel XP | + | easyship_singpost_airmail | Airmail | + | easyship_simplypost_express | Express | + | easyship_singpost_e_pack | ePack | + | easyship_usps_priority_mail_express | Priority Mail Express | + | easyship_usps_first_class_international | First Class International | + | easyship_usps_priority_mail_international_express | Priority Mail International Express | + | easyship_usps_priority_mail_international | Priority Mail International | + | easyship_fedex_international_priority | InternationalPriority | + | easyship_usps_ground_advantage | GroundAdvantage | + | easyship_usps_priority_mail | PriorityMail | + | easyship_ups_worldwide_express | Worldwide Express® | + | easyship_ups_ground | Ground | + | easyship_ups_worldwide_expedited | Worldwide Expedited® | + | easyship_fedex_international_economy | International Economy® | + | easyship_fedex_priority_overnight | Priority Overnight® | + | easyship_fedex_standard_overnight | Standard Overnight® | + | easyship_fedex_2_day_a_m | 2Day® A.M. | + | easyship_fedex_2_day | 2Day® | + | easyship_fedex_express_saver | Express Saver® | + | easyship_ups_next_day_air | Next Day Air® | + | easyship_ups_2nd_day_air | 2nd Day Air® | + | easyship_ups_3_day_select | 3DaySelect | + | easyship_ups_standard | Standard | + | easyship_usps_media | Media | + | easyship_sfexpress_standard_express | Standard Express | + | easyship_sfexpress_economy_express | Economy Express | + | easyship_global_post_global_post_economy | GlobalPost Economy | + | easyship_global_post_global_post_priority | GlobalPost Priority | + | easyship_singpost_speed_post_priority | SpeedPost Priority | + | easyship_skypostal_standard_private_delivery | Standard Private Delivery | + | easyship_tnt_1000_express | 1000Express | + | easyship_toll_express_parcel | Express Parcel | + | easyship_sendle_premium_international | Premium International | + | easyship_sendle_premium_domestic | PremiumDomestic | + | easyship_sendle_pro_domestic | Pro Domestic | + | easyship_quantium_e_pac | ePac | + | easyship_usps_pm_flat_rate | PM Flat Rate | + | easyship_usps_pmi_flat_rate | PMI Flat Rate | + | easyship_quantium_mail | Mail | + | easyship_quantium_international_mail | International Mail | + | easyship_apc_parcel_connect_expedited | ParcelConnect Expedited | + | easyship_aramex_epx | EPX | + | easyship_tnt_road_express | Road Express | + | easyship_tnt_overnight | Overnight | + | easyship_usps_pme_flat_rate | PME Flat Rate | + | easyship_usps_pmei_flat_rate | PMEI Flat Rate | + | easyship_easyship_cdek_russia | CDEK Russia | + | easyship_usps_pmei_flat_rate_padded_envelope | PMEI Flat Rate Padded Envelope | + | easyship_easyship_mate_bike_shipping_services | Mate Bike Shipping Services | + | easyship_dhl_express_documents | Documents | + | easyship_evri_uk_home_delivery | UK_HomeDelivery | + | easyship_evri_home_delivery | HomeDelivery | + | easyship_dpd_next_day | NextDay | + | easyship_dpd_classic_parcel | ClassicParcel | + | easyship_dpd_classic_expresspak | ClassicExpresspak | + | easyship_dpd_air_classic | AirClassic | + | easyship_singpost_speed_post_express | SpeedPostExpress | + | easyship_ups_expedited | Expedited | + | easyship_tnt_0900_express | 0900Express | + | easyship_tnt_1200_express | 1200Express | + | easyship_canadapost_domestic_regular_parcel | Domestic Regular Parcel | + | easyship_canadapost_domestic_expedited_parcel | Domestic Expedited Parcel | + | easyship_canadapost_domestic_xpresspost_domestic | Domestic Xpresspost Domestic | + | easyship_canadapost_domestic_priority | Domestic Priority | + | easyship_canadapost_usa_small_packet_air | USA Small Packet Air | + | easyship_canadapost_usa_expedited_parcel | USA Expedited Parcel | + | easyship_canadapost_usa_tracked_parcel | USA Tracked Parcel | + | easyship_canadapost_usa_xpresspost | USA Xpresspost | + | easyship_canadapost_international_xpresspost | International Xpresspost | + | easyship_canadapost_international_small_packet_air | International Small Packet Air | + | easyship_canadapost_international_tracked_packet | International Tracked Packet | + | easyship_canadapost_international_small_packet_surface | International Small Packet Surface | + | easyship_canadapost_international_parcel_surface | International Parcel Surface | + | easyship_canadapost_international_parcel_air | International Parcel Air | + | easyship_couriersplease_atl | ATL | + | easyship_couriersplease_signature | Signature | + | easyship_canpar_international | International | + | easyship_canpar_usa | USA | + | easyship_canpar_select_usa | Select USA | + | easyship_canpar_usa_pak | USA Pak | + | easyship_canpar_overnight_pak | Overnight Pak | + | easyship_canpar_select_pak | Select Pak | + | easyship_canpar_select | Select | + | easyship_ups_express_saver | ExpressSaver | + | easyship_ebay_send_sf_express_economy_express | SF Express Economy Express | + | easyship_ups_worldwide_express_plus | Worldwide Express Plus® | + | easyship_quantium_intl_priority | IntlPriority | + | easyship_ups_next_day_air_early | Next Day Air® Early | + | easyship_ups_next_day_air_saver | Next Day Air Saver® | + | easyship_ups_2nd_day_air_a_m | 2nd Day Air® A.M. | + | easyship_fedex_home_delivery | Home Delivery® | + | easyship_asendia_country_tracked | CountryTracked | + | easyship_asendia_fully_tracked | FullyTracked | + | easyship_dhl_express_express_dg | ExpressDG | + | easyship_fedex_international_priority_dg | InternationalPriorityDG | + | easyship_colissimo_expert | Expert | + | easyship_colissimo_access | Access | + | easyship_mondialrelay_international_home_delivery | InternationalHomeDelivery | + | easyship_fedex_economy | Economy | + | easyship_dhl_express_express1200 | Express1200 | + | easyship_dhl_express_express0900 | Express0900 | + | easyship_dhl_express_express1800 | Express1800 | + | easyship_dhl_express_express_worldwide | ExpressWorldwide | + | easyship_dhl_express_economy_select | EconomySelect | + | easyship_dhl_express_express1030_international | Express1030International | + | easyship_dhl_express_domestic_express0900 | DomesticExpress0900 | + | easyship_dhl_express_domestic_express1200 | DomesticExpress1200 | + | easyship_evri_lightand_large | LightandLarge | + | easyship_ninjavan_standard_deliveries | Standard Deliveries | + | easyship_couriersplease_parcel_tier2 | ParcelTier2 | + | easyship_skypostal_postal_packet_standard | Postal Packet Standard | + | easyship_easyshipdemo_basic | Basic | + | easyship_easyshipdemo_tracked | Tracked | + | easyship_easyshipdemo_battery | Battery | + | easyship_dhl_express_domestic_express | DomesticExpress | + | easyship_fedex_smart_post | SmartPost | + | easyship_fedex_international_connect_plus | InternationalConnectPlus | + | easyship_ups_saver_net | SaverNet | + | easyship_chronopost_chrono_classic | ChronoClassic | + | easyship_chronopost_chrono_express | ChronoExpress | + | easyship_chronopost_chrono10 | Chrono10 | + | easyship_chronopost_chrono13 | Chrono13 | + | easyship_chronopost_chrono18 | Chrono18 | + | easyship_omniparcel_parcel_expedited | Parcel Expedited | + | easyship_omniparcel_parcel_expedited_plus | Parcel Expedited Plus | + | easyship_evri_home_delivery_domestic | HomeDeliveryDomestic | + | easyship_evri_home_domestic_postable | HomeDomesticPostable | + | easyship_skypostal_packet_express | PacketExpress | + | easyship_parcelforce_express48_large | Express48Large | + | easyship_parcelforce_express24 | Express24 | + | easyship_parcelforce_express1000 | Express1000 | + | easyship_parcelforce_express_am | ExpressAM | + | easyship_parcelforce_express48 | Express48 | + | easyship_parcelforce_euro_economy | EuroEconomy | + | easyship_parcelforce_global_priority | GlobalPriority | + | easyship_fedex_cross_border_trakpak_worldwide_hermes | TrakpakWorldwideHermes | + | easyship_fedex_cross_border_trakpak_worldwide | TrakpakWorldwide | + | easyship_evri_home_domestic_postable_next_day | HomeDomesticPostableNextDay | + | easyship_dpd_express_pak_next_day | ExpressPakNextDay | + | easyship_dpd_classic_express_pak | ClassicExpressPak | + | easyship_evri_light_and_large | LightAndLarge | + | easyship_evri_home_delivery_domestic_next_day | Home Delivery Domestic NextDay | + | easyship_evri_home_delivery_eu | HomeDeliveryEU | + | easyship_asendia_epaq_plus | EpaqPlus | + | easyship_asendia_epaq_select | EpaqSelect | + | easyship_usps_lightweight_standard | LightweightStandard | + | easyship_usps_lightweight_economy | LightweightEconomy | + | easyship_ups_domestic_express_saver | DomesticExpressSaver | + | easyship_apg_e_packet | ePacket | + | easyship_apg_e_packet_plus | ePacketPlus | + | easyship_couriersplease_ecom_base_kilo | EComBaseKilo | + | easyship_couriersplease_stdatlbase_kilo | STDATLBaseKilo | + | easyship_nz_post_international_courier | InternationalCourier | + | easyship_nz_post_air_small_parcel | AirSmallParcel | + | easyship_nz_post_tracked_air_satchel | TrackedAirSatchel | + | easyship_nz_post_economy_parcel | Economy Parcel | + | easyship_nz_post_parcel_local | ParcelLocal | + | easyship_dhl_express_express_domestic | ExpressDomestic | + | easyship_alliedexpress_roadexpress | Roadexpress | + | easyship_flatexportrate_asendiae_paqselect | AsendiaePAQSelect | + | easyship_flatexportrate_asendia_country_tracked | AsendiaCountryTracked | + | easyship_singpost_nsaver | NSaver | + | easyship_colisprive_home | Home | + | easyship_osm_domestic_parcel | Domestic Parcel | + | easyship_malca_amit_door_to_door | Door To Door | + | easyship_ninjavan_next_day_deliveries | Next Day Deliveries | + | easyship_asendia_e_paqselect | ePAQSelect | + | easyship_dpd_classic | Classic | + | easyship_usps_priority_mail_signature | PriorityMailSignature | + | easyship_bringer_packet_standard | PacketStandard | + | easyship_bringer_prime | Prime | + | easyship_orangeds_expedited_ddp | ExpeditedDDP | + | easyship_orangeds_expedited_ddu | ExpeditedDDU | + | easyship_sendle_preferred | Preferred | + | easyship_ups_ground_saver | GroundSaver | + | easyship_ups_upsground_saver_us | UPSGroundSaverUS | + | easyship_passport_priority_delcon_dduewr | PriorityDelconDDUEWR | + | easyship_passport_priority_delcon_ddpewr | PriorityDelconDDPEWR | + | easyship_bringer_tracked_parcel | TrackedParcel | + | easyship_ups_express_early | ExpressEarly | + | easyship_ups_wolrdwide_express | WolrdwideExpress | ### EasyPost | Code | Service Name | diff --git a/source.requirements.txt b/source.requirements.txt index 85567b1892..bd52721a16 100644 --- a/source.requirements.txt +++ b/source.requirements.txt @@ -134,7 +134,7 @@ rpds-py==0.20.0 sentry-sdk==2.14.0 six==1.16.0 sqlparse==0.5.1 -strawberry-graphql==0.234.0 +strawberry-graphql==0.243.0 strawberry-graphql-django==0.42.0 tablib==3.5.0 tinycss2==1.3.0