From 9e08ba0e3f0a65e5db85d2ac6d829cd844468e96 Mon Sep 17 00:00:00 2001 From: Roj Vroemen Date: Mon, 18 Dec 2023 17:19:31 +0100 Subject: [PATCH] Upgrade to v8 --- src/Connectors/OfferConnector.php | 2 +- src/Connectors/OrderConnector.php | 14 ++++++++++--- src/Types/Order.php | 3 +++ src/Types/OrderItem.php | 3 +++ src/Types/OrderStatus.php | 3 +++ src/Types/ReducedOrder.php | 6 ++++++ src/Types/ReducedOrderItem.php | 6 ++++++ src/Util/RequestUtil.php | 2 +- src/Util/ResponseUtil.php | 2 +- tests/Integration/OffersTest.php | 20 +++++++++---------- tests/Integration/OrdersTest.php | 20 +++++++++---------- tests/Integration/ProcessStatusesTest.php | 8 ++++---- tests/Integration/SubscriptionsTest.php | 12 +++++------ ...est__get_fbb_orders_with_status_all__1.yml | 4 ++-- ...st__get_fbb_orders_with_status_open__1.yml | 4 ++-- ...est__get_fbr_orders_with_status_all__1.yml | 8 ++++---- ...st__get_fbr_orders_with_status_open__1.yml | 8 ++++---- ..._fbb_order_with_order_id_1042823870__1.yml | 4 ++-- ..._fbb_order_with_order_id_1043965710__1.yml | 2 +- ..._fbr_order_with_order_id_1042831430__1.yml | 4 ++-- ..._fbr_order_with_order_id_1043946570__1.yml | 2 +- ...fbr_order_with_order_id_a4k8290lp0__1.yml} | 2 +- ..._fbr_order_with_order_id_b3k8290lp0__1.yml | 2 +- 23 files changed, 85 insertions(+), 56 deletions(-) rename tests/Integration/__snapshots__/{OrdersTest__get_single_fbr_order_with_order_id_A4K8290LP0__1.yml => OrdersTest__get_single_fbr_order_with_order_id_a4k8290lp0__1.yml} (94%) diff --git a/src/Connectors/OfferConnector.php b/src/Connectors/OfferConnector.php index 0ba128f..eb404ff 100644 --- a/src/Connectors/OfferConnector.php +++ b/src/Connectors/OfferConnector.php @@ -75,7 +75,7 @@ public function requestOfferExportFile(): ProcessStatus public function retrieveOfferExportFile(string $exportId): ExportOfferCollection { $data = $this->send('GET', "offers/export/$exportId", headers: [ - 'Accept' => 'application/vnd.retailer.v7+csv', + 'Accept' => 'application/vnd.retailer.v8+csv', ]); return ExportOfferCollection::fromPayload($data); diff --git a/src/Connectors/OrderConnector.php b/src/Connectors/OrderConnector.php index 96ef85e..8b81852 100644 --- a/src/Connectors/OrderConnector.php +++ b/src/Connectors/OrderConnector.php @@ -18,11 +18,19 @@ protected function api(): Api return Api::Retailer; } - public function orders(FulfilmentMethod $fulfilment = FulfilmentMethod::ByRetailer, OrderStatus $status = OrderStatus::Open): ReducedOrderCollection + public function orders( + FulfilmentMethod $fulfilment = FulfilmentMethod::ByRetailer, + OrderStatus $status = OrderStatus::Open, + ?int $changeIntervalMinute = null, + ?string $latestChangeDate = null, + + ): ReducedOrderCollection { $data = $this->send('GET', 'orders', query: [ - 'fulfilment-method' => $fulfilment, - 'status' => $status, + 'fulfilment-method' => $fulfilment, + 'status' => $status, + 'change-internal-minute' => $changeIntervalMinute, + 'latest-change-date' => $latestChangeDate, ]); return ReducedOrderCollection::fromPayload($data); diff --git a/src/Types/Order.php b/src/Types/Order.php index b2d94b9..22a6489 100644 --- a/src/Types/Order.php +++ b/src/Types/Order.php @@ -4,6 +4,8 @@ namespace Rojtjo\Bol\Types; +use DateTimeImmutable; + final class Order { public function __construct( @@ -91,6 +93,7 @@ public static function fromPayload(array $payload): self $orderItem['additionalServices'] ?? [], ), ), + new DateTimeImmutable($orderItem['latestChangedDateTime']) ), $payload['orderItems'], ), diff --git a/src/Types/OrderItem.php b/src/Types/OrderItem.php index d808d16..66651a3 100644 --- a/src/Types/OrderItem.php +++ b/src/Types/OrderItem.php @@ -4,6 +4,8 @@ namespace Rojtjo\Bol\Types; +use DateTimeImmutable; + final class OrderItem { public function __construct( @@ -18,6 +20,7 @@ public function __construct( public readonly float $unitPrice, public readonly float $commission, public readonly AdditionalServiceCollection $additionalServices, + public readonly DateTimeImmutable $latestChangedDateTime, ) { } diff --git a/src/Types/OrderStatus.php b/src/Types/OrderStatus.php index c5fde55..7cbcbe4 100644 --- a/src/Types/OrderStatus.php +++ b/src/Types/OrderStatus.php @@ -7,5 +7,8 @@ enum OrderStatus: string { case Open = 'OPEN'; + + case Shipped = 'shipped'; + case All = 'ALL'; } diff --git a/src/Types/ReducedOrder.php b/src/Types/ReducedOrder.php index d30e577..53d9c16 100644 --- a/src/Types/ReducedOrder.php +++ b/src/Types/ReducedOrder.php @@ -4,6 +4,8 @@ namespace Rojtjo\Bol\Types; +use DateTimeImmutable; + final class ReducedOrder { /** @@ -26,9 +28,13 @@ public static function fromPayload(array $payload): self fn (array $item) => new ReducedOrderItem( orderItemId: (string) $item['orderItemId'], ean: (string) $item['ean'], + fulfilmentMethod: FulfilmentMethod::from($item['fulfilmentMethod']), + fulfilmentStatus: OrderStatus::from($item['fulfilmentStatus']), quantity: (int) $item['quantity'], quantityShipped: (int) $item['quantityShipped'], quantityCancelled: (int) $item['quantityCancelled'], + cancellationRequest: (bool) $item['cancellationRequest'], + latestChangedDateTime: new DateTimeImmutable($item['latestChangedDateTime']), ), $payload['orderItems'] ?? [], ), diff --git a/src/Types/ReducedOrderItem.php b/src/Types/ReducedOrderItem.php index 0101541..cde07a9 100644 --- a/src/Types/ReducedOrderItem.php +++ b/src/Types/ReducedOrderItem.php @@ -4,14 +4,20 @@ namespace Rojtjo\Bol\Types; +use DateTimeImmutable; + final class ReducedOrderItem { public function __construct( public readonly string $orderItemId, public readonly string $ean, + public readonly FulfilmentMethod $fulfilmentMethod, + public readonly OrderStatus $fulfilmentStatus, public readonly int $quantity, public readonly int $quantityShipped, public readonly int $quantityCancelled, + public readonly bool $cancellationRequest, + public readonly DateTimeImmutable $latestChangedDateTime, ) { } diff --git a/src/Util/RequestUtil.php b/src/Util/RequestUtil.php index f5e9aa2..0d2286b 100644 --- a/src/Util/RequestUtil.php +++ b/src/Util/RequestUtil.php @@ -8,7 +8,7 @@ final class RequestUtil { - public const CONTENT_TYPE = 'application/vnd.retailer.v7+json'; + public const CONTENT_TYPE = 'application/vnd.retailer.v8+json'; public static function createRequest(string $method, string $uri, array $headers = [], array $query = [], mixed $body = null): Request { diff --git a/src/Util/ResponseUtil.php b/src/Util/ResponseUtil.php index db30a9f..52b5d8f 100644 --- a/src/Util/ResponseUtil.php +++ b/src/Util/ResponseUtil.php @@ -22,7 +22,7 @@ public static function assertOk(ResponseInterface $response): void public static function decodeBody(ResponseInterface $response): mixed { $contentType = $response->getHeaderLine('Content-Type'); - if (str_contains($contentType, 'application/vnd.retailer.v7+json')) { + if (str_contains($contentType, 'application/vnd.retailer.v8+json')) { return self::decodeJson($response); } diff --git a/tests/Integration/OffersTest.php b/tests/Integration/OffersTest.php index d8674e6..08a4aa6 100644 --- a/tests/Integration/OffersTest.php +++ b/tests/Integration/OffersTest.php @@ -23,7 +23,7 @@ final class OffersTest extends IntegrationTestCase { /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-OFFERS.html#_create_an_offer_export_csv_file + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-OFFERS.html#_create_an_offer_export_csv_file */ public function create_an_offer_export_csv_file(): void { @@ -36,7 +36,7 @@ public function create_an_offer_export_csv_file(): void /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-OFFERS.html#_retrieve_an_offer_export_csv_file + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-OFFERS.html#_retrieve_an_offer_export_csv_file */ public function retrieve_an_offer_export_csv_file(): void { @@ -49,7 +49,7 @@ public function retrieve_an_offer_export_csv_file(): void /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-OFFERS.html#_retrieve_an_offer + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-OFFERS.html#_retrieve_an_offer */ public function retrieve_an_offer(): void { @@ -62,7 +62,7 @@ public function retrieve_an_offer(): void /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-OFFERS.html#_update_of_an_already_existing_offer_with_offerid_13722de8_8182_d161_5422_4a0a1caab5c8 + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-OFFERS.html#_update_of_an_already_existing_offer_with_offerid_13722de8_8182_d161_5422_4a0a1caab5c8 */ public function create_fbr_offer_for_ean_9780471117094_with_condition_new_with_vvb_proposition(): void { @@ -98,7 +98,7 @@ public function create_fbr_offer_for_ean_9780471117094_with_condition_new_with_v /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-OFFERS.html#_create_fbr_offer_for_ean_0045496420253_with_condition_moderate + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-OFFERS.html#_create_fbr_offer_for_ean_0045496420253_with_condition_moderate */ public function create_fbr_offer_for_ean_0045496420253_with_condition_moderate(): void @@ -136,7 +136,7 @@ function create_fbr_offer_for_ean_0045496420253_with_condition_moderate(): void /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-OFFERS.html#_delete_an_already_existing_offer_that_is_known_with_offerid_13722de8_8182_d161_5422_4a0a1caab5c8 + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-OFFERS.html#_delete_an_already_existing_offer_that_is_known_with_offerid_13722de8_8182_d161_5422_4a0a1caab5c8 */ public function delete_an_already_existing_offer_that_is_known_with_offerid_13722de8_8182_d161_5422_4a0a1caab5c8(): void @@ -150,7 +150,7 @@ function delete_an_already_existing_offer_that_is_known_with_offerid_13722de8_81 /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-OFFERS.html#_update_the_price_for_a_specific_offer + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-OFFERS.html#_update_the_price_for_a_specific_offer */ public function update_the_price_for_a_specific_offer(): void @@ -174,7 +174,7 @@ function update_the_price_for_a_specific_offer(): void /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-OFFERS.html#_update_the_current_stock_level_for_offerid_13722de8_8182_d161_5422_4a0a1caab5c8 + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-OFFERS.html#_update_the_current_stock_level_for_offerid_13722de8_8182_d161_5422_4a0a1caab5c8 */ public function update_the_current_stock_level_for_offerid_13722de8_8182_d161_5422_4a0a1caab5c8(): void @@ -190,7 +190,7 @@ function update_the_current_stock_level_for_offerid_13722de8_8182_d161_5422_4a0a /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-OFFERS.html#_update_of_an_already_existing_offer_with_offerid_13722de8_8182_d161_5422_4a0a1caab5c8 + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-OFFERS.html#_update_of_an_already_existing_offer_with_offerid_13722de8_8182_d161_5422_4a0a1caab5c8 */ public function update_of_an_already_existing_offer_with_offerid_13722de8_8182_d161_5422_4a0a1caab5c8(): void @@ -214,7 +214,7 @@ function update_of_an_already_existing_offer_with_offerid_13722de8_8182_d161_542 /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-OFFERS.html#_update_of_an_already_existing_offer_with_offerid_13722de8_8182_d161_5422_4a0a1caab5c8_2 + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-OFFERS.html#_update_of_an_already_existing_offer_with_offerid_13722de8_8182_d161_5422_4a0a1caab5c8_2 */ public function update_of_an_already_existing_offer_with_offerid_13722de8_8182_d161_5422_4a0a1caab5c8_2(): void diff --git a/tests/Integration/OrdersTest.php b/tests/Integration/OrdersTest.php index 562fc3f..e15b693 100644 --- a/tests/Integration/OrdersTest.php +++ b/tests/Integration/OrdersTest.php @@ -11,7 +11,7 @@ final class OrdersTest extends IntegrationTestCase { /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-ORDERS.html#_get_single_fbb_order_with_order_id_1042823870 + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-ORDERS.html#_get_single_fbb_order_with_order_id_1042823870 */ public function get_single_fbb_order_with_order_id_1042823870(): void { @@ -24,7 +24,7 @@ public function get_single_fbb_order_with_order_id_1042823870(): void /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-ORDERS.html#_get_single_fbr_order_with_order_id_1042831430 + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-ORDERS.html#_get_single_fbr_order_with_order_id_1042831430 */ public function get_single_fbr_order_with_order_id_1042831430(): void { @@ -37,7 +37,7 @@ public function get_single_fbr_order_with_order_id_1042831430(): void /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-ORDERS.html#_get_single_fbr_order_with_order_id_1042831430 + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-ORDERS.html#_get_single_fbr_order_with_order_id_1042831430 */ public function get_single_fbb_order_with_order_id_1043965710(): void { @@ -50,7 +50,7 @@ public function get_single_fbb_order_with_order_id_1043965710(): void /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-ORDERS.html#_get_single_fbr_order_with_order_id_a4k8290lp0 + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-ORDERS.html#_get_single_fbr_order_with_order_id_a4k8290lp0 */ public function get_single_fbr_order_with_order_id_a4k8290lp0(): void { @@ -63,7 +63,7 @@ public function get_single_fbr_order_with_order_id_a4k8290lp0(): void /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-ORDERS.html#_get_single_fbr_order_with_order_id_1043946570 + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-ORDERS.html#_get_single_fbr_order_with_order_id_1043946570 */ public function get_single_fbr_order_with_order_id_1043946570(): void { @@ -76,7 +76,7 @@ public function get_single_fbr_order_with_order_id_1043946570(): void /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-ORDERS.html#_get_single_fbr_order_with_order_id_b3k8290lp0 + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-ORDERS.html#_get_single_fbr_order_with_order_id_b3k8290lp0 */ public function get_single_fbr_order_with_order_id_b3k8290lp0(): void { @@ -89,7 +89,7 @@ public function get_single_fbr_order_with_order_id_b3k8290lp0(): void /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-ORDERS.html#_get_fbb_orders_with_status_all + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-ORDERS.html#_get_fbb_orders_with_status_all */ public function get_fbb_orders_with_status_all(): void { @@ -102,7 +102,7 @@ public function get_fbb_orders_with_status_all(): void /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-ORDERS.html#_get_fbb_orders_with_status_open + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-ORDERS.html#_get_fbb_orders_with_status_open */ public function get_fbb_orders_with_status_open(): void { @@ -115,7 +115,7 @@ public function get_fbb_orders_with_status_open(): void /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-ORDERS.html#_get_fbr_orders_with_status_all + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-ORDERS.html#_get_fbr_orders_with_status_all */ public function get_fbr_orders_with_status_all(): void { @@ -128,7 +128,7 @@ public function get_fbr_orders_with_status_all(): void /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-ORDERS.html#_get_fbr_orders_with_status_open + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-ORDERS.html#_get_fbr_orders_with_status_open */ public function get_fbr_orders_with_status_open(): void { diff --git a/tests/Integration/ProcessStatusesTest.php b/tests/Integration/ProcessStatusesTest.php index 9b7e4cb..438ce4d 100644 --- a/tests/Integration/ProcessStatusesTest.php +++ b/tests/Integration/ProcessStatusesTest.php @@ -8,7 +8,7 @@ final class ProcessStatusesTest extends IntegrationTestCase { /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-PROCESS_STATUS.html#_generate_a_process_status_pending_using_entity_id_and_event_type + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-PROCESS_STATUS.html#_generate_a_process_status_pending_using_entity_id_and_event_type */ public function generate_a_process_status_pending_using_entity_id_and_event_type(): void { @@ -21,7 +21,7 @@ public function generate_a_process_status_pending_using_entity_id_and_event_type /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-PROCESS_STATUS.html#_generate_a_process_status_failure_using_entity_id_and_event_type + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-PROCESS_STATUS.html#_generate_a_process_status_failure_using_entity_id_and_event_type */ public function generate_a_process_status_failure_using_entity_id_and_event_type(): void { @@ -34,7 +34,7 @@ public function generate_a_process_status_failure_using_entity_id_and_event_type /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-PROCESS_STATUS.html#_generate_a_process_status_timeout_using_entity_id_and_event_type + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-PROCESS_STATUS.html#_generate_a_process_status_timeout_using_entity_id_and_event_type */ public function generate_a_process_status_timeout_using_entity_id_and_event_type(): void { @@ -47,7 +47,7 @@ public function generate_a_process_status_timeout_using_entity_id_and_event_type /** * @test - * @see https://api.bol.com/retailer/public/Retailer-API/demo/v7-PROCESS_STATUS.html#_generate_a_process_status_success_using_entity_id_and_event_type + * @see https://api.bol.com/retailer/public/Retailer-API/demo/v8-PROCESS_STATUS.html#_generate_a_process_status_success_using_entity_id_and_event_type */ public function generate_a_process_status_success_using_entity_id_and_event_type(): void { diff --git a/tests/Integration/SubscriptionsTest.php b/tests/Integration/SubscriptionsTest.php index 668ed31..92fa826 100644 --- a/tests/Integration/SubscriptionsTest.php +++ b/tests/Integration/SubscriptionsTest.php @@ -8,7 +8,7 @@ final class SubscriptionsTest extends IntegrationTestCase { /** * @test - * @see https://api.bol.com/retailer/public/api/demo/v7-SUBSCRIPTIONS.html#_retrieve_push_notification_subscription_list + * @see https://api.bol.com/retailer/public/api/demo/v8-SUBSCRIPTIONS.html#_retrieve_push_notification_subscription_list */ public function retrieve_push_notification_subscription_list(): void { @@ -21,7 +21,7 @@ public function retrieve_push_notification_subscription_list(): void /** * @test - * @see https://api.bol.com/retailer/public/api/demo/v7-SUBSCRIPTIONS.html#_trigger_sending_of_a_test_push_notification_for_subscription + * @see https://api.bol.com/retailer/public/api/demo/v8-SUBSCRIPTIONS.html#_trigger_sending_of_a_test_push_notification_for_subscription */ public function trigger_sending_of_a_test_push_notification_for_subscription(): void { @@ -34,7 +34,7 @@ public function trigger_sending_of_a_test_push_notification_for_subscription(): /** * @test - * @see https://api.bol.com/retailer/public/api/demo/v7-SUBSCRIPTIONS.html#_create_push_notification_subscription + * @see https://api.bol.com/retailer/public/api/demo/v8-SUBSCRIPTIONS.html#_create_push_notification_subscription */ public function create_push_notification_subscription(): void { @@ -47,7 +47,7 @@ public function create_push_notification_subscription(): void /** * @test - * @see https://api.bol.com/retailer/public/api/demo/v7-SUBSCRIPTIONS.html#_delete_existing_push_notification_subscription + * @see https://api.bol.com/retailer/public/api/demo/v8-SUBSCRIPTIONS.html#_delete_existing_push_notification_subscription */ public function delete_existing_push_notification_subscription(): void { @@ -60,7 +60,7 @@ public function delete_existing_push_notification_subscription(): void /** * @test - * @see https://api.bol.com/retailer/public/api/demo/v7-SUBSCRIPTIONS.html#_retrieve_push_notification_subscription + * @see https://api.bol.com/retailer/public/api/demo/v8-SUBSCRIPTIONS.html#_retrieve_push_notification_subscription */ public function retrieve_push_notification_subscription(): void { @@ -73,7 +73,7 @@ public function retrieve_push_notification_subscription(): void /** * @test - * @see https://api.bol.com/retailer/public/api/demo/v7-SUBSCRIPTIONS.html#_update_existing_push_notification_subscription + * @see https://api.bol.com/retailer/public/api/demo/v8-SUBSCRIPTIONS.html#_update_existing_push_notification_subscription */ public function update_existing_push_notification_subscription(): void { diff --git a/tests/Integration/__snapshots__/OrdersTest__get_fbb_orders_with_status_all__1.yml b/tests/Integration/__snapshots__/OrdersTest__get_fbb_orders_with_status_all__1.yml index 9679c63..a269287 100644 --- a/tests/Integration/__snapshots__/OrdersTest__get_fbb_orders_with_status_all__1.yml +++ b/tests/Integration/__snapshots__/OrdersTest__get_fbb_orders_with_status_all__1.yml @@ -1,8 +1,8 @@ - orderId: '1043965710' orderPlacedDateTime: '2019-04-30T21:56:39+02:00' - orderItems: [{ orderItemId: '6107989317', ean: '8717418510749', quantity: 2, quantityShipped: 1, quantityCancelled: 1 }] + orderItems: [{ orderItemId: '6107989317', ean: '8717418510749', fulfilmentMethod: { name: ByBol, value: FBB }, fulfilmentStatus: { name: Open, value: OPEN }, quantity: 2, quantityShipped: 1, quantityCancelled: 1, cancellationRequest: false, latestChangedDateTime: '2019-04-30T21:56:39+02:00' }] - orderId: '1042823870' orderPlacedDateTime: '2019-04-30T16:47:32+02:00' - orderItems: [{ orderItemId: '6107771545', ean: '8785056370398', quantity: 1, quantityShipped: 1, quantityCancelled: 0 }, { orderItemId: '6107771546', ean: '8785073140359', quantity: 1, quantityShipped: 1, quantityCancelled: 0 }] + orderItems: [{ orderItemId: '6107771545', ean: '8785056370398', fulfilmentMethod: { name: ByBol, value: FBB }, fulfilmentStatus: { name: Open, value: OPEN }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, cancellationRequest: false, latestChangedDateTime: '2019-04-30T16:47:32+02:00' }, { orderItemId: '6107771546', ean: '8785073140359', fulfilmentMethod: { name: ByBol, value: FBB }, fulfilmentStatus: { name: Open, value: OPEN }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, cancellationRequest: false, latestChangedDateTime: '2019-04-30T16:47:32+02:00' }] diff --git a/tests/Integration/__snapshots__/OrdersTest__get_fbb_orders_with_status_open__1.yml b/tests/Integration/__snapshots__/OrdersTest__get_fbb_orders_with_status_open__1.yml index 9679c63..a269287 100644 --- a/tests/Integration/__snapshots__/OrdersTest__get_fbb_orders_with_status_open__1.yml +++ b/tests/Integration/__snapshots__/OrdersTest__get_fbb_orders_with_status_open__1.yml @@ -1,8 +1,8 @@ - orderId: '1043965710' orderPlacedDateTime: '2019-04-30T21:56:39+02:00' - orderItems: [{ orderItemId: '6107989317', ean: '8717418510749', quantity: 2, quantityShipped: 1, quantityCancelled: 1 }] + orderItems: [{ orderItemId: '6107989317', ean: '8717418510749', fulfilmentMethod: { name: ByBol, value: FBB }, fulfilmentStatus: { name: Open, value: OPEN }, quantity: 2, quantityShipped: 1, quantityCancelled: 1, cancellationRequest: false, latestChangedDateTime: '2019-04-30T21:56:39+02:00' }] - orderId: '1042823870' orderPlacedDateTime: '2019-04-30T16:47:32+02:00' - orderItems: [{ orderItemId: '6107771545', ean: '8785056370398', quantity: 1, quantityShipped: 1, quantityCancelled: 0 }, { orderItemId: '6107771546', ean: '8785073140359', quantity: 1, quantityShipped: 1, quantityCancelled: 0 }] + orderItems: [{ orderItemId: '6107771545', ean: '8785056370398', fulfilmentMethod: { name: ByBol, value: FBB }, fulfilmentStatus: { name: Open, value: OPEN }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, cancellationRequest: false, latestChangedDateTime: '2019-04-30T16:47:32+02:00' }, { orderItemId: '6107771546', ean: '8785073140359', fulfilmentMethod: { name: ByBol, value: FBB }, fulfilmentStatus: { name: Open, value: OPEN }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, cancellationRequest: false, latestChangedDateTime: '2019-04-30T16:47:32+02:00' }] diff --git a/tests/Integration/__snapshots__/OrdersTest__get_fbr_orders_with_status_all__1.yml b/tests/Integration/__snapshots__/OrdersTest__get_fbr_orders_with_status_all__1.yml index fbd1cd1..fbd36c1 100644 --- a/tests/Integration/__snapshots__/OrdersTest__get_fbr_orders_with_status_all__1.yml +++ b/tests/Integration/__snapshots__/OrdersTest__get_fbr_orders_with_status_all__1.yml @@ -1,16 +1,16 @@ - orderId: '1043946570' orderPlacedDateTime: '2019-04-29T18:18:21+02:00' - orderItems: [{ orderItemId: '6042823871', ean: '8717418510749', quantity: 3, quantityShipped: 3, quantityCancelled: 0 }] + orderItems: [{ orderItemId: '6042823871', ean: '8717418510749', fulfilmentMethod: { name: ByRetailer, value: FBR }, fulfilmentStatus: { name: Open, value: OPEN }, quantity: 3, quantityShipped: 3, quantityCancelled: 0, cancellationRequest: false, latestChangedDateTime: '2019-04-29T18:18:21+02:00' }] - orderId: '1042831430' orderPlacedDateTime: '2019-04-20T12:58:39+02:00' - orderItems: [{ orderItemId: '6107331382', ean: '8712626055143', quantity: 1, quantityShipped: 1, quantityCancelled: 0 }, { orderItemId: '6107331383', ean: '8804269223123', quantity: 1, quantityShipped: 1, quantityCancelled: 0 }] + orderItems: [{ orderItemId: '6107331382', ean: '8712626055143', fulfilmentMethod: { name: ByRetailer, value: FBR }, fulfilmentStatus: { name: Open, value: OPEN }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, cancellationRequest: false, latestChangedDateTime: '2019-04-20T12:58:39+02:00' }, { orderItemId: '6107331383', ean: '8804269223123', fulfilmentMethod: { name: ByRetailer, value: FBR }, fulfilmentStatus: { name: Open, value: OPEN }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, cancellationRequest: false, latestChangedDateTime: '2019-04-20T12:58:39+02:00' }] - orderId: A4K8290LP0 orderPlacedDateTime: '2019-12-06T13:04:34+01:00' - orderItems: [{ orderItemId: '2070906705', ean: '8718846038683', quantity: 1, quantityShipped: 1, quantityCancelled: 0 }] + orderItems: [{ orderItemId: '2070906705', ean: '8718846038683', fulfilmentMethod: { name: ByRetailer, value: FBR }, fulfilmentStatus: { name: Open, value: OPEN }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, cancellationRequest: false, latestChangedDateTime: '2019-12-06T13:04:34+01:00' }] - orderId: B3K8290LP0 orderPlacedDateTime: '2020-01-01T13:04:34+01:00' - orderItems: [{ orderItemId: '2070906706', ean: '8718846038683', quantity: 1, quantityShipped: 1, quantityCancelled: 0 }] + orderItems: [{ orderItemId: '2070906706', ean: '8718846038683', fulfilmentMethod: { name: ByRetailer, value: FBR }, fulfilmentStatus: { name: Open, value: OPEN }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, cancellationRequest: false, latestChangedDateTime: '2020-01-01T13:04:34+01:00' }] diff --git a/tests/Integration/__snapshots__/OrdersTest__get_fbr_orders_with_status_open__1.yml b/tests/Integration/__snapshots__/OrdersTest__get_fbr_orders_with_status_open__1.yml index fbd1cd1..fbd36c1 100644 --- a/tests/Integration/__snapshots__/OrdersTest__get_fbr_orders_with_status_open__1.yml +++ b/tests/Integration/__snapshots__/OrdersTest__get_fbr_orders_with_status_open__1.yml @@ -1,16 +1,16 @@ - orderId: '1043946570' orderPlacedDateTime: '2019-04-29T18:18:21+02:00' - orderItems: [{ orderItemId: '6042823871', ean: '8717418510749', quantity: 3, quantityShipped: 3, quantityCancelled: 0 }] + orderItems: [{ orderItemId: '6042823871', ean: '8717418510749', fulfilmentMethod: { name: ByRetailer, value: FBR }, fulfilmentStatus: { name: Open, value: OPEN }, quantity: 3, quantityShipped: 3, quantityCancelled: 0, cancellationRequest: false, latestChangedDateTime: '2019-04-29T18:18:21+02:00' }] - orderId: '1042831430' orderPlacedDateTime: '2019-04-20T12:58:39+02:00' - orderItems: [{ orderItemId: '6107331382', ean: '8712626055143', quantity: 1, quantityShipped: 1, quantityCancelled: 0 }, { orderItemId: '6107331383', ean: '8804269223123', quantity: 1, quantityShipped: 1, quantityCancelled: 0 }] + orderItems: [{ orderItemId: '6107331382', ean: '8712626055143', fulfilmentMethod: { name: ByRetailer, value: FBR }, fulfilmentStatus: { name: Open, value: OPEN }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, cancellationRequest: false, latestChangedDateTime: '2019-04-20T12:58:39+02:00' }, { orderItemId: '6107331383', ean: '8804269223123', fulfilmentMethod: { name: ByRetailer, value: FBR }, fulfilmentStatus: { name: Open, value: OPEN }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, cancellationRequest: false, latestChangedDateTime: '2019-04-20T12:58:39+02:00' }] - orderId: A4K8290LP0 orderPlacedDateTime: '2019-12-06T13:04:34+01:00' - orderItems: [{ orderItemId: '2070906705', ean: '8718846038683', quantity: 1, quantityShipped: 1, quantityCancelled: 0 }] + orderItems: [{ orderItemId: '2070906705', ean: '8718846038683', fulfilmentMethod: { name: ByRetailer, value: FBR }, fulfilmentStatus: { name: Open, value: OPEN }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, cancellationRequest: false, latestChangedDateTime: '2019-12-06T13:04:34+01:00' }] - orderId: B3K8290LP0 orderPlacedDateTime: '2020-01-01T13:04:34+01:00' - orderItems: [{ orderItemId: '2070906706', ean: '8718846038683', quantity: 1, quantityShipped: 1, quantityCancelled: 0 }] + orderItems: [{ orderItemId: '2070906706', ean: '8718846038683', fulfilmentMethod: { name: ByRetailer, value: FBR }, fulfilmentStatus: { name: Open, value: OPEN }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, cancellationRequest: false, latestChangedDateTime: '2020-01-01T13:04:34+01:00' }] diff --git a/tests/Integration/__snapshots__/OrdersTest__get_single_fbb_order_with_order_id_1042823870__1.yml b/tests/Integration/__snapshots__/OrdersTest__get_single_fbb_order_with_order_id_1042823870__1.yml index 624e9c5..a28ead1 100644 --- a/tests/Integration/__snapshots__/OrdersTest__get_single_fbb_order_with_order_id_1042823870__1.yml +++ b/tests/Integration/__snapshots__/OrdersTest__get_single_fbb_order_with_order_id_1042823870__1.yml @@ -34,5 +34,5 @@ billingDetails: kvkNumber: '99887766' orderReference: 'Mijn order ref' orderItems: - - { orderItemId: '6107771545', cancellationRequest: false, fulfilment: { method: FBB, distributionParty: RETAILER, latestDeliveryDate: '2018-04-22', exactDeliveryDate: null, expiryDate: '2018-04-25', timeFrameType: REGULAR }, offer: { offerId: 8f1183e3-de98-c92f-e053-3590612a63b7, reference: MijnOffer0021 }, product: { ean: '8785056370398', title: 'Star Wars Prequel Trilogy' }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, unitPrice: 19.99, commission: 2.21, additionalServices: { } } - - { orderItemId: '6107771546', cancellationRequest: false, fulfilment: { method: FBB, distributionParty: RETAILER, latestDeliveryDate: '2018-01-16', exactDeliveryDate: null, expiryDate: '2018-01-16', timeFrameType: REGULAR }, offer: { offerId: 8f6485e3-de66-c08f-e053-8602590a63b4, reference: MijnOffer1121 }, product: { ean: '8717418510749', title: 'Star Wars - The happy family 2' }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, unitPrice: 32.98, commission: 6.38, additionalServices: { } } + - { orderItemId: '6107771545', cancellationRequest: false, fulfilment: { method: FBB, distributionParty: RETAILER, latestDeliveryDate: '2018-04-22', exactDeliveryDate: null, expiryDate: '2018-04-25', timeFrameType: REGULAR }, offer: { offerId: 8f1183e3-de98-c92f-e053-3590612a63b7, reference: MijnOffer0021 }, product: { ean: '8785056370398', title: 'Star Wars Prequel Trilogy' }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, unitPrice: 19.99, commission: 2.21, additionalServices: { }, latestChangedDateTime: '2019-04-30T16:47:32+02:00' } + - { orderItemId: '6107771546', cancellationRequest: false, fulfilment: { method: FBB, distributionParty: RETAILER, latestDeliveryDate: '2018-01-16', exactDeliveryDate: null, expiryDate: '2018-01-16', timeFrameType: REGULAR }, offer: { offerId: 8f6485e3-de66-c08f-e053-8602590a63b4, reference: MijnOffer1121 }, product: { ean: '8717418510749', title: 'Star Wars - The happy family 2' }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, unitPrice: 32.98, commission: 6.38, additionalServices: { }, latestChangedDateTime: '2019-04-30T16:47:32+02:00' } diff --git a/tests/Integration/__snapshots__/OrdersTest__get_single_fbb_order_with_order_id_1043965710__1.yml b/tests/Integration/__snapshots__/OrdersTest__get_single_fbb_order_with_order_id_1043965710__1.yml index f0b3d3a..b8821a3 100644 --- a/tests/Integration/__snapshots__/OrdersTest__get_single_fbb_order_with_order_id_1043965710__1.yml +++ b/tests/Integration/__snapshots__/OrdersTest__get_single_fbb_order_with_order_id_1043965710__1.yml @@ -34,4 +34,4 @@ billingDetails: kvkNumber: '99887766' orderReference: 'Mijn order ref' orderItems: - - { orderItemId: '6107989317', cancellationRequest: false, fulfilment: { method: FBB, distributionParty: RETAILER, latestDeliveryDate: '2019-05-01', exactDeliveryDate: null, expiryDate: '2019-05-04', timeFrameType: REGULAR }, offer: { offerId: 8f2785e3-de98-c97f-e053-3585190a63c1, reference: MijnOffer6627 }, product: { ean: '8717418510749', title: 'Star Wars - The happy family' }, quantity: 2, quantityShipped: 2, quantityCancelled: 0, unitPrice: 22.45, commission: 2.22, additionalServices: { } } + - { orderItemId: '6107989317', cancellationRequest: false, fulfilment: { method: FBB, distributionParty: RETAILER, latestDeliveryDate: '2019-05-01', exactDeliveryDate: null, expiryDate: '2019-05-04', timeFrameType: REGULAR }, offer: { offerId: 8f2785e3-de98-c97f-e053-3585190a63c1, reference: MijnOffer6627 }, product: { ean: '8717418510749', title: 'Star Wars - The happy family' }, quantity: 2, quantityShipped: 2, quantityCancelled: 0, unitPrice: 22.45, commission: 2.22, additionalServices: { }, latestChangedDateTime: '2019-04-30T21:56:39+02:00' } diff --git a/tests/Integration/__snapshots__/OrdersTest__get_single_fbr_order_with_order_id_1042831430__1.yml b/tests/Integration/__snapshots__/OrdersTest__get_single_fbr_order_with_order_id_1042831430__1.yml index 4ddba52..5e9dd63 100644 --- a/tests/Integration/__snapshots__/OrdersTest__get_single_fbr_order_with_order_id_1042831430__1.yml +++ b/tests/Integration/__snapshots__/OrdersTest__get_single_fbr_order_with_order_id_1042831430__1.yml @@ -34,5 +34,5 @@ billingDetails: kvkNumber: '99887766' orderReference: 'Mijn order ref' orderItems: - - { orderItemId: '6107331382', cancellationRequest: false, fulfilment: { method: FBR, distributionParty: RETAILER, latestDeliveryDate: '2018-04-18', exactDeliveryDate: null, expiryDate: '2018-04-21', timeFrameType: REGULAR }, offer: { offerId: 8f6283e3-de98-c92f-e053-3598790a63b5, reference: MijnOffer0021 }, product: { ean: '8712626055143', title: 'Star Wars - The happy family 2' }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, unitPrice: 22.98, commission: 2.22, additionalServices: { } } - - { orderItemId: '6107331383', cancellationRequest: false, fulfilment: { method: FBR, distributionParty: RETAILER, latestDeliveryDate: '2018-04-21', exactDeliveryDate: null, expiryDate: '2018-04-21', timeFrameType: REGULAR }, offer: { offerId: 8f6125e3-de98-c08f-e053-3523590a63b9, reference: MijnOffer1121 }, product: { ean: '8717418510749', title: 'Star Wars - The happy family 2' }, quantity: 3, quantityShipped: 2, quantityCancelled: 0, unitPrice: 10.3, commission: 2.22, additionalServices: { } } + - { orderItemId: '6107331382', cancellationRequest: false, fulfilment: { method: FBR, distributionParty: RETAILER, latestDeliveryDate: '2018-04-18', exactDeliveryDate: null, expiryDate: '2018-04-21', timeFrameType: REGULAR }, offer: { offerId: 8f6283e3-de98-c92f-e053-3598790a63b5, reference: MijnOffer0021 }, product: { ean: '8712626055143', title: 'Star Wars - The happy family 2' }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, unitPrice: 22.98, commission: 2.22, additionalServices: { }, latestChangedDateTime: '2019-04-20T12:58:39+02:00' } + - { orderItemId: '6107331383', cancellationRequest: false, fulfilment: { method: FBR, distributionParty: RETAILER, latestDeliveryDate: '2018-04-21', exactDeliveryDate: null, expiryDate: '2018-04-21', timeFrameType: REGULAR }, offer: { offerId: 8f6125e3-de98-c08f-e053-3523590a63b9, reference: MijnOffer1121 }, product: { ean: '8717418510749', title: 'Star Wars - The happy family 2' }, quantity: 3, quantityShipped: 2, quantityCancelled: 0, unitPrice: 10.3, commission: 2.22, additionalServices: { }, latestChangedDateTime: '2019-04-20T12:58:39+02:00' } diff --git a/tests/Integration/__snapshots__/OrdersTest__get_single_fbr_order_with_order_id_1043946570__1.yml b/tests/Integration/__snapshots__/OrdersTest__get_single_fbr_order_with_order_id_1043946570__1.yml index a55692e..ec8d268 100644 --- a/tests/Integration/__snapshots__/OrdersTest__get_single_fbr_order_with_order_id_1043946570__1.yml +++ b/tests/Integration/__snapshots__/OrdersTest__get_single_fbr_order_with_order_id_1043946570__1.yml @@ -34,4 +34,4 @@ billingDetails: kvkNumber: '99887766' orderReference: 'Mijn order ref' orderItems: - - { orderItemId: '6042823871', cancellationRequest: false, fulfilment: { method: FBR, distributionParty: RETAILER, latestDeliveryDate: '2019-05-01', exactDeliveryDate: null, expiryDate: '2019-05-04', timeFrameType: REGULAR }, offer: { offerId: 8f6285e3-de98-c97f-e053-3544090a63b3, reference: MijnOffer6627 }, product: { ean: '8717418510749', title: 'Star Wars - The happy family 2' }, quantity: 3, quantityShipped: 3, quantityCancelled: 0, unitPrice: 11.0, commission: 2.22, additionalServices: { } } + - { orderItemId: '6042823871', cancellationRequest: false, fulfilment: { method: FBR, distributionParty: RETAILER, latestDeliveryDate: '2019-05-01', exactDeliveryDate: null, expiryDate: '2019-05-04', timeFrameType: REGULAR }, offer: { offerId: 8f6285e3-de98-c97f-e053-3544090a63b3, reference: MijnOffer6627 }, product: { ean: '8717418510749', title: 'Star Wars - The happy family 2' }, quantity: 3, quantityShipped: 3, quantityCancelled: 0, unitPrice: 11.0, commission: 2.22, additionalServices: { }, latestChangedDateTime: '2019-04-29T18:18:21+02:00' } diff --git a/tests/Integration/__snapshots__/OrdersTest__get_single_fbr_order_with_order_id_A4K8290LP0__1.yml b/tests/Integration/__snapshots__/OrdersTest__get_single_fbr_order_with_order_id_a4k8290lp0__1.yml similarity index 94% rename from tests/Integration/__snapshots__/OrdersTest__get_single_fbr_order_with_order_id_A4K8290LP0__1.yml rename to tests/Integration/__snapshots__/OrdersTest__get_single_fbr_order_with_order_id_a4k8290lp0__1.yml index 9de5b4b..e2ab7a5 100644 --- a/tests/Integration/__snapshots__/OrdersTest__get_single_fbr_order_with_order_id_A4K8290LP0__1.yml +++ b/tests/Integration/__snapshots__/OrdersTest__get_single_fbr_order_with_order_id_a4k8290lp0__1.yml @@ -34,4 +34,4 @@ billingDetails: kvkNumber: '99887766' orderReference: 'Mijn order ref' orderItems: - - { orderItemId: '2070906705', cancellationRequest: false, fulfilment: { method: FBR, distributionParty: RETAILER, latestDeliveryDate: '2019-12-15', exactDeliveryDate: null, expiryDate: '2019-12-18', timeFrameType: REGULAR }, offer: { offerId: 8f6283e3-de98-c92f-e053-3598790a63b5, reference: MijnOffer0021 }, product: { ean: '8718846038683', title: 'adidas Originals Booklet case Bohemian color for iPhone 7/8 colourful' }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, unitPrice: 34.99, commission: 2.22, additionalServices: { } } + - { orderItemId: '2070906705', cancellationRequest: false, fulfilment: { method: FBR, distributionParty: RETAILER, latestDeliveryDate: '2019-12-15', exactDeliveryDate: null, expiryDate: '2019-12-18', timeFrameType: REGULAR }, offer: { offerId: 8f6283e3-de98-c92f-e053-3598790a63b5, reference: MijnOffer0021 }, product: { ean: '8718846038683', title: 'adidas Originals Booklet case Bohemian color for iPhone 7/8 colourful' }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, unitPrice: 34.99, commission: 2.22, additionalServices: { }, latestChangedDateTime: '2019-12-06T13:04:34+01:00' } diff --git a/tests/Integration/__snapshots__/OrdersTest__get_single_fbr_order_with_order_id_b3k8290lp0__1.yml b/tests/Integration/__snapshots__/OrdersTest__get_single_fbr_order_with_order_id_b3k8290lp0__1.yml index ce3d16a..dcf5ac7 100644 --- a/tests/Integration/__snapshots__/OrdersTest__get_single_fbr_order_with_order_id_b3k8290lp0__1.yml +++ b/tests/Integration/__snapshots__/OrdersTest__get_single_fbr_order_with_order_id_b3k8290lp0__1.yml @@ -34,4 +34,4 @@ billingDetails: kvkNumber: '99887766' orderReference: 'Mijn order ref' orderItems: - - { orderItemId: '2070906706', cancellationRequest: false, fulfilment: { method: FBR, distributionParty: RETAILER, latestDeliveryDate: null, exactDeliveryDate: '2020-01-08', expiryDate: '2020-01-09', timeFrameType: REGULAR }, offer: { offerId: 8f6283e3-de98-c92f-e053-3598790a63b5, reference: MijnOffer0021 }, product: { ean: '8718846038683', title: 'adidas Originals Booklet case Bohemian color for iPhone 7/8 colourful' }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, unitPrice: 34.99, commission: 2.22, additionalServices: { } } + - { orderItemId: '2070906706', cancellationRequest: false, fulfilment: { method: FBR, distributionParty: RETAILER, latestDeliveryDate: null, exactDeliveryDate: '2020-01-08', expiryDate: '2020-01-09', timeFrameType: REGULAR }, offer: { offerId: 8f6283e3-de98-c92f-e053-3598790a63b5, reference: MijnOffer0021 }, product: { ean: '8718846038683', title: 'adidas Originals Booklet case Bohemian color for iPhone 7/8 colourful' }, quantity: 1, quantityShipped: 1, quantityCancelled: 0, unitPrice: 34.99, commission: 2.22, additionalServices: { }, latestChangedDateTime: '2020-01-01T13:04:34+01:00' }