From f6a458782c4ebb15498b22d95b74444adbbe7c9e Mon Sep 17 00:00:00 2001 From: Jo Date: Wed, 18 Sep 2024 11:32:00 +0100 Subject: [PATCH 01/12] first draft --- .../inventory/multi-location/overview.mdx | 22 +++++++++++++++++++ docs/partials/inventory/overview.mdx | 13 +++++++++++ 2 files changed, 35 insertions(+) create mode 100644 docs/partials/inventory/multi-location/overview.mdx create mode 100644 docs/partials/inventory/overview.mdx diff --git a/docs/partials/inventory/multi-location/overview.mdx b/docs/partials/inventory/multi-location/overview.mdx new file mode 100644 index 00000000..03d1dc11 --- /dev/null +++ b/docs/partials/inventory/multi-location/overview.mdx @@ -0,0 +1,22 @@ +The Inventory API allows you to optionally manage stock across multiple locations, giving you better control over your inventory and improving stock accuracy. By offering localized stock information and flexible order fulfilment options, you can enhance your customer's shopping experience. + +For example, you can use multi-location inventory to support the "Buy Online, Pick Up In-Store" process. Tagging inventory with specific locations, allows you to select a designated location for dispatch when adding stock to a product, ensuring that inventory is accurately tracked and readily available for in-store pickup orders. Multi-location inventory optimizes your fulfillment process by aligning stock with the most appropriate physical locations, improving efficiency and boosting customer satisfaction. + +## Setting-up Locations + +You can create locations for one or more locations. + +- Create locations, including name, description, and GPS location. +- Import stock location positions. +- Delete stock for products at specific locations. + +## Managing Inventory Locations + +- Merchandizers can explicitly set stock to for locations. +- Merchandizers can change stock. +- Merchandisers can move stock between locations automatically, stock positions can be updated in order with near real-time batch updates. +- Merchandisers can identify the source of a stock position. +- Merchandizers can see if there are failures when updating stock positions. +- Locations can be disabled/enabled. + + diff --git a/docs/partials/inventory/overview.mdx b/docs/partials/inventory/overview.mdx new file mode 100644 index 00000000..52534ea1 --- /dev/null +++ b/docs/partials/inventory/overview.mdx @@ -0,0 +1,13 @@ +The Inventory API allows you to manage stock for products at both organization and store levels. + +Inventory is the quantity of each product that you have in stock. The inventory service allows you and your business to keep track of inventory, optionally at different locations, and including a transactional historic log. + +## What is Inventory? + +Inventory for each product is tracked using the following values: + +- **Total**: The amount of product in stock. This can be expressed by the following equation: Total = Available + Allocated +- **Available**: The amount of product available in stock minus allocated products. This can be expressed by the following equation: Available = Total - Allocated) +- **Allocated**: The amount of reserved product in stock. +- **Location**: The location of the stock. For each location, this can be expressed by the following equation: Total = Available + Allocated. One or more locations contributes to an aggregated stock total. + From f1b65fdd8af46709e4dfa5835e9e5168e67f4f13 Mon Sep 17 00:00:00 2001 From: Jo Date: Thu, 19 Sep 2024 09:54:37 +0100 Subject: [PATCH 02/12] first draft --- .../inventory/multi-location/creating-locations.mdx | 13 +++++++++++++ .../inventory/multi-location/managing-locations.mdx | 10 ++++++++++ 2 files changed, 23 insertions(+) create mode 100644 docs/partials/inventory/multi-location/creating-locations.mdx create mode 100644 docs/partials/inventory/multi-location/managing-locations.mdx diff --git a/docs/partials/inventory/multi-location/creating-locations.mdx b/docs/partials/inventory/multi-location/creating-locations.mdx new file mode 100644 index 00000000..5afb580f --- /dev/null +++ b/docs/partials/inventory/multi-location/creating-locations.mdx @@ -0,0 +1,13 @@ +An inventory location is a specific physical or virtual place where stock or inventory is stored, tracked, and managed. Your inventory locations could refer to a warehouse, retail store, distribution center, or even specific sections within these places, like shelves, bins, or racks. You may want a virtual inventory location, for example, for promotions. You may want to collect all the products in the promotion virtually in one place within your system, to ensure that promotional stock is reserved and accurately tracked. + +In the Inventories API, you can create an inventory location. You can create individual inventory locations, either for a single physical site or for multiple distinct locations. + +When creating an inventory location, there are several details, you need to consider. + +- The locations details, including name, description, and GPS location. +- Setting the stock for your locations. + + + + + diff --git a/docs/partials/inventory/multi-location/managing-locations.mdx b/docs/partials/inventory/multi-location/managing-locations.mdx new file mode 100644 index 00000000..c95ff18d --- /dev/null +++ b/docs/partials/inventory/multi-location/managing-locations.mdx @@ -0,0 +1,10 @@ + + +- Merchandizers can explicitly set stock to for locations. +- Merchandizers can change stock. +- Merchandisers can move stock between locations automatically, stock positions can be updated in order with near real-time batch updates. +- Merchandisers can identify the source of a stock position. +- Merchandizers can see if there are failures when updating stock positions. +- Locations can be disabled/enabled. + + From a2c15871388849fc501cfb67bba4865d9ab49418 Mon Sep 17 00:00:00 2001 From: Jo Date: Thu, 19 Sep 2024 10:06:10 +0100 Subject: [PATCH 03/12] first draft --- .../inventory/multi-location/multilocationoverview.mdx | 9 +++++++++ guides/key-concepts/inventory/overview.mdx | 9 +++++++++ 2 files changed, 18 insertions(+) create mode 100644 guides/key-concepts/inventory/multi-location/multilocationoverview.mdx create mode 100644 guides/key-concepts/inventory/overview.mdx diff --git a/guides/key-concepts/inventory/multi-location/multilocationoverview.mdx b/guides/key-concepts/inventory/multi-location/multilocationoverview.mdx new file mode 100644 index 00000000..1dcb1d8d --- /dev/null +++ b/guides/key-concepts/inventory/multi-location/multilocationoverview.mdx @@ -0,0 +1,9 @@ +--- +title: Overview +nav_label: Overview +sidebar_position: 5 +--- + +import multiInventoryOverview from "/docs/partials/inventory/overview.mdx"; + + diff --git a/guides/key-concepts/inventory/overview.mdx b/guides/key-concepts/inventory/overview.mdx new file mode 100644 index 00000000..29987e9d --- /dev/null +++ b/guides/key-concepts/inventory/overview.mdx @@ -0,0 +1,9 @@ +--- +title: Overview +nav_label: Overview +sidebar_position: 5 +--- + +import InventoryOverview from "/docs/partials/inventory/overview.mdx"; + + From 21d6f80d0ff915e9cce62720b9dc320ecd632991 Mon Sep 17 00:00:00 2001 From: Jo Date: Thu, 19 Sep 2024 17:36:07 +0100 Subject: [PATCH 04/12] first draft --- docs/partials/inventory/characteristics.mdx | 7 ++++ .../partials/inventory/managing-inventory.mdx | 12 +++++++ docs/partials/inventory/multi-location.mdx | 14 ++++++++ .../multi-location/creating-locations.mdx | 13 ------- .../multi-location/managing-locations.mdx | 10 ------ .../inventory/multi-location/overview.mdx | 22 ------------ docs/partials/inventory/overview.mdx | 9 +++-- docs/partials/inventory/transactions.mdx | 13 +++++++ docs/partials/inventory/workflow.mdx | 36 +++++++++++++++++++ 9 files changed, 89 insertions(+), 47 deletions(-) create mode 100644 docs/partials/inventory/characteristics.mdx create mode 100644 docs/partials/inventory/managing-inventory.mdx create mode 100644 docs/partials/inventory/multi-location.mdx delete mode 100644 docs/partials/inventory/multi-location/creating-locations.mdx delete mode 100644 docs/partials/inventory/multi-location/managing-locations.mdx delete mode 100644 docs/partials/inventory/multi-location/overview.mdx create mode 100644 docs/partials/inventory/transactions.mdx create mode 100644 docs/partials/inventory/workflow.mdx diff --git a/docs/partials/inventory/characteristics.mdx b/docs/partials/inventory/characteristics.mdx new file mode 100644 index 00000000..7b259c59 --- /dev/null +++ b/docs/partials/inventory/characteristics.mdx @@ -0,0 +1,7 @@ +Inventories has the following characteristics: + +- It is possible for more products to be in carts than there are in stock if the add to cart request quantity is less than available stocks. For example, when available stocks are 100, a user can add 60 to cart 1 and then 50 to cart 1, or user A can add 80 to cart 1, while user B can add 30 to cart 2. +- It is possible for more products to be checked out than there are in stock if the add to cart request quantity is less than the available stocks. +- It is not possible for more stock to be paid for than is in stock. +- It is a race for your customers to pay for an order, and whoever does not pay fast enough, is left disappointed. + diff --git a/docs/partials/inventory/managing-inventory.mdx b/docs/partials/inventory/managing-inventory.mdx new file mode 100644 index 00000000..fd0efec9 --- /dev/null +++ b/docs/partials/inventory/managing-inventory.mdx @@ -0,0 +1,12 @@ +Managing inventory involves a variety of tasks aimed at ensuring that stock levels are optimized, products are stored correctly, and supply meets demand, efficiently. + +Using Inventories, you can: + +- identify the source of a stock position. +- explicitly set stock for your locations. +- change stock. +- move stock between locations automatically. Stock positions can be updated in near real-time using batch updates. +- see if there are failures when updating stock positions. +- disable or enable locations. + + diff --git a/docs/partials/inventory/multi-location.mdx b/docs/partials/inventory/multi-location.mdx new file mode 100644 index 00000000..45a3b606 --- /dev/null +++ b/docs/partials/inventory/multi-location.mdx @@ -0,0 +1,14 @@ +Inventories allows you to optionally manage stock across multiple locations, giving you better control over your inventory and improving stock accuracy. By offering localized stock information and flexible order fulfilment options, you can enhance your customer's shopping experience. + +For example, you can use multi-location inventory to support the "Buy Online, Pick Up In-Store" process. Tagging inventory with specific locations, allows you to select a designated location for dispatch when adding stock to a product, ensuring that inventory is accurately tracked and readily available for in-store pickup orders. Multi-location inventory optimizes your fulfillment process by aligning stock with the most appropriate physical locations, improving efficiency and boosting customer satisfaction. + +An inventory location is a specific physical or virtual place where stock or inventory is stored, tracked, and managed. Your inventory locations could refer to a warehouse, retail store, distribution center. You may want a virtual inventory location, for example, for promotions. You may want to collect all the products in the promotion virtually in one place within your system, to ensure that promotional stock is reserved and accurately tracked. + +In the Inventories API, you can create an inventory location. You can create individual inventory locations, either for a single physical site or for multiple distinct locations. + +When creating an inventory location, there are several details, you need to consider the location's details, including name, description, and GPS location. In addition, you can specify an `external_ref` which is a unique attribute that you could use to contain information from an external warehouse system, for example. + +In addition, you can import your locations from another company system. See Importing locations. + + + diff --git a/docs/partials/inventory/multi-location/creating-locations.mdx b/docs/partials/inventory/multi-location/creating-locations.mdx deleted file mode 100644 index 5afb580f..00000000 --- a/docs/partials/inventory/multi-location/creating-locations.mdx +++ /dev/null @@ -1,13 +0,0 @@ -An inventory location is a specific physical or virtual place where stock or inventory is stored, tracked, and managed. Your inventory locations could refer to a warehouse, retail store, distribution center, or even specific sections within these places, like shelves, bins, or racks. You may want a virtual inventory location, for example, for promotions. You may want to collect all the products in the promotion virtually in one place within your system, to ensure that promotional stock is reserved and accurately tracked. - -In the Inventories API, you can create an inventory location. You can create individual inventory locations, either for a single physical site or for multiple distinct locations. - -When creating an inventory location, there are several details, you need to consider. - -- The locations details, including name, description, and GPS location. -- Setting the stock for your locations. - - - - - diff --git a/docs/partials/inventory/multi-location/managing-locations.mdx b/docs/partials/inventory/multi-location/managing-locations.mdx deleted file mode 100644 index c95ff18d..00000000 --- a/docs/partials/inventory/multi-location/managing-locations.mdx +++ /dev/null @@ -1,10 +0,0 @@ - - -- Merchandizers can explicitly set stock to for locations. -- Merchandizers can change stock. -- Merchandisers can move stock between locations automatically, stock positions can be updated in order with near real-time batch updates. -- Merchandisers can identify the source of a stock position. -- Merchandizers can see if there are failures when updating stock positions. -- Locations can be disabled/enabled. - - diff --git a/docs/partials/inventory/multi-location/overview.mdx b/docs/partials/inventory/multi-location/overview.mdx deleted file mode 100644 index 03d1dc11..00000000 --- a/docs/partials/inventory/multi-location/overview.mdx +++ /dev/null @@ -1,22 +0,0 @@ -The Inventory API allows you to optionally manage stock across multiple locations, giving you better control over your inventory and improving stock accuracy. By offering localized stock information and flexible order fulfilment options, you can enhance your customer's shopping experience. - -For example, you can use multi-location inventory to support the "Buy Online, Pick Up In-Store" process. Tagging inventory with specific locations, allows you to select a designated location for dispatch when adding stock to a product, ensuring that inventory is accurately tracked and readily available for in-store pickup orders. Multi-location inventory optimizes your fulfillment process by aligning stock with the most appropriate physical locations, improving efficiency and boosting customer satisfaction. - -## Setting-up Locations - -You can create locations for one or more locations. - -- Create locations, including name, description, and GPS location. -- Import stock location positions. -- Delete stock for products at specific locations. - -## Managing Inventory Locations - -- Merchandizers can explicitly set stock to for locations. -- Merchandizers can change stock. -- Merchandisers can move stock between locations automatically, stock positions can be updated in order with near real-time batch updates. -- Merchandisers can identify the source of a stock position. -- Merchandizers can see if there are failures when updating stock positions. -- Locations can be disabled/enabled. - - diff --git a/docs/partials/inventory/overview.mdx b/docs/partials/inventory/overview.mdx index 52534ea1..2d7efcf7 100644 --- a/docs/partials/inventory/overview.mdx +++ b/docs/partials/inventory/overview.mdx @@ -1,6 +1,11 @@ -The Inventory API allows you to manage stock for products at both organization and store levels. +Using Inventories allows you to track stock inventory for products in Elastic Path Composable Commerce at both organization and store levels. -Inventory is the quantity of each product that you have in stock. The inventory service allows you and your business to keep track of inventory, optionally at different locations, and including a transactional historic log. +Inventory is the quantity of each product that you have in stock. The inventory service allows you and your business to track inventory, with a transactional historic log, and optionally, manage stock across multiple locations. + +You manage inventory using both: + +- the [Inventories API](/docs/api/pxm/inventory) +- [Commerce Manager](/docs/commerce-manager/product-experience-manager/Products/manage-product-inventory). ## What is Inventory? diff --git a/docs/partials/inventory/transactions.mdx b/docs/partials/inventory/transactions.mdx new file mode 100644 index 00000000..6b2720e6 --- /dev/null +++ b/docs/partials/inventory/transactions.mdx @@ -0,0 +1,13 @@ +The way you track stock levels in Inventories is through transactions. Inventories maintains a transactional historic log. This is a detailed, chronological record of all transactions that have affected inventory levels within a system over time. It serves as an audit trail, ensuring transparency and accountability in Inventories. + +## Types of Transactions + +In Inventories, stock levels are adjusted or updated through transactions. In other words, you manage stock levels by recording transactions that increase or decrease inventory. For example, increase this stock level by 10 units using the **increment** transaction. + +Inventories has the following transaction types: + +- **increment** - use this when you want to make products available for purchase, for example, when you have received stock from a supplier. +- **decrement** - use this when you want to remove stock from product inventory. +- **allocate** - use this when you want to allocate stock, normally to a reseller who sells on the stock. +- **deallocate** - use this when you want to deallocate any previously allocated stock. +- **Set** - use this when you want to set stock in Elastic Path Composable Commerce from an external warehousing system. \ No newline at end of file diff --git a/docs/partials/inventory/workflow.mdx b/docs/partials/inventory/workflow.mdx new file mode 100644 index 00000000..6a3e1ae2 --- /dev/null +++ b/docs/partials/inventory/workflow.mdx @@ -0,0 +1,36 @@ +### Order flow + +There are three mandatory steps to complete an order in relation to inventory: + +1. Added to a cart +2. Checked out +3. Paid +4. Shipped (optional) + +#### Unpaid order flow + +The following flowchart depicts the process of an unpaid order. + +![The order is created from the cart during the checkout process.](/assets/order-flow.png) + +#### Payment flow + +The following flowchart depicts the process of paying for an order. + +![The payment workflow.](/assets/payment-workflow-1.png) + +### How stock is managed + +Stock is managed as follows: + +1. When a customer attempts to add products to a cart, the inventory service checks if there is enough available stock. If there is not enough stock available, you receive a 400 HTTP response with a warning. The response does not describe what products cannot be added, nor does it return how many products are in stock. +2. If a customer successfully adds products to a cart, the customer can checkout to create an unpaid order. +3. A final check on the available stock is performed. +4. After creating the unpaid order, the payment for an order can be taken. When a customer attempts to pay for an order, the inventory service reserves the stock before the payment is processed internally. At any time before the point of payment, a customer might lose their order, if the customer is slower than everyone else. + +If the payment fails, the temporary stock allocation is removed, and the stock becomes available again for anyone to buy. + +If the payment succeeds, that stock is still allocated, and the items belong to the customer, unless for any reason they are reallocated before shipment. For example, if the customer cancels, or you realize the order is fraudulent, then you can reallocate the inventory. +5. Finally, when the order is marked as shipped, that stock is fully decremented. This means the allocation number is reduced, and therefore the total, and the products are no longer in the warehouse. + +During split payments, stocks are allocated only if the first transaction for an order is complete. If the transaction fails, the stocks are deallocated. Once the first transaction is complete, the stocks are not allocated for the subsequent transactions as they are already reserved for the order. The stocks are deallocated and return to available when the the order is canceled. \ No newline at end of file From f0b5164554cebaf55cc03aea74d12c1689897c97 Mon Sep 17 00:00:00 2001 From: Jo Date: Fri, 20 Sep 2024 10:46:29 +0100 Subject: [PATCH 05/12] first draft --- .../{managing-inventory.mdx => managinginventory.mdx} | 0 .../inventory/{multi-location.mdx => multilocation.mdx} | 0 docs/partials/inventory/overview.mdx | 8 ++++---- guides/key-concepts/inventory/_category_.json | 5 +++++ guides/key-concepts/inventory/characteristcs.mdx | 9 +++++++++ guides/key-concepts/inventory/managinginventory.mdx | 9 +++++++++ .../inventory/multi-location/multilocationoverview.mdx | 9 --------- guides/key-concepts/inventory/multilocation.mdx | 9 +++++++++ guides/key-concepts/inventory/transactions.mdx | 9 +++++++++ guides/key-concepts/inventory/workflow.mdx | 9 +++++++++ 10 files changed, 54 insertions(+), 13 deletions(-) rename docs/partials/inventory/{managing-inventory.mdx => managinginventory.mdx} (100%) rename docs/partials/inventory/{multi-location.mdx => multilocation.mdx} (100%) create mode 100644 guides/key-concepts/inventory/_category_.json create mode 100644 guides/key-concepts/inventory/characteristcs.mdx create mode 100644 guides/key-concepts/inventory/managinginventory.mdx delete mode 100644 guides/key-concepts/inventory/multi-location/multilocationoverview.mdx create mode 100644 guides/key-concepts/inventory/multilocation.mdx create mode 100644 guides/key-concepts/inventory/transactions.mdx create mode 100644 guides/key-concepts/inventory/workflow.mdx diff --git a/docs/partials/inventory/managing-inventory.mdx b/docs/partials/inventory/managinginventory.mdx similarity index 100% rename from docs/partials/inventory/managing-inventory.mdx rename to docs/partials/inventory/managinginventory.mdx diff --git a/docs/partials/inventory/multi-location.mdx b/docs/partials/inventory/multilocation.mdx similarity index 100% rename from docs/partials/inventory/multi-location.mdx rename to docs/partials/inventory/multilocation.mdx diff --git a/docs/partials/inventory/overview.mdx b/docs/partials/inventory/overview.mdx index 2d7efcf7..c37a6151 100644 --- a/docs/partials/inventory/overview.mdx +++ b/docs/partials/inventory/overview.mdx @@ -1,18 +1,18 @@ -Using Inventories allows you to track stock inventory for products in Elastic Path Composable Commerce at both organization and store levels. +Using Inventories allows you to track stock inventory for products in Elastic Path Composable Commerce at both organization and store level. Inventory is the quantity of each product that you have in stock. The inventory service allows you and your business to track inventory, with a transactional historic log, and optionally, manage stock across multiple locations. -You manage inventory using both: +You can manage inventory using both: - the [Inventories API](/docs/api/pxm/inventory) - [Commerce Manager](/docs/commerce-manager/product-experience-manager/Products/manage-product-inventory). -## What is Inventory? +### What is Inventory? Inventory for each product is tracked using the following values: - **Total**: The amount of product in stock. This can be expressed by the following equation: Total = Available + Allocated -- **Available**: The amount of product available in stock minus allocated products. This can be expressed by the following equation: Available = Total - Allocated) +- **Available**: The amount of product available in stock minus allocated products. This can be expressed by the following equation: Available = Total - Allocated. - **Allocated**: The amount of reserved product in stock. - **Location**: The location of the stock. For each location, this can be expressed by the following equation: Total = Available + Allocated. One or more locations contributes to an aggregated stock total. diff --git a/guides/key-concepts/inventory/_category_.json b/guides/key-concepts/inventory/_category_.json new file mode 100644 index 00000000..35a160c3 --- /dev/null +++ b/guides/key-concepts/inventory/_category_.json @@ -0,0 +1,5 @@ +{ + "position": 3, + "label": "Inventory", + "collapsible": true +} diff --git a/guides/key-concepts/inventory/characteristcs.mdx b/guides/key-concepts/inventory/characteristcs.mdx new file mode 100644 index 00000000..54020569 --- /dev/null +++ b/guides/key-concepts/inventory/characteristcs.mdx @@ -0,0 +1,9 @@ +--- +title: Characteristics +nav_label: Characteristics +sidebar_position: 30 +--- + +import CharacteristicsOverview from "/docs/partials/inventory/characteristics.mdx"; + + diff --git a/guides/key-concepts/inventory/managinginventory.mdx b/guides/key-concepts/inventory/managinginventory.mdx new file mode 100644 index 00000000..c912ac44 --- /dev/null +++ b/guides/key-concepts/inventory/managinginventory.mdx @@ -0,0 +1,9 @@ +--- +title: Managing Inventory +nav_label: Managing Inventory +sidebar_position: 15 +--- + +import ManagingInventory from "/docs/partials/inventory/managinginventory.mdx"; + + diff --git a/guides/key-concepts/inventory/multi-location/multilocationoverview.mdx b/guides/key-concepts/inventory/multi-location/multilocationoverview.mdx deleted file mode 100644 index 1dcb1d8d..00000000 --- a/guides/key-concepts/inventory/multi-location/multilocationoverview.mdx +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Overview -nav_label: Overview -sidebar_position: 5 ---- - -import multiInventoryOverview from "/docs/partials/inventory/overview.mdx"; - - diff --git a/guides/key-concepts/inventory/multilocation.mdx b/guides/key-concepts/inventory/multilocation.mdx new file mode 100644 index 00000000..4f2c01b0 --- /dev/null +++ b/guides/key-concepts/inventory/multilocation.mdx @@ -0,0 +1,9 @@ +--- +title: Multi-Location Inventory +nav_label: Overview +sidebar_position: 10 +--- + +import LocationOverview from "/docs/partials/inventory/multilocation.mdx"; + + diff --git a/guides/key-concepts/inventory/transactions.mdx b/guides/key-concepts/inventory/transactions.mdx new file mode 100644 index 00000000..57067d63 --- /dev/null +++ b/guides/key-concepts/inventory/transactions.mdx @@ -0,0 +1,9 @@ +--- +title: Transactions +nav_label: Transactions +sidebar_position: 20 +--- + +import TransactionsOverview from "/docs/partials/inventory/transactions.mdx"; + + diff --git a/guides/key-concepts/inventory/workflow.mdx b/guides/key-concepts/inventory/workflow.mdx new file mode 100644 index 00000000..7d9292bd --- /dev/null +++ b/guides/key-concepts/inventory/workflow.mdx @@ -0,0 +1,9 @@ +--- +title: Inventory Workflow +nav_label: Inventory Workflow +sidebar_position: 25 +--- + +import inventoryWorkflow from "/docs/partials/inventory/workflow.mdx"; + + From 50c4ebb9c4a9b4667cf6a3929c4c145c5fb2a2d4 Mon Sep 17 00:00:00 2001 From: Jo Date: Fri, 20 Sep 2024 10:49:46 +0100 Subject: [PATCH 06/12] first draft --- docs/partials/inventory/multilocation.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/partials/inventory/multilocation.mdx b/docs/partials/inventory/multilocation.mdx index 45a3b606..f969adb7 100644 --- a/docs/partials/inventory/multilocation.mdx +++ b/docs/partials/inventory/multilocation.mdx @@ -1,6 +1,6 @@ -Inventories allows you to optionally manage stock across multiple locations, giving you better control over your inventory and improving stock accuracy. By offering localized stock information and flexible order fulfilment options, you can enhance your customer's shopping experience. +Inventories allows you to optionally manage stock across multiple locations, giving you better control over your inventory and improving stock accuracy. -For example, you can use multi-location inventory to support the "Buy Online, Pick Up In-Store" process. Tagging inventory with specific locations, allows you to select a designated location for dispatch when adding stock to a product, ensuring that inventory is accurately tracked and readily available for in-store pickup orders. Multi-location inventory optimizes your fulfillment process by aligning stock with the most appropriate physical locations, improving efficiency and boosting customer satisfaction. +By offering localized stock information and flexible order fulfilment options, you can enhance your customer's shopping experience. For example, you can use multi-location inventory to support the **Buy Online, Pick Up In-Store** process. Tagging inventory with specific locations, allows you to select a designated location for dispatch when adding stock to a product, ensuring that inventory is accurately tracked and readily available for in-store pickup orders. Multi-location inventory optimizes your fulfillment process by aligning stock with the most appropriate physical locations, improving efficiency and boosting customer satisfaction. An inventory location is a specific physical or virtual place where stock or inventory is stored, tracked, and managed. Your inventory locations could refer to a warehouse, retail store, distribution center. You may want a virtual inventory location, for example, for promotions. You may want to collect all the products in the promotion virtually in one place within your system, to ensure that promotional stock is reserved and accurately tracked. From 33e8257860c91f789407de671274ed4971077fa2 Mon Sep 17 00:00:00 2001 From: Jo Date: Fri, 20 Sep 2024 10:54:58 +0100 Subject: [PATCH 07/12] first draft --- docs/partials/inventory/multilocation.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/partials/inventory/multilocation.mdx b/docs/partials/inventory/multilocation.mdx index f969adb7..aa5cbfa2 100644 --- a/docs/partials/inventory/multilocation.mdx +++ b/docs/partials/inventory/multilocation.mdx @@ -2,7 +2,7 @@ Inventories allows you to optionally manage stock across multiple locations, giv By offering localized stock information and flexible order fulfilment options, you can enhance your customer's shopping experience. For example, you can use multi-location inventory to support the **Buy Online, Pick Up In-Store** process. Tagging inventory with specific locations, allows you to select a designated location for dispatch when adding stock to a product, ensuring that inventory is accurately tracked and readily available for in-store pickup orders. Multi-location inventory optimizes your fulfillment process by aligning stock with the most appropriate physical locations, improving efficiency and boosting customer satisfaction. -An inventory location is a specific physical or virtual place where stock or inventory is stored, tracked, and managed. Your inventory locations could refer to a warehouse, retail store, distribution center. You may want a virtual inventory location, for example, for promotions. You may want to collect all the products in the promotion virtually in one place within your system, to ensure that promotional stock is reserved and accurately tracked. +An inventory location is a specific physical or virtual place where stock or inventory is stored, tracked, and managed. Your inventory locations could refer to a warehouse, retail store, or distribution center. You may want a virtual inventory location, for example, for promotions. You may want to collect all the products in a promotion virtually in one place within your system, to ensure that promotional stock is reserved and accurately tracked. In the Inventories API, you can create an inventory location. You can create individual inventory locations, either for a single physical site or for multiple distinct locations. From 5750ed999fe6f6f8d780446ff4c9c5f7292410f4 Mon Sep 17 00:00:00 2001 From: Jo Date: Mon, 23 Sep 2024 16:46:23 +0100 Subject: [PATCH 08/12] first draft --- docs/partials/inventory/paidorder.mdx | 16 +++++++ docs/partials/inventory/unpaidorder.mdx | 13 ++++++ docs/partials/inventory/workflow.mdx | 41 +++--------------- guides/key-concepts/inventory/workflow.mdx | 9 ---- .../inventory/workflow/_category_.json | 5 +++ .../inventory/workflow/paidorder.mdx | 9 ++++ .../inventory/workflow/unpaidorder.mdx | 9 ++++ .../inventory/workflow/workflow.mdx | 9 ++++ static/assets/unpaidorder.png | Bin 0 -> 42159 bytes 9 files changed, 68 insertions(+), 43 deletions(-) create mode 100644 docs/partials/inventory/paidorder.mdx create mode 100644 docs/partials/inventory/unpaidorder.mdx delete mode 100644 guides/key-concepts/inventory/workflow.mdx create mode 100644 guides/key-concepts/inventory/workflow/_category_.json create mode 100644 guides/key-concepts/inventory/workflow/paidorder.mdx create mode 100644 guides/key-concepts/inventory/workflow/unpaidorder.mdx create mode 100644 guides/key-concepts/inventory/workflow/workflow.mdx create mode 100644 static/assets/unpaidorder.png diff --git a/docs/partials/inventory/paidorder.mdx b/docs/partials/inventory/paidorder.mdx new file mode 100644 index 00000000..a2de1d24 --- /dev/null +++ b/docs/partials/inventory/paidorder.mdx @@ -0,0 +1,16 @@ +The following flowchart depicts the process of paying for an order. + +![The payment workflow.](/assets/payment-workflow-1.png) + +Stock is managed as follows: + +1. When a customer attempts to add products to a cart, the inventory service checks if there is enough available stock. If there is not enough stock available, you receive a 400 HTTP response with a warning. The response does not describe what products cannot be added, nor does it return how many products are in stock. +2. If a customer successfully adds products to a cart, the customer can checkout to create an unpaid order. +3. A final check on the available stock is performed. +4. After creating the unpaid order, the payment for an order can be taken. When a customer attempts to pay for an order, the inventory service reserves the stock before the payment is processed internally. At any time before the point of payment, a customer might lose their order, if the customer is slower than everyone else. +5. When the payment succeeds, that stock is still allocated, and the items belong to the customer, unless for any reason they are reallocated before shipment. For example, if the customer cancels, or you realize the order is fraudulent, then you can reallocate the inventory. + + During split payments, stocks are allocated only if the first transaction for an order is complete. If the transaction fails, the stocks are deallocated. Once the first transaction is complete, the stocks are not allocated for the subsequent transactions as they are already reserved for the order. The stocks are deallocated and return to available when the the order is canceled. + +6. Finally, when the order is marked as shipped, that stock is fully decremented. This means the allocation number is reduced, and therefore the total, and the products are no longer in the warehouse. + diff --git a/docs/partials/inventory/unpaidorder.mdx b/docs/partials/inventory/unpaidorder.mdx new file mode 100644 index 00000000..849c52ed --- /dev/null +++ b/docs/partials/inventory/unpaidorder.mdx @@ -0,0 +1,13 @@ + +The following flowchart depicts the process of an unpaid order. + +![The order is created from the cart during the checkout process.](/assets/unpaidorder.png) + +Stock is managed as follows: + +1. When a customer attempts to add products to a cart, the inventory service checks if there is enough available stock. If there is not enough stock available, you receive a 400 HTTP response with a warning. The response does not describe what products cannot be added, nor does it return how many products are in stock. +2. If a customer successfully adds products to a cart, the customer can checkout to create an unpaid order. +3. A final check on the available stock is performed. +4. After creating the unpaid order, the payment for an order can be taken. When a customer attempts to pay for an order, the inventory service reserves the stock before the payment is processed internally. At any time before the point of payment, a customer might lose their order, if the customer is slower than everyone else. +5. If the payment fails, the temporary stock allocation is removed, and the stock becomes available again for anyone to buy. + diff --git a/docs/partials/inventory/workflow.mdx b/docs/partials/inventory/workflow.mdx index 6a3e1ae2..87edb149 100644 --- a/docs/partials/inventory/workflow.mdx +++ b/docs/partials/inventory/workflow.mdx @@ -1,36 +1,9 @@ -### Order flow +Inventory transactions refer to the various actions that take place to adjust stock levels, such as receiving, storing, or shipping goods. Inventory transactions are tied to orders as each step of an order triggers changes in inventory levels. -There are three mandatory steps to complete an order in relation to inventory: +When processing an order, there are three mandatory inventory-related steps that must be completed. -1. Added to a cart -2. Checked out -3. Paid -4. Shipped (optional) - -#### Unpaid order flow - -The following flowchart depicts the process of an unpaid order. - -![The order is created from the cart during the checkout process.](/assets/order-flow.png) - -#### Payment flow - -The following flowchart depicts the process of paying for an order. - -![The payment workflow.](/assets/payment-workflow-1.png) - -### How stock is managed - -Stock is managed as follows: - -1. When a customer attempts to add products to a cart, the inventory service checks if there is enough available stock. If there is not enough stock available, you receive a 400 HTTP response with a warning. The response does not describe what products cannot be added, nor does it return how many products are in stock. -2. If a customer successfully adds products to a cart, the customer can checkout to create an unpaid order. -3. A final check on the available stock is performed. -4. After creating the unpaid order, the payment for an order can be taken. When a customer attempts to pay for an order, the inventory service reserves the stock before the payment is processed internally. At any time before the point of payment, a customer might lose their order, if the customer is slower than everyone else. - -If the payment fails, the temporary stock allocation is removed, and the stock becomes available again for anyone to buy. - -If the payment succeeds, that stock is still allocated, and the items belong to the customer, unless for any reason they are reallocated before shipment. For example, if the customer cancels, or you realize the order is fraudulent, then you can reallocate the inventory. -5. Finally, when the order is marked as shipped, that stock is fully decremented. This means the allocation number is reduced, and therefore the total, and the products are no longer in the warehouse. - -During split payments, stocks are allocated only if the first transaction for an order is complete. If the transaction fails, the stocks are deallocated. Once the first transaction is complete, the stocks are not allocated for the subsequent transactions as they are already reserved for the order. The stocks are deallocated and return to available when the the order is canceled. \ No newline at end of file +1. Adding a product to a cart. +1. (*Optional*) Choosing a location +1. Checking out a cart. +1. Paying for an order. +1. (*Optional*) Shipping an order. \ No newline at end of file diff --git a/guides/key-concepts/inventory/workflow.mdx b/guides/key-concepts/inventory/workflow.mdx deleted file mode 100644 index 7d9292bd..00000000 --- a/guides/key-concepts/inventory/workflow.mdx +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Inventory Workflow -nav_label: Inventory Workflow -sidebar_position: 25 ---- - -import inventoryWorkflow from "/docs/partials/inventory/workflow.mdx"; - - diff --git a/guides/key-concepts/inventory/workflow/_category_.json b/guides/key-concepts/inventory/workflow/_category_.json new file mode 100644 index 00000000..793a3208 --- /dev/null +++ b/guides/key-concepts/inventory/workflow/_category_.json @@ -0,0 +1,5 @@ +{ + "position": 25, + "label": "Workflow", + "collapsible": true +} diff --git a/guides/key-concepts/inventory/workflow/paidorder.mdx b/guides/key-concepts/inventory/workflow/paidorder.mdx new file mode 100644 index 00000000..2c661d9f --- /dev/null +++ b/guides/key-concepts/inventory/workflow/paidorder.mdx @@ -0,0 +1,9 @@ +--- +title: Paid Order Flow +nav_label: Paid Order Flow +sidebar_position: 10 +--- + +import PaidOrder from "/docs/partials/inventory/paidorder.mdx"; + + diff --git a/guides/key-concepts/inventory/workflow/unpaidorder.mdx b/guides/key-concepts/inventory/workflow/unpaidorder.mdx new file mode 100644 index 00000000..0a279e85 --- /dev/null +++ b/guides/key-concepts/inventory/workflow/unpaidorder.mdx @@ -0,0 +1,9 @@ +--- +title: Unpaid Order Flow +nav_label: Unpaid Order Flow +sidebar_position: 15 +--- + +import UnpaidOrder from "/docs/partials/inventory/unpaidorder.mdx"; + + diff --git a/guides/key-concepts/inventory/workflow/workflow.mdx b/guides/key-concepts/inventory/workflow/workflow.mdx new file mode 100644 index 00000000..25c5b06b --- /dev/null +++ b/guides/key-concepts/inventory/workflow/workflow.mdx @@ -0,0 +1,9 @@ +--- +title: Overview +nav_label: Overview +sidebar_position: 5 +--- + +import InventoryWorkflow from "/docs/partials/inventory/workflow.mdx"; + + diff --git a/static/assets/unpaidorder.png b/static/assets/unpaidorder.png new file mode 100644 index 0000000000000000000000000000000000000000..c9b5e1aef496318df5867b97d2db91528649ebf9 GIT binary patch literal 42159 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 z89 Date: Mon, 23 Sep 2024 17:38:12 +0100 Subject: [PATCH 09/12] first draft --- docs/partials/inventory/paidorder.mdx | 2 +- docs/partials/inventory/unpaidorder.mdx | 2 +- static/assets/unpaidorder.png | Bin 42159 -> 30083 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/partials/inventory/paidorder.mdx b/docs/partials/inventory/paidorder.mdx index a2de1d24..50d27834 100644 --- a/docs/partials/inventory/paidorder.mdx +++ b/docs/partials/inventory/paidorder.mdx @@ -1,4 +1,4 @@ -The following flowchart depicts the process of paying for an order. +The following flowchart shows the process for paying for an order. ![The payment workflow.](/assets/payment-workflow-1.png) diff --git a/docs/partials/inventory/unpaidorder.mdx b/docs/partials/inventory/unpaidorder.mdx index 849c52ed..64830092 100644 --- a/docs/partials/inventory/unpaidorder.mdx +++ b/docs/partials/inventory/unpaidorder.mdx @@ -1,5 +1,5 @@ -The following flowchart depicts the process of an unpaid order. +The following flowchart shows the process for an unpaid order. ![The order is created from the cart during the checkout process.](/assets/unpaidorder.png) diff --git a/static/assets/unpaidorder.png b/static/assets/unpaidorder.png index c9b5e1aef496318df5867b97d2db91528649ebf9..7574daa90471a5c8c6c43a3d935ee630e1171146 100644 GIT binary patch literal 30083 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 G?)*2`1fHt^ literal 42159 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 z89 Date: Tue, 24 Sep 2024 12:13:51 +0100 Subject: [PATCH 10/12] first draft --- docs/partials/inventory/overview.mdx | 2 +- docs/partials/inventory/unpaidorder.mdx | 10 ++++++---- .../key-concepts/inventory/characteristcs.mdx | 4 ++-- .../key-concepts/inventory/transactions.mdx | 4 ++-- .../inventory/workflow/_category_.json | 2 +- .../inventory/workflow/paidorder.mdx | 2 +- .../inventory/workflow/unpaidorder.mdx | 4 +++- .../inventory/workflow/workflow.mdx | 6 ++++-- static/assets/unpaidorder.png | Bin 30083 -> 33910 bytes 9 files changed, 20 insertions(+), 14 deletions(-) diff --git a/docs/partials/inventory/overview.mdx b/docs/partials/inventory/overview.mdx index c37a6151..0e847f48 100644 --- a/docs/partials/inventory/overview.mdx +++ b/docs/partials/inventory/overview.mdx @@ -5,7 +5,7 @@ Inventory is the quantity of each product that you have in stock. The inventory You can manage inventory using both: - the [Inventories API](/docs/api/pxm/inventory) -- [Commerce Manager](/docs/commerce-manager/product-experience-manager/Products/manage-product-inventory). +- [Commerce Manager](/docs/commerce-manager/product-experience-manager/Products/manage-product-inventory) ### What is Inventory? diff --git a/docs/partials/inventory/unpaidorder.mdx b/docs/partials/inventory/unpaidorder.mdx index 64830092..009e89f6 100644 --- a/docs/partials/inventory/unpaidorder.mdx +++ b/docs/partials/inventory/unpaidorder.mdx @@ -6,8 +6,10 @@ The following flowchart shows the process for an unpaid order. Stock is managed as follows: 1. When a customer attempts to add products to a cart, the inventory service checks if there is enough available stock. If there is not enough stock available, you receive a 400 HTTP response with a warning. The response does not describe what products cannot be added, nor does it return how many products are in stock. -2. If a customer successfully adds products to a cart, the customer can checkout to create an unpaid order. -3. A final check on the available stock is performed. -4. After creating the unpaid order, the payment for an order can be taken. When a customer attempts to pay for an order, the inventory service reserves the stock before the payment is processed internally. At any time before the point of payment, a customer might lose their order, if the customer is slower than everyone else. -5. If the payment fails, the temporary stock allocation is removed, and the stock becomes available again for anyone to buy. +1. If a customer successfully adds products to a cart, the customer can optionally choose the location of the stock (if this order is for collection). +1. The inventory service checks if there is enough available stock at the location. +1. If there is enough stock available at the location, then the customer can checkout to create an unpaid order. +1. A final check on the available stock is performed. +1. After creating the unpaid order, the payment for an order can be taken. When a customer attempts to pay for an order, the inventory service reserves the stock before the payment is processed internally. At any time before the point of payment, a customer might lose their order, if the customer is slower than everyone else. +1. If the payment fails, the temporary stock allocation is removed, and the stock becomes available again for anyone to buy. diff --git a/guides/key-concepts/inventory/characteristcs.mdx b/guides/key-concepts/inventory/characteristcs.mdx index 54020569..0cb7d1df 100644 --- a/guides/key-concepts/inventory/characteristcs.mdx +++ b/guides/key-concepts/inventory/characteristcs.mdx @@ -1,6 +1,6 @@ --- -title: Characteristics -nav_label: Characteristics +title: Inventory Characteristics +nav_label: Inventory Characteristics sidebar_position: 30 --- diff --git a/guides/key-concepts/inventory/transactions.mdx b/guides/key-concepts/inventory/transactions.mdx index 57067d63..a75ace08 100644 --- a/guides/key-concepts/inventory/transactions.mdx +++ b/guides/key-concepts/inventory/transactions.mdx @@ -1,6 +1,6 @@ --- -title: Transactions -nav_label: Transactions +title: Inventory Transactions +nav_label: Inventory Transactions sidebar_position: 20 --- diff --git a/guides/key-concepts/inventory/workflow/_category_.json b/guides/key-concepts/inventory/workflow/_category_.json index 793a3208..e625c775 100644 --- a/guides/key-concepts/inventory/workflow/_category_.json +++ b/guides/key-concepts/inventory/workflow/_category_.json @@ -1,5 +1,5 @@ { "position": 25, - "label": "Workflow", + "label": "Inventory Workflow", "collapsible": true } diff --git a/guides/key-concepts/inventory/workflow/paidorder.mdx b/guides/key-concepts/inventory/workflow/paidorder.mdx index 2c661d9f..2a70a56c 100644 --- a/guides/key-concepts/inventory/workflow/paidorder.mdx +++ b/guides/key-concepts/inventory/workflow/paidorder.mdx @@ -1,7 +1,7 @@ --- title: Paid Order Flow nav_label: Paid Order Flow -sidebar_position: 10 +sidebar_position: 15 --- import PaidOrder from "/docs/partials/inventory/paidorder.mdx"; diff --git a/guides/key-concepts/inventory/workflow/unpaidorder.mdx b/guides/key-concepts/inventory/workflow/unpaidorder.mdx index 0a279e85..c888f6b1 100644 --- a/guides/key-concepts/inventory/workflow/unpaidorder.mdx +++ b/guides/key-concepts/inventory/workflow/unpaidorder.mdx @@ -1,9 +1,11 @@ --- title: Unpaid Order Flow nav_label: Unpaid Order Flow -sidebar_position: 15 +sidebar_position: 10 --- import UnpaidOrder from "/docs/partials/inventory/unpaidorder.mdx"; + +Once payment is completed, the order transitions to a [paid order](/guides/key-concepts/inventory/workflow/paidorder), allowing further processing, such as fulfillment or shipping. diff --git a/guides/key-concepts/inventory/workflow/workflow.mdx b/guides/key-concepts/inventory/workflow/workflow.mdx index 25c5b06b..67409599 100644 --- a/guides/key-concepts/inventory/workflow/workflow.mdx +++ b/guides/key-concepts/inventory/workflow/workflow.mdx @@ -1,9 +1,11 @@ --- -title: Overview -nav_label: Overview +title: Inventory Workflow +nav_label: Inventory Workflow sidebar_position: 5 --- import InventoryWorkflow from "/docs/partials/inventory/workflow.mdx"; + +The order service first creates an [unpaid order](/guides/key-concepts/inventory/workflow/unpaidorder), which records the order details and holds the items. Once payment is completed, the order transitions to a [paid order](/guides/key-concepts/inventory/workflow/paidorder), allowing further processing, such as fulfillment or shipping. diff --git a/static/assets/unpaidorder.png b/static/assets/unpaidorder.png index 7574daa90471a5c8c6c43a3d935ee630e1171146..9d5c761e166cc792ffab004dcb68901e941a05d8 100644 GIT binary patch literal 33910 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 W7m|4}mwN|pdsQV(#ey4_PyQEc0;CxL literal 30083 zcmeFYhdW#0|34gBwK}M+R%wmel-g=jdv8&pT06D3QZ*8^rKnw7s8M^*Bvon$wbD{W z6pc-U=lFcSzuz;i=RbI!T$f97uKV2Qect1Bzh{Dxfz}NwRw@t(bVEm5-2?=pcm@KI zEK^(qt`t16vIqWA`e*aPeOe8o|R`XePmPW_Cm`wlVWKH7I=$-RcCHj=e=Qgw8yP?`MU^5y>XL3#O; z{Lk0NJXajihCS^n3O8??j!>+AD)$4lN^ejcm+zik2< zqv^f=-vywkH<#@E@8_ZV|G)MB&yfGtz6V{vQSC(5ajp@ut8?| ziV#rL#%)NOXy?CCIH_%Ho?S~xMn<;L<&eiVxJgUzm~V3HGD?$HFsgHXh47N zW|H(+X=AQ{^irlswtPnwt^B_-BX79cTQB$=-qZ*NMNx`90R`TD?N8z;1K>cqI)Ve_ z7$U^`_8sisR@_L}mzG~u>;On^)lcD?xkwgJe|1 zu0*~24}BSYH~$KIh5o5bx+;Nt?M(to2d9!O#L|p`K)?evxy)~Y#1y%G?!1CSg>{-~ zNLfLk@9w%>MIvqG;V(A{Nn|9MI=~~Z-}}$P^!h7vVO|^XE&5dw5XyCQ0fyWP-L`!P z+E%65Bo%`JQjkgb4{;|8d$-awPQ9ywxOn)&s6k>Jo>V_YUPoO6)dL6^CGuZUsm!PB zbh-Y>D7K{_xdDnoew=!&DT0dTlp}mwep4Sn4-)$hZ21;J4$749+=`MO*0|G5pFewg zzFeqp3n2O%7Pt%KN)_K42X3)2F?0u>w_kFB zHR-D41jDTOZ8l zDa+ULN%k9zhM$wAjVfbevkw6lFZxV>0F-RUhmFM1DM>LCe?c57)7yU@oB5Bp0_v1Nk3TF)YxDot5?-fdXMK*)<&Qwa_qkYKw!(flp2Xvmny>db-y%@S46SFKl6k zUg6z!?89onrpA>qzm{8w9~F-%r@pIMF=>{CvI^?2HPE40hmU)zM~8ni$TwKhZ*F(| zLyFSt=8&w9PgLTkPpqY_El0;Ag-!YW=YB1Lnd#w7c| zZk`3cb5O{QXLh?^IT^>KQ;27r3}S-CI4vIY(JBerB4It0<3rNsB7kG3rjU@m>{94!V_YQ+$_(O#Qq%F3Dt8fJNY}$KHALP=S~~Gh*XOv; zZO;~bZ#{?HxI*D9v|vA~Z1pz`Pq{b_ib^QpnF~V7h;{jy#yA*G-Zi5<)L@fvp_5HRm(oDv@#p!VY22nicmNAB+{svx3GnNn5@r*7=2PlwLzy zPb5o2IdsLYICAS?QZmdG>wDDUP2wyu4y4U1sexLAf$1ZrjQplX5Xef0lx0ZwkrZf7 z8(1ElIUuDApoEndZBF~v#~Lc3;on>S=uT{#-st8rF+Z;3DyBX zN*{)|zbfJP*xi8&OZ6NC8q(2f2>9AwLEJvs5sBDB-3l)w$beCFK}fbm4}QY=*G z(2up0NH);{K#|4ucHF>tld!cz6a~=50`7S2vF^u##u&iT#YFN$&tEMcDq?BAT0O;I z^kzitmII`SS%iLLod6VnlJ@hepXn9H62J#)fIrrhzoZDpu+j!tz7}}{<6wU?06IM; z>+#YbFW0qF0_$Fz5uGosUh}@se1t#&EuV=}-2oA)k=;ZO0u|AG&AbV`WUU>54HlU? z3(l7&d@Z483mt&vc`L4xCsW&e+;c&MU()fuoHG2`Xt-RVKIP&R$m%BWo`ULJ5V=cq z)Pe65s-f&xkCO+B0SSr0lb=rt-+He8sBy?}-Uigu0?=FqsyN-?2GFlw|7XDIK#-zA zOUKT^Jj`~awG;$;mi-vzkzj*OGF%d4ZD9RsD7R++Ol~C%^?Cs|uu~0vCo(xjf zWz;->(SMxtUkg|dwpab(4P9q@lpiEU#mg_~?tRP+BbQ%Mt z%De=SN$ljRmkxK@-bmz08o&*`kIZY~rEEJI%yier^>0KWZx4f*d0t(A^A15CH3$hq za|win_FG#rKFaA-dwd1No0j}sNRwmi_zl0I&? zE==Yv_HqLh;X2@k*J_ipz%P}nAr8;3dmlJGwn}(dhwhR+^xAmsk2wWt12iydBl37J zY4{er+_SXYj2pX{$T-%`EG(ZpB41Q zKo4fmTb&N3B`YE7qr}y4t;n;Nb#9ZV+j!~ZqPlRl7$$c%LMAUDuQ9e)w&~e`q=ZCu zr^b2H+plox`HAuLk&!EhU+6S@9)GS(jEy%!eKHtZPP^sBDUb<$-Ur~elT>FM#x=Li zqZh7lm5$FZH>zZ7E*+85{fXz+MSzZ#R5tn7N{Di*0RTOy9p6!9 zBQh>m*|&G&+g}1sMS*pCdC_;FKytBpUb)P72LINQ74~BgU(G~?#%~5w@EUYbJsY#| z)WsZ8YrM7`s_B={NA%It##{MMS0J6(!$ZK(a=K*g>1Qg95u=?en}+D4l*lXZtKouqUTls_jn+;DT=ih9{V`Ijw-Sy^{VT<4O8Y=8!6 zOFg|-JeQ_F#_)uJ??<7Jl<-x3$CCyr^T-0B*PP$eJ#7{#9gF9eL+OVe5l=#y!aKgE zR2YYWF9he?2#G634h7ht%|=W(G}gtxBZ-i|WXZ72#3OgBWX&d$xa)s6Q4Ab{#eZy) z%DnWmdiwOA+;LY~c-9~rpH0eIS8VXwTXgQBqW^V}l}LIy6uZi{M^< z1Flko>v3{ql@Tcks;2Zs6Cbq7&gK~U^Ge&Y_^bcw@F~yO6Q-Bb?!+ncCeTGxtT+B) z`j(nw+1)4;w5GN=!%kM6)E#VY_*B@Siepn@2DPhL+-F5UBptA1dKR(1mlA;0nwxpE z>wh39fn1~Axl5+t^y7Wwm1x0}y%|_U|2Aw?V97hg8?WF#bQJa^I9ke+DMdMpVa17H z>2<1l@WX={FBx0fAZyMUX&KDVbACSYUKbil6p4NWskD$PKW&oTM=jw^f%aMroQ1mE^P ztX*L5@yMKY)a-)m(5Fqi^up<_zQW8;28Yg?V)DB#is|4wf4#T2mr@&`B_`rdv{ksJ z@!&4=Rd>06Te*s(oEkNj5o<$8_rls~fj0Kd9J?F7`H}m@l^;$!OT)lWC&@&2orc6D zBhB-yWxN)7PRsZF$SDH1f=ReY;}J(Qa`VaEWJs<>$B8t)@y{yK9!j<%MpiF=y+Z zs3nAa>t3ZWk3A+Bd}^lAAUxO4HACm@S}~$y8ZP+XSk?%*gBAZC+@vbP#CXPShm{lL zR@D36?P3!;^aB~HHeVwrx+#fEzHC~2E+6j${-BICa6)NETFQ21(?_>ly;Sq>KwMKU zQtL*z?O#g+;6r8v-JRib@CMyoI0ETrJ%*^>7cexb{%&xJOz8E}E?j78lPDLujvVX> zDd!q!3I=f-yg{8W5Byx{1nfI;h9R~b_u3_={IB1y_?eIbg-<_f`n5W$gO<#_Wg0^~ zh*F;;N1L3sR=p7hUrXt-#y>&q!#GwC@i~BA7(|zj@?V^#b04NEb)Werr554a5Zq2{ zMC9PgtWxgd>S-Mj!?fy%{$*QypNXCmLaEvW-d&_HMWeA7@=M{?8_c}^QF{$X+qW1~ z^yz}~`Vq$U;0+e{ss(qrtEkQ|V(`G@_t|b`%8K?u zONQa!B3yu({0Oq{!L}iKUS+2>$YrGI_J;aNonC4>6Xj>H>??t~H#m(zW#1u`SB z7w1Q?aKa&jZIg$ z!mBrk$P2@|Chrh?eCwZBIV+LWbVSW`-!^^5inoC34dbZfZX!P%J)y2^?XHka4h@Tk zXvOtd=}t?kjv{zA`cfU+2j0ZzNxWP$Z+!AHZiKE%KxzAIaVyxG&u7(1>)3! z#T|a(=gij#OM&PTk6CtHJlFOr@+y79;73g8BbjTrLPp(1@`f8bOK`7Z;~~%CgVSl~ ze(9!zxY$IxACVTxJEfnJ8o9jId^7P}Uhu8g-md-iqe`}a=lnaGz69;9lcOrFoWR*hpIS zv!xk&_Ore^YKF6<`l(h^Ir*Kx8|}XtOj154BKRCh6lX4vqc40r}don zH^}|^Av?~>oz#Y~ps&fV8U~v_&|9q$XDCTd+aady5-Qt|4iqB8vAQ>&v29j~=XAfh zr!+IOfPdxH>t5&1H5p<2Fp=A&cvH0NczJn$(ol5H&BXKoe?<4IwqxDC@yk+hAw)mI z|EJR-C%X4R!&s}ZKPAqKj_^I2Wlz6wH(&u;HBaxJR_17PqNtBsPDHEp!eyq*!hfqY zO5v3WYX}{Ceh>c`_LyO^K?yin$$M#5RPqRcdJRzh~+43QjTfHtlIntZ_>!xEhF<`^xN`?FG)Zxa{uCPbwS{G2ONuVFjO zn{ZNvtGCmV%6!rbC-U9$FmSss?fh?YkCotI$r&W%!u4qVV4rA5CQ-T+*iBg6F1UM* zMn2&0b9)&GtI2_Jc}lIR4KM#K;n$hv$g6IX`Q6P7D&=8?=8c+FWRnI-Kc^KO!poa; z10qOeypP!FI!;5@4#aHiX!Ce8VY%7{tN?Et0N%+d|6zGS!Gat4Vq~x+S`0PlqH)^n=F9f8y*# z`h*f)CxKKRtzz)r5~2Kpxl9%P$+n64gri;MZsc;CK3+*T zu$l?-ksDZ$|K6>Z<4xJeB9_Z5l4&dqd0!?3i866F%wiL{z<*})Rt^90_QYTUqecgl zt(Z9y*Oif#sfy}qGyEhX_mZAzCIYR~BvPkI`I zuNCq`hb&Y`8eN^4^Lg38w=lidBKD0kw&;fv&J(dF`2^%`p^Y(2{*V)Y!;J@9uOHm; z1DxDDcN+wW2)>Kp;7BMT;r_?Cf(i+gd1gBgQw>F|vTtX9tK_}Jd@b6i#ewHTW$>+1 z?Hn2+5`2bSmdBnLj3$hiHbn})iLYZOm_$J zw6%TX_L^~_tqaEl!${PI6toxK;gdRTy=i>&-p#-!ouQ8d0WWk?X~>GtpjuzTdBrIe z!oX{?`P-g#7;i!__-G|GG@AM#N{9Z-AKwm*P1D6ABj=dneyj|1Lc)J7KD}Y%TS4pd zy)1hc`c2GtKHdTMFR#720q==Tm*^Y5S}N+dBY#kRfx9=7*7h@+IuXqo*+B@Ua_t~) zd4ubwXC{GgpwIN^N#9HE)bn&i!%=9H`L8-Z%;C7k>*_4AX;j_>q!+=_YkU=#CTyeGhH|)WG^KU zFP~+7Yq_*;@qZ;kA?=h*=%olg&HV7gA2>q88%f?yi0zV!u-tx?pBQ8!V-B*aPOQH1 z3!W>gWNh!qU|;x5gG2pu`tzZ4ugb@2!Po!h!DIr?Y~f^+w^zqcxVyy~Bd}S!E%d*V z&t&ef4_YAK2iKX|LC?71+nWODEaS;rw6}GJs$R=f|MvYl>na3h`t_^fqM^ZlDcEy% zGik*F?pri(J*O3R?M~z#VhIvyovK|UDHp;fkm7GFs-H3_KUDHqxBH0AAM=88+VDu}L53peg`@H=~N4RGU^9eAUO_%p8_%3ilH(_~7g;kVIs;(554?T3fP z_BWPTYLI*Czru}R=ggx6GyL;tD`AvE@KZkf-r1eTsUv%`$f3F)P8rnY4r*mV=8-oJ zNX@&#=|4>1U(Oze!@!L*3pF$h`N18dW)$+rW%BKtWLi%Jy*INGAt!6>gqnQjL28c; zs`6v+pU?TiI?`O2tYkd}slGqqQlqh?39Q==Iq$`(Pyg>^d#d|b!Z?L%$Nq$_xn&Z? zh(0y@Jj(la`dm?`g+z|Hr|y)nh1~#)Z&TRKO!9zK`e}XT(LiwcU*=}?OjgDkqDqT+ zuF_qjw7Hr$kJGI+Yet84C}`23i`FM(0H6Lekn7JUQS5#!4qw4RyVyUeG_fGfw71ft z+;}dd`cw{Wub{wa8q2<37MTwe&HTzKyzK~5l zmRpcDHewi34v!p-NOs;V2eP~xzvLLQZ@Ib?4(B73%$s3fjyo@ox&tP{U%ZvrQ7ZiD zU{E!2Pq2?YxQAzeSaIB0n)+ocg7Ih@(WTlTB!9M*YB-{a54(V%!H@%4|HFK$^P1_U zz=PKGeCX)~?}c4z(htHAwHrS3SYbLN7G>%+HRAEUWYC&pBwlCXGqs*jo^Il2U-nNv09b>ck(*_%+0!;_s;0|qe|K*lDqnzleOngad`^n~( zt0&`GA_U4d??kXl+<3h9+Vv}+n=b9$=3~7T->k#Je6#S-&jad0qR-7XhYw{1EMmDL z!nmi#yidNgMBl%aSX!&XYI+}f{cE!>L09;6^X@BV7~A=`>aKaTxEPh_3qr%8SEmdE z8rE8tLau81sWjyK>SlH&nOCKB-HX_h{Z?z94U;o&@x;NoxtTJ`B z%pHwuu^%B@>AZm;U@q9p`<%_2|7EnJFOE4H<4^4*mWJj=)=U*G1D?A1(>|B=V%yIn z2)~mO{;#uZv+Wg4>B@FNP?G+s`Wm;;b2}wr>>8a^_K+c)nLY2dGm<}id%LT8h5TXv znsOKKt0P`%o}@%bZEVstXj?u&QudmiC9Wk!?+@jsI}|0ZrI0+i&OcFb|C(aiRJB5m zA!eh9?O}b>|}8M{}d9(ExmNu0c8y zYu`0x#32F`n<}W5U7<(k`+cdSdOMXYi$8rs_5hKdlq+VFm6O+?f1;Fe`T7J zZ1JgmtG_+Bq;zkE=#f^O2H0#TSaD2$yZAn0{wpy!@fZG)1DU)V`=As2Z8S?}Y9M~h}7PWBmYb)LR z=WUC!a+^0fH-x~JqUz=vbym7TUkATG=y@M2XaW`TXP}Hpgv5QB`N)JuxG;Yk^|MH> zoOHeqQ>_pBulC6>&+EsX^s!{v2mDABz9T0hh^gE9XBlvyuu~xN0>dnX%KniVFx$0h zk|{lCyOuK7q`afoR9as=R7-H$confYflG-!DTa(a>OT3NSF(j-8HrDRE#GHk}Liho+U3@Lif~PPdLRMW7pzq8@TkbDS`N`7w*3|yyyguN&bZorCLKV z2aL&xT?BF^S8gzO^Pan2*fG${PH!yRD`Sms5jCS^zlW~OvaWQTEbTqi9a^M(u2*V( z%k{T^mCACE__rVr3p1t~m&VCc@zleQ<&K(q&TR?b?>d2e=CJ2(*!dzKtf#H{xmH%9 zc#MH`)z0+jP2W?Mg*HKUAvmg-A(Q3#4gqbAyZm8gMTRTN0B!+{0GE^qHXtB z7&R+vbX%G6a>*a)TFxHqJl|4Qyb%r5sjx~zvb00gExIolID6lisi#D1*<>`~CXCLB zsO}?0K4SgWqck+kOt0GDciBJnX#pN=1jO1bVat^HZgqJz_~bTv*iFHN?N*|HhT&!h zTA?8;5LGVsdTaZ&4EN9Z;H@GVJHe%+s_txd_vKIpSE{1otw+xwpZyB&4g}!Ox#R1$ zam^O7WoAOQlP8Y~?mQ7eJ8ed+{$94d8oef1tKlO(cwwI~dXJ%f;&qKuKy~*yb6~09 zp)0;cPB^`te}CXrr#X3pb%&eD<>8tG-{J+!iJ#`~gq2Y_-^1@c0Tj@{bA8rgM<)GH zu}aO_CS+SG_ofSRijx!F;^*`Q?D}P_*)wwbqfq*tuLtekvnFJWna;wzN=Ax^30_$)vBjqGWd=Dmnoko*LRX+Sw9Aq>k5b*l|!2E&CfwL z?WcH#a}0iSWcQUkVHCWq4)~c$a^$edxn7^~u6i`Id-_!B;;^-0NpD)al4O{aTzuvF zEx0>4rrK?bkTbNO$F!eyRibnP$pp63pUVsW^Ksjgc7)k-9%F5QDKoM#e=WerTPfFD zp%SUPanG8nXm$QTUY3cEW-m4VAp8cEFS6KuEd0cMz3Y!s@8<(+xvpwLmpq>%dF=R` z&hw`PPWql~4U>Z{i5GNrXT{cMxqtYm)f^sId*@ew)3H3)Fure4+?i#Mw+CB3qFQ)C zptt)FBcen#`Xy4Esa~A=WLLxqqT% z+gxSJ5wRZF!CF!s@NgbodlIC4u-4%5#|IyHRFbbCXFjwTz7vWS?G$;9c3Z_6uH8ogio)sj4S4 zZ6|S>6%V6)mNc&l_Qi&)SN^!BM%U-Wrx$`a2ZB~)Zwxwx?vAtvzqHpvO95ftS(eu+ zILhhn-Pf_Wjp6Y%*wllJ8vLtSQw>srNdj+q%*8nweli3WIVWN-I)fHB9Uj$@oz!|QwpCnrtujM5g=92L z(F&2?Kzk`HJ>}l1dgqW17vJEH$Nw0OXhLiugZ`Cfd*POty0M`BQl?| ze3wEz@w+!J>Q5CpH)BuV`$KaOZ8iSsuM)S8E=Dri36+6dfP+YtP*Spq7&Jljc^l7QX-9@4&dvkS~=X?{x1)lQ)YBG;u))w+J0@_*xA@5BO z@=vGA5R^7{DjyBURQ1LRh5e4#wUp;@j+)OyxEZeyi$*!~!v;(k4@SuE-uRn}6xy)B zg6$Qjj6@Ij-NCt4atFs-(8z}LYEqWmC{6mdcF*&jMf0j9zg1}}`M6=P> zj7cM(orEgro;S??^E+FEfkJ^tRNDNu*k5~^*Uw>3UOOb(&FEh>{+3!DROJbqPMmxJObXxIFYAJO8X)bWAe?VPN_L<#JT>@57&I* zbSHtmb_zA&lF7}7=fWaVIkbGyu@cu{tqZ^WOg`t#OpD(8nxaemlLmdNszj=wQ0kS~ zKfu;NILn2Av*uBCLb0<>U2XWIYW9wl5khjXE62UcJjd~iKSxRS{t-+y;E#N21aFpx3(oY0O4aj`3(_CD#vka_ZEju$Y8`SE#HvwGxa zJ}%Z7P{r`sh`)dh+Ey!lgkcGurrn>hS6|-l=Z>lVo1kiP{a%wd=N1)BMTnJkY9@kH zS_SqyjLJp*m3(z!&Q*Otrl9wUQ{pNKR|E5=tEV4y><#E#G{O`%()$=IGUp6Ka^}?UKu&?wmUwPA#C1Fob zv(o$Az0-9x&+Uw(N5m+hu*G_5ZAt{gWIJ+ zsp`4OK0S(+C;E0S4xieUD0#(ts)*-5eHN__q4( z$Qn|-EUB_$rO7S0)P*7tX(z{yUYTVa1!HKE8344InK$g3avjF39J9`&?am&zrtB*@ zeXIz{^c4S77(sJ)*=pGjH98r#5gWtjLZHY~Wh061)f-7L?|sZ~L^4yjh?VZpn)#~~1H~`6Lt7=SDf1QR$(NA0 z`Z+hY%@8?+22;welm+`kZW@!NnHq>q2TI}RyErYUd`#$re0jIv4X4j;FD9!9x3}&A z3M*~bIN%7o;qp3yEaSs8s#crIRh>lWVtC?SXqV3$GsOmUaS0BxYnERSo0gMuUvKw! z82!%`L8_g#9A5+MibL0T7S|kc?{^UkSy}ObBSOV4aKe7~4fEfcq~8bUE0lX3Z*!)x z4)9F9;$_{}Hw#TQ=nHSTY+c*a8EdPulJp}OSQWcT&IW%Lr`1UZLlboA zzVM%Uzz1#VGrmz8)2B|H^Ek`9$?)*{SITWsL$LTc$g*Xl(6GVPs*BZ?R0O|5N$ryd z<>sE{?(;L$HsVk9gzuPUmga|XGpfAH1l<%=*Er^3AZtg~y(F}Hcpjb|NM@&pT&i!t z^AL|m{LhVU-5-!XVVKn!wk_gU&SxG~Je-9rMu*T(m^Q<2MIQHKjwsxUYc=BuJms|W z7pFBBA&-XNH6?@>`*_o@U(81myssGApf*z+2cAq*EVt$ZKF@MAwFo~i@`;~^ZY)m4 z3I4-ZV>yMX%lUCcp#&-;#zuQnPkOfMjfCnQ_oSluQ{12L*_AaB0bR%Hy^i8ck^VDF z+hKxTNAmYMeEaB);)Crud@4C6gTr2*u5B-xKNL=<*WTNC@OXD?$$;G)c7FF&B7!|K z`1Y=m>v@jIll33G>CQH){5-Mds>9j0(!h6yvijy&z<)L_(jrsynSH>+8@tWh`O5J4KcpVNabz?t(1eQ`w^o%z*@}C?PR$Y6&w@*H zpFfm@|CVZ3*k@!)z8}-}=MQiy;{`DfR%UbB{-H)|{L*y?(P>(8=uep3nJl-LcZO`9 z34MRx$3aa00;}%XP(+@aY8CG1O&8zvwifF*3E1Mx>>b7(-THCQ-PfuZtRliY5A8Nn z)JtwE#;wf0Gq`^9HgYf1G5mZlf5)JlTkjq33vm_LphfYkd-tYov`I(ITQ?u2@!i`s;AmAS zmMoWP8XI-4n|oPuGe-E($~laDOWebQ36ja5m~y+=%A+~%#4Zev+o<18qb6 zKTqx4aVNG6Ql=Mw86j=_%UUE#R0p){NifQZ6(A-%b<6HP-|VhVN5P;@9qAFvGP7@5 zk4>u6z?4ArFC6QXI^`+suVcIS?PKSW%ht&r-l;RxdM=Ru50Bn^)n@UVdK!nZ0lb^R zxs7kXI;rxcavSss&rph>_|BE@_>p41`0v4j53@XN6I(}>Lv|T{(faVGd_19Smr)uJ zUpJCXQJDDHZ0S2R`|P90?IZ}MbocesbJmH?c-hs{&9$90wjF^sIt(_jO*L$+!{6*O z3`P%i*qY=lvHVjog7$OHkceX1-#w<&<^wQD0;37%0_L3P%@eAFibj9HWpvlX`Mir}x=SWvBG`W{%R%=vX;z8XQ=CP2 zeqhCfN?Ct-LPCJ(u=3JDr8OiQv1EIZ$C0)vKAAuUOCiO5r0LZV*~?%O*U z2)>_?iDtxJ)?Nand#mU;y+)J;TUnshYX4dUw_Kla^lt9ao1o;UWnRmYiGrGYjPOrX zjcNHuGIL*(3xzFlwLW|7F!)Y^;+v!`i#BTY_~I_$n&j|i-1qmN2}vHzhKZvK7=qnn{? z_7gW3n(7G(WlIO(lt89Up}>r$6eD*`o-%b})y8CA_k+9)Fy02zjUhb9e?)o*V~(Z% ztJf6b-t^nvvm!cz1h>!n-mAIcv#W@1d4S#0VN>%BJJ#oB#B^#_Oo50}ky3z#8nQoG z1?Yn2$`Oy2;k8hSmQk_f$e$2*8N+%Hk2*zIvG;SUr+d!qxNT4*msGY9w%m;@3uSn3 zwuwgGSe#j)99VTSnBRHw57$_F#I8%~CnC3gloxjy%Nrh*R1WcN1kI*RPJ1v1fwTLd zMScd<|5CI6d3ta{0B@p*lepe7s`x@B{RNFw zZHLmwbcFobhjBSFBwjqJXgL)A*`!4%Svf}T8C;ERk8Ke1D3ol3CkWH!4$Do^$);!R^(#CLYi z_0UlB+HHC>lepvvWOf+gxjZ{~aVw6#{FJfb&0l3~pu#hwyX9V1c)mF(+VWiX=KNau zJbDY?S{jgiLSWs$Ko+P@6->{aK>iT)-Z0L78{9UTM@KqcQ5cJ z4dK}55tTE9tCH{C>@1h^+Z@%kd8!|zq-N9J-lz^#GIaeis}!rQx@0YE@Put+&wBM~ zvT<8U<9JxEdD#z>KgmQ~!lj3L|Ig@w*9+)EqL_a7YEr8EXiNF=GPRn4`gl>Bm=lS8 z^jvM)>3?zv1C--H4uO<~@66=nk*xMqyOUo1#2SZ_h%8P<3>UD`S4A_FeQ#ry5nU6p z(qlFQgF4!UF#xS^f3!(bp60%sr+>{X^;JU0X(3H?YraPML!5+3+$UU+Npiwz(#h`q z*c5d%ysAip?i0L&k%g)A274;9sm5x_i;?145BC%wTR$(?kP8s2>j8Te?)xRd0Mgf7=>rmTlBPn6N_yw+6_a`$7-(FD$}Ya`=G~1 z7=FfmJ8J%gT6y|2Nbz9AIi{@<>3hQlQ2-X>@z)(X;+)qv5rd>Rerl4@J_{WaO{;^T zlY8wuhFi!B*_CoS)Ujxn zmZwjbL920d{QU#&;V*2y=lQfVL+ z6t2ZLowY<{fUNTAHI(kbsuqq(>_Dh8L%195M>iZLFg{(YeN~1d;`mpp>RtTl@;9J0 zIg`y(2ZMHo+$DLP=~&{ZnU`aTLziV{A}y~bKHl0)T6Gt(>zq@iv>pA{Ep*g7*cjE$25u1 zb$(D|IY01)cl<6-7|t{wfr=1lXur*!M(dt&MC~$w4`3D2LO0F2y2U6zA#W;aTB}jz zyW%iZo;!%EfuxmC?GoMRM_bhSi#Vq4NTtzU#`pgje`&s0?;^Fb#y1CTpGqcL)B1Oo zV>SLsqrwErX&1+r*MLNf`ARooM|lbP02O5ni=RISVy@aYPi$BCmCcB|=`T`hN)`8p zC9kYu#YJ+=gWvvIPXSlU?U)T^heh~&zl$;wsFDxdN$|R(?@;?8eGq2gR%RF3p=Q(Z z#%e@V@uHw^MRmY;AOe!GyxQ_J83{~yvC`2sYFCQzrqLGTKH2k1nJbqc_&q_D3Gz<{ zK!+2hP@gMCsZGx2m?YDAH?-lj+ zhSw4=J^#*5|8}=o-?UmcAp=_7`%TnX27&1``<&2kEJ)V~KQO*uO_Z@`S1x?(&GH}N z8Tv;#;V$C3z?hbQJH?OllncBvqCk_CTyv(OMY&5WaG@N(y3#{)w3<6>@npCg=xN%? z^J};HiGQmhfVu+uV1^?*iC?m}I zk1ESux4?=?PdI);Ml2#_ekHo9LH{f#<;tF?#e18dKIUb$9+dAX_{@f87eltj&=~oY z&ljtI(!+Jx$4>p_VJ^E)l<6hc)SNCV_gqZna(_H8Ge7lUua{{0}rAZK6UMD>$Px488gww>%N()lGm^vSabdfo94xd=|8fu%_3vUD~NNR)M>_L!vtY{qfUpX#WKLey4TK zYx3SkP{9pU_+`kwDy0u;MFi723o} zbfsq}Fppi+zjRw2gVkwp(|g#h#6e0LKDGRa(~Z1&#xHFAJtjh0{Fj3?JM&>L@c77f zEj}r$=mux!FxM{?WYRosI&3YTuA`pgPa%tq-olQul+T8F&aG|*PME%vwmA|U%E+_1 z8MhOPn3v<5mSHXVersQnKaDmfmiZwZW=8abP2t8D35fg|2Ye~w!)%yCxQ93N_b*N} z_peCtQ2mokU|ghvW3*2j(+s<$b_jaO%x43$BBU%#o;epdaSMlTxoe<*%w%&jQ^@YSo(GzX&s zQnmQ6Sm}7mUekyxI|d|uQsROuymEI^MYz@)TK%)3n~1@w`ZJZ+zrQLOb)SX)TM$rQ zvh$dq4tuME=whiGnH#UlHn=mx3!BM^lb8;eekVUcnXN&hOv<~d+|pT~4Akl+E+2aT z@}Wa&G=ZlBv)g}st3?dm>}|xX54RWR_u7rF)!JS5hE9|91Bqh|S&p-1Lk?jtQFL?< zrNCQg{|`$WAW01<9p|U(7Fmucn#-2^wk*Dc)To*TpiyV-vcSK+WlS#zRGlggXTIY`CXesa-L~{thOgGe@)0a=Dr`Ti59y7*Pgw3}^Zi#kO$gG}jDUyHKw^?a= zKIr>Tbi2mE9q7Fd4e9*VlfPYc$PoM4xY{P#s;L;vzXD`7tGd!t&4_<>hV)`(KGy!4 zsVo*`rz1*g}J=ZOfnFy0yeN z$H0ny6Of|E^x!(8fLfwD^x_pT;)7jFAT_hoZ`eq|Vs5yqXDazyvJhp=%y}!RCLXBWHFKxEOGR)B^+CvY!piy78PTxkB)Q3^ z(BTA#O+?r%n4?J5UkLZQdlzEXRYQ?_KwXSHjJxo%^si!dA++tcJ;()FH`FMV_<9T< z(Kb)!7lyZgj3@CNLqWzbTL;f3fVta1#iPdz6OI8C%Qsy;9w{y}-?6OXlzmy8Wq4`X zWIZouJA!?oy<|*gQeDykn>xCSi!ZmONLh!g*7=!V!C}&fV1uI5lMe-q6qCAQka(GK zCifYRzd6_8J_7=|sz&j2Nx}ROVrUbCyJ)1TKPj}@^l@Ueu^mQoUHzAx-`v+WXEU-A z2%lF9UHJx80l!R%5ejF(1P{`W`vS~4>|HihugOlFulQGm^jBa)6X^=?L~J5(2PK3R zS%k$G@3C)j;~j^MHCrd)C2A}QX2ii|tKDxqVXZq`zN<5pDLbE|nV@VRMc*=}B-Cmy zLHQOV{!JcP0>ek9=f}iV-;_3@PEB1{m`4T&=ez|PL6LCQH@KNNN?c4JJ;!}+ySN9G zmR-58HK^F8Xoz>gBGFzlp>g;{n&_5#9#jDI{eyGq%rNL}KSDt6dDI6e9?4`0_Dui3 z!QeC1s}jJdZx&8|QgEbBU0WnQJ#pkkokE8Vm!4=Z{H~Midj$UnGRa*hqfw0f>Q>o8 zkj4?zoC!A4)@tmCvy?$lSy~^#Iw%TCGCy>Dx`l>xpaS zhpnODaYH+6dQ0ZjWhu)VacVDqpE{bg+(3r|BA@b!PMyn8I<8W`7-twy8h-okmxJz( z&vFLr$1p-=UpQuU4d00o=Tfybrr)`Cm-{Uv8Q#G7tjANn{Yc}Ta`Jt1vA-j6ZR}xA z${Rt!T-4Cw<*;$e_a$4ETnkYv&gaK6pK7<~&SQxWdd9840B9Gg##owdZgP;?uYUb` zOcN(;7k}BMWvXyCxkv`Iw2xdP3jsZ|J|kQ@9s?#QI{vosGG8WRLpB$IgK|83@G&{Y zN*t8{?R_zIYXv{~H>oVgcp+q|9d;QQI!gbYtt-lk(VA%pOOSUwrFbUPTWL*EsKjh# z%b3#E3x7HGPW4W!f_mNIdpZ>u&97wBo#V%&hvvo)5=~dR?orvIIZjm=CbTy1k1y;URlC_XN?!pX`D>lyN}fpP8Td+9fcfQ`ghz*!`24dayS3>>uMqC-4HQj=>rE zc{ddaYi;armXDd9!WxQA=aj%%0>xY8WV75?C$?~Ouile*A~uIqk-xnlehhN%0rDV$ zIYVAL@q!z?zb?B3IS;Rg~z{5`EH&5(2LiUm&+$i zDCi73t=Qwhebm1zz_E+ zC}OtIUnHEHmuZ+E?do{@#{lacL}SNwka5PaQr6nHGr4Q2aQk~sxAep*Z_F|Eo%{lu z`l{3WmeZeUy8Gv|3F=N)FEL%w+o^e8p~m*+!Y5;0S&MnD8}qorb_041`^=RS>DR%S z`yvN>5fHOSFP&tZ)_*0^ySo@b65Bo7PzFJPZAw3*-%hNxWvW20VUsuyXud{)QOz#{QUKs z%CWdZW+z`JWDS^HnrRf}7~Cw+XV`q&MjNVkbxAPDx6R?CBmZEM=Fk0#Jz?e7_(iPB z->eP$8UIy3C>-RQnYB@TKF~mS!5c{)yZh)Tn#0+O3ERBOuc9g!W5p(t8%BWMQDADCZX?U=5h8|y^U_QvD9KQeHr#!u!{Q)-J zLq|w7-Fup1Pu$P?n3tY#yJXP9w(QJy+$()|#b-fUq2;|LJ!f3r+~;6;Ma})Y$^P1Q zd6u*w`oJUF)F!?8$pM~XrP9P)EUL?Gab2S_!gru2a1G~)-uej=$OfJc63#yV&h%oT zh@o$erqp{>CDv#%l%2eOD~`-DRd&uTK|3X@|F59IWND+ay%@IZ)gsdO&#J2V48~6@ zcJ3y}fqXz87g3^BPyO|;_&c)t(T)q#LAW~WaEp&sqWGwiL>sl8k=?z>Je(OH;S8#x zzd*2}NZKUD)k~FN;~BP2@-xvLihCPk6KIp<&5IbHn6B#(O_#lf!-kFz37h!%#cSX- zkGz^yrIAr@ie-4chkH%cq#P5Mhg}kXWdGSH9U}0~Zd7{<_vDJh^`RLn* zNjoZowQ4_~9P7$zB`$fS2u@i2C<@X9({~G<0W-EzMy-6Yz-BI4vQB%6S*iWn(Tz>) z$^uGoU|h=5DTVEI-64VYwr#O@N?&=me^CYqA1Z1>BOHXLv*iru7}-Jk+LZ>>RbD4z zbnl$qD*ar9L(=18P)tGw znPXgeDWOP)Ij0_zX^^YGQ7)d_AEDSoBBi#B+mqDIB9 zRaTVNg&c%iMTLu<$Atv9@l1cOUS0sN#XH*5%4g88U0u@ooQMeC_Sb>3YKvG(+s!tI zn^Y5L~zD z_gQ*Toxgt}+%LPZa;ma07auu(^rE#84>7lASPZPv;Skuijr;4W&81{jylY7&d$Q_- zfg@n8?Askq-`U0s<=y=eVj&Y2ueCFP0IqoO)eP^`aFsytUBt0VJtH zRe%}6d^(XTdxz10S7PspHzL0BR(?YJZ1W~=xXP|=Xa^n6K_eAXzon(|3PoES=}Ned zJ}(<>TCK#&LrC9eQ&QAle!M=u?0r|dqXB0wj!=edV!1w0mNREi9UA1HH7E^&udLLn z69L-Ks>Oa8vQt;r1x7pX1nNcVj}0BM|E}K}-E&ct)_F!&o)_d$=N4_Q-W9ez7GHWV zThjj(A4*T+crb{*l_T3I=w>@gB7Y0}0*&2Ns2?$Tnpxd{xu0u>0e#Yd{hK;jj-*&Y zhuNc9`C@}J3VWm2qRC16Jf>y`B<<`DjcQveL_3vWeFlsu zV$bI2ohod0R9;aQiZaS3Ln{YnwtlQl*qL6o%2gX=$2O1x?@RPwusbGv!Q`##L63zA ze-#cSKWTcM&1GX-tWzwXb6$Ip*2OJs>aq#C{;vvbafrI?W4!`a)HK)ghby0mf>#eW zB@EAs%$tEUuRzGW#zndlB%sHO^iI~zJORv_A_)jH!%A!v?+l#e3R`kU2Pt!=ac-na z)u6RgNZ(GGGI(|s84<3$@MIrQa|09MI7=%h_s7YO*k0|!gn^s57rZC^&OTdF9y)Y; zRK?kdlsmXw!>`T?MTM-=YgtM#oU*TTVzP%016yXERK7Cj^v3K*>kjI(eBlD;=2(Qr zo-~Ii`_@G-n%XEU3(<3aW%g*36=4`OHgq>H7LUhfy9*GwktbDgV`}>BEWuu+PkzCD zN{&;fKx+^UE|Q=%6`8cEP=5Zm#3KsHV2TmqntUo=)@A}sxNC&YbFT3pbZbSRTjG|b zw;t9whnqar$Jv!>_piMrUvGFhc#q+HAU-#}(CzMAfOcugj3`}=YuV*)Mf>U>>!kgV zHvmB#PtBp-Ip1uv98tl^!|o<%J~+M>UM9mEk);aByYa*)A^j+vWxsuoxy zHW(eO%Ss*-=ppkud4OK}svCpd9aUxfBwA^?PwEb9UUbG!O$oP@WTlR?Pxe3Zrz`Rj z;8U&{^*!IPQS}3!MkODQigyRVhG2`j6(HX};}ah)dr%a-ByBg+rTqm2x)Oa-)H^Ec zR|^LEB=RhIdpO=fc2|L9nBn@EChPD*`Drd9ogby}evpjv^yGX)!%+}e#uf<|a3uD%v znwi{=z42vK{WWfGRJ%RqTvki_)VjFzA}=rmdyx@96?vJp{m+?mY6{R{JuG6ctX;qyyNvnb5B^0MKgNy)+|5In9&mqXT2TUFPUAt zi@bGZU`DW+H`{%ZfVV1=T!nWnrk@d%f2$T`9sZZ#t;1W^{_m|~k{s&xHX0Y4F%`pq zd8EBljHw9tF}wR3Gb8k@Nk$l*&rXydd8ZVoQ|z?ZHeEQ&|N1xy9sS{x4TRpXjBr`N~V5h9|C z^(EZ+_!6&yvVEt)I$*ynon5!Es0m>Sj=DP7+lH(NVg4Il>+w;douw-5-)QVMU%reb zPHtCV8ID&Ke|;o*+{=oE>5PN}GUik0F)gM@`L@HYP;3H#&d}NS`E^yBaShdn*3zm) zuR<~mOIh3hm@$>=+~$X_8~ig&;ZOH|l}6@=E+6WKoO^{{&T*?JC_$-evbfsi<|C3w z#k=sVqH3kiAD&mR#Go4|kxQ(oCeaoAl^zjKwb{Apn)fN3kc=nj;4Y2a&WV7!Vq>)nc*{6hF7U}}PGdpgb0Ru%~#!^+^h=ft$FC%LNy#JMp zpn9nWv2;Zu^C8IXj_kGt#{z7JJ?JBEfWI-PF<$xDCUgL*ni+0i zy}jE%d;pa7=~UoMQ!#oPH}i_PtNsTfbSXFVEt3NTRhI?Zu;1dCIeEpWYRh3`_c_qK zVnh6$geD-reD)?542Q6Z`eT@@bk5jlC$iL^U0^iCfZV!M&#;gK22iXn53_9$p1@J5 zx@D5?ZPk41ASOu|FnkV!DQXj_8DfCoIc6L@HS1XsY!d@Ur8mnC)fYqf#SuBFTwE-J znQ83WKLu9|mfavrtz29>{V70Ii`KUSf}7+o5gLDQRrn_P1s&vU%)>mfvVFI0HY2Rj z{KjMRI|xh#ct_$a3Rd1=@)G{Uz9qA?it_b8OKScS>L8x7dpQO($fT3XakUvi&-S_W zvJh3F5!d{t*sAFDsmw*GXOeK=Vsv1Xl-@Li5x(eO24ee~Dlk!zL{@g&>xEG5Ix6S& zz=zYWzTGtlX8f%$Kq?64(?{_^C3-%=Jy7py;{NMtu5Yz#gTG05xIE@JUg^4UlnzMV zWur!fSG-eETwkx9=|RltGu-cf80BSq0OVIyu*9uVIi%zcA;y4RBICq;npAp#4~&-G zfEj}aw69*RGUt=brH-R~yPGGmM(ReHm6LyVgc)3pMtM7QN zr5a!#(yD@5O1b*V48t@*&!E-3_#tL6x?9HAzoeh9Dbw=N-)bg|TX(-L*&}y8O(Is^ zhmO(ISnn5LooSskdmM=FPRd1|Nl?0eI||`}I<<$Q`EylHy@rq$$Yif}Ygri#Di2&4 z)IaCExBLtuuH>_G?3$fC8a=z9zNtmy@iVGm=>0Z2=tonm(4Iq7(pD5Dh}m2UZM*{Z z(-zay$Z6+>qUleio)ES#i|atJaOn=UrH!n6`Xs-&JJmmD&gAM_tc1Tq;U+aTf6LIa z`j+Nrje?1UnO7;!FXkR=f^tzEh*;r5?*@?gliRFvSG1Q7`uNWLCp}TsTxI;DxyzYX z=|=%SDdNT4mRuBS@bUc*dxTNNH_+ShJ=(0zFNb`eR&s&&sd1=%kWBgY5DDkHy~O81 zJY9eRmjDn~dO)Yx=ubTZOPu0O03s)a_oohkp9cP1r9F>)pvL^DlFuNKu6$h`qycx+ z0+q^%18Ba)KPbB{32CH142CS2t+#>)v&C6ta8}jAry~6YbHk%_7#A4tbR3K@D5pz; zK|YIagp{#X_}hp;dXwfd$@O&`X?byLP^u*`DRNp=%p#n6(3Y}FS-u)ilF-=;$yiIE zc)ODH=gfP-2($ncEtzcUJ=^7_kZaEYj<5l}H~`EJw4B;n@=ODu47GsS!NWi^J**3( z^TpXxkggww2CqB;n@~$p6xB3;+DqC~d5s4&>3X!?9tg}{9>z>P=^GKx9c7`#mWATif`Pc zk`bjmSe!5JEqhvNeZ?0ryPheFD{#g_i|=QxZLBLd`e>o+>EOw9zpKeO8A?8h<*ZC0 z)+RZ?4^Be=Z7So2Ho=oWJAfy5!-zS%!2B;uzQAY{%r?Mcw~LThhM$aS0@elb7?89Y zf0_4Sw0zWJ;3;+`K(po7p@BQW1a(ypvCjfLCj{vOL)Lf)Ad(=xlzU+{wd?B*;~y`r z4}xxo7C6gs*ah4x9yX~+;4Wf;G%=chL$e=vu5m% z-Lf;H+0O^?bi$*-H2Z0+A#+}E4gNf}<`>sje>+wHi-W-ZjOJsC7umMfOdGWKlfcN4 znE;Oh*8gwnr%2b3#iIj&NlL|a@*JbmE{!!%vtcSmbv|G0296O&hHS6afrNWowNKzKG?2`IzGtwSFE1 zl6E|=D10$Op9)Aubkz9H2ZpK#uiv0n{|3;?KgS;ovzEOm8#sfB01QTO{C9uCr~db9 zrh(E|r~FzZtO%+BeS4*r6SUxlw1UgajE&GjJl^273kT@2+|Y>%4=Wm|(E%`nmZPhy zt3ggmhIobhC*w4LHvlkK2x@_YKKK`a%_f3`s_W!FU1<|_?b$N7qWTKBlmF14G5nxw zN#7&g-q=ItDpZ-mg)ou%Qt(gsa1N(R9RBq`9Wnh5G>r2*$n=svz^i0fx9D3WKCzTs z`D=`t54JVA8@jUWm||lJWWXJ|-Xg%MzWD(g9d|^LlM5M)CWOeY#>m>;-?Bdf*Dext zfZYe&N`aTjRE)^G-Bqt$KlInfPJX1AQT5#of|)uqz+dad+tm7T?5<;X%_-Yc2g9mP zrlEg+Zdyc;a-MpMO>BQv{H-fapjVS63e)sJxB=y8$CB;y_X0x`rSCimQedJ6mAA*|Nz6;WrGcF9A!wzwHxk?kjB{;o>kf5Xc|mgNg@-Z z>jzj;rc=?Wt(5nZ+wU6}rg4mpu$1%eAm9e%jb14cfG~am?Pn*9La+}s>18%IHisH) zBTm`J`cqbh%!qaC%ATcTd_da};ALT0Fn;>3z_#6hGK!F) zYBGgeENSPTx7Fls+cd`s71rpP+3o{UFEaqEz!r~uI2>&(bEG_ucod@2QfT>%J{S4- z0Ufo;%HfKPKwt1_p(LnpB#1p=MKv-yx4!lFA46*^NYO)k;J%fZ&VA>PTTUM!$VSBo z21^wv@@KVZQD#%?L`UeLGD6YLT#;$pCSsD(qP~5B5VC=gM!x+b=@p>6HVZcw<{ZB~ zA_d7C0BM&*EpnkF94?vZ3yTIIQ(k@F>p=%Kc6QKJVO5qcfx_z^00K3h8Ak?|J;t*N z>Xm>SD>lf1oemj4GP#alBm^kN`6M~2Tqok=;Cr(%tW`z7l@eH+8JAm<;@(g?1Z3N{ zp9^{d;(|tV%__metG-6>3?jB_Nx0f4pWDvNY&`h_gkx3{eToa!;FILQGuifp_+6|E zwy9puTo7jU16=+%C_k*pc%0+gO~rAaD<-MfU%~A2%Z6HDjSO-w0!v2LYRNI=@k*fm zt_x%YTaIr#z)Q2#Ownq{0mgOlB_n5SR#1a{F#9)YkT{YtYJX?-12(kmN!`L|Wl@b} z#lxJvkTaIiqHadg>w6F~-0Mp1+%MIAKaCo(TlSZiZh&#LYO_fX8l*dZg9P%wGDfc` zj#YgYtC_;5%7zYtT56TfnZJPtBJf_v}$C!M(32mVJRiJ&u3PrT6-@F#K&-;cJ}V&C&k87{X}% z8(8){E3lbF0wcjiQ~?jdd;tFP*)iC6t#C-y{cN6NhAj!aK%@E(lv z0Zl%G07UQZJvM!ior(|8RtsJLa|7o$;q!VY;q$@ZJUBQVKIU9jZ6HlH0Do&&^X<_d zhzR%ayJ^>VT(-BKJ6o1%Umb(P4_RE$uMgTW0HHHxeh{*2hA-7c0n4NXQ_7}mCn=r^ zOlN`bjR9yOq{Lt$A4&aq2?^c}JpQvip6_h*`=_uylb?reDS7NBfnzo^EEGKvFv~&Y zJQurHAh`I*yZeBF2I4_Lk-Z(y4aEwLaO5}yv-j zaJhq4KRLw!D{4Y4{^tC!GN1nie=px@sr-AVns3wXg*`eoYHhqUmo5&n`7b?>9d_~@ z<5PwJM=-?VA)vx&pi-$@3DjPf`!*PAIcJH(BGs@0QM$|{W~r)Ymd!$n@i*|#47F5- z;IwE6>dj}=p}O;mZ&|Fm-IBg(TwAa2ouV3SAhc_+ca{-{BSIZ(4(@pjRxV9eB9WC~ z(r}m!gtak-_#`vi0AnQ-X`-I4Js?}cvCk{be`jNsYqY{c92ADG0}MBG93+8X5CPGv z>YfNW`~21SUZKk`3b~dg9hb&Qp_L>h62Mu*-na9<>?pHzouRxW{`Ly_IMjUxmp-=m|@ zFdU{b4EO+>HX8S`Zq-XESqSE_FVoEDSM6%m@C%q*Z1Tibx;@J%lx>1_XH;# zj+dBUQfi^!581ty5K1FgRMvZ(yA8eul1xx)<_5JXhQqSh_aaj)Z1P})vNy$U3^HL2 z@u1y69Y@?mslD<$Fn2Zob0?b{O$=?T3!^arwwU3Aq*v@w-`%DKeP^XdRRK;fKu)KD zP^Ou$AA?w14;$DNdQ3MRs3Lz$GiUZh&ey%rGHAgwS=kbhtu>oV0vic3m_V4!{;44> zjQpdN!1+|ss}Ki-p?9~LdzrNpSQMb*)T6sNB2q5=6l8bJlp1h=P(Gj0{9>;lEf@8| zKj9=Oi_Q+GUWoqNQX+VI4uM;>foD^XXMNIX#}a8E-G3TjOgtR66I9o%S15JMJ)lD{ zCxEq0Z8t!wnuCc8U0aL#xJ^itceV4!WU$I)WAS^6<{VkVFWv@h4Hyph?DjMs3i@g* z;ki9@Hbx+M^4iNfG=;k@T|Eee_T1ou5CSOGkw)spIhpXqyORyUe?8AIy?=+YJK=W| zz4>H610e3>1Ir>x_`xmpDhC*#kPvc&HpiSx+`1PTe6hd~f{54hwVxv9!3b^y+ma!K z#ZlOL;2 ziY#t_IudhpDANd%sg-d2?Q!(@0GIvqy>v{kZV|r(lxp+$ovv<7Gh_ET_VSP?r)R-h z6lCZ3cNbr2)44J7bt=W53+k2v)&V~3a#hfFUNjy{@T$WBJ?s5_tD<+dpIMP&GtIAyp=DI8_9nn;OW+^g3pKn< z-!fOKuK=4b2#*0@U?8L(1T=QLJ&pT@*R9Mr+=>F+R+c}^BBc&c1}+SI5o;ClC}ES= z_xq7l?bG&Fa8z1}D>mD&J2+q(*_@f}k)ZbNx+IU*Vwn&Z4_vHDJfw$Hg1O zf}vHgUN-K(E?yg5y(FHtXJM%AO>*+w4kdk!mkp-!uC!7be&)C?^uX!fL19l035X$y z54SRMCk!^XhpgYuycn|F)jN>1E6}#rlxpDWT;+4?fJh~!V< zrvqmEan=j9JE_@cu|;$|MGBYumIyDN^!paNgBd>;N&|Gb-6r=k_cDzJ{Lchym~x zT<_#7`hl)&owp`#@jZ0L4kZb@k*iW2+7?14*JcG4a1F!$bzkQw;~Rzw52JN#RZbi9 znr%svVix)q9zG$h1uk!)9wiAoJq$%6_1(?1M{vv50}dtI)?1fFP~My*>DBC)$G~R~ z@ED+Wjlbl+%6+B7faTF*+OM5V-4A;}m6ig;R4*Ib_dW2$b~K49+I|?nj#7@g1rUu_ z)!T)Hg#lE@^?d&)VgAyJ(TvfAe5-rT6Mo>w(n z1c8P(%R7P_{0a5GArso}36+ldC%2GnMT%ZV!!G`a>E*wQM8gV)wd*E=8;)hD^V31a z?Eg}|P*|@u)E;)WT|7}P65AT!oxdHO7%U~MJMdzfT(9}D?*;lnD$7^Ff=pq(m5MtZ zAI2@*n!G1h)`rFl2k*$V(&ws0@N_e7t@{wjC7OQrc{;}et{2v#LEZ#VE%>2)W_1$U|bx!hq{1;fTJw)bF$p#fb$-G z0U%t-s)K4Qd6gN?dH(rn8vR37dIc^yj^tt4dq(FVembiCPZ-y;t-T-j}PX<2SbJyHsFgKgGp>< ziG%S`eN$kBf}z}zocsP-jjFKM8-{6^tUtWFh0Mbp*l(VVE*v8O)7IaB$xocbrZ$nAa zA$y3$xa~CiX3O$;i3a;6v#>&+0a{4oV=PS^5IeBpuoaI2(;LYLuVzt8H>%_wMn`>w zcankaj|m^g&{ldPrs=*}Ge~y;Gk~lAZk6U1H75D}A{2CJhwZjOc}B9*PeJB0prxC(Z$-QQx{cC%C4!zFIS3i!1Y+ z?p-+RvAKEqOyqc_G3Vw^@}~8MQ}36Xaib{pU2X84DIbp`^ZV^tlqP0fw-CJ`w8A?X zavN7W4^&3`}J~n3duc=ePoR9^G;R7?*3xwXccklslZi zDsKhcu!R}}hXc!62f-RT<{H~|C|_oLqTuOAH}&CCG-dy4B_ouNEzlNshofl(t^g~| z(1=}};GbVz!DUP$_l4^2u7)ToznO6-Q)XGA2iN9Hm_RKYC;{tcy-!{>>@s7}hyTdx zu3+~w&1M!1dFhYR$%s&f-aI?u6r|12c#G+`7%}I*3oqYEw&s)Chavx?Xmfe_>z#se;D;9h&$5Yy0mT)&JG9-Jowe^KfLl+29FW6CF+ci-qUy G?)*2`1fHt^ From b61e54f8dd71e341184347193dee4064da085780 Mon Sep 17 00:00:00 2001 From: Jo Date: Thu, 3 Oct 2024 12:03:04 +0100 Subject: [PATCH 11/12] first draft --- docs/partials/inventory/multilocation.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/partials/inventory/multilocation.mdx b/docs/partials/inventory/multilocation.mdx index aa5cbfa2..2bea39dc 100644 --- a/docs/partials/inventory/multilocation.mdx +++ b/docs/partials/inventory/multilocation.mdx @@ -4,9 +4,9 @@ By offering localized stock information and flexible order fulfilment options, y An inventory location is a specific physical or virtual place where stock or inventory is stored, tracked, and managed. Your inventory locations could refer to a warehouse, retail store, or distribution center. You may want a virtual inventory location, for example, for promotions. You may want to collect all the products in a promotion virtually in one place within your system, to ensure that promotional stock is reserved and accurately tracked. -In the Inventories API, you can create an inventory location. You can create individual inventory locations, either for a single physical site or for multiple distinct locations. +When creating an inventory location, there are several details you need to consider including name, description, and GPS location. In addition, you can specify an `external_ref` which is a unique attribute that you could use to contain information from an external warehouse system, for example. -When creating an inventory location, there are several details, you need to consider the location's details, including name, description, and GPS location. In addition, you can specify an `external_ref` which is a unique attribute that you could use to contain information from an external warehouse system, for example. +You can create individual inventory locations, either for a single physical site or for multiple distinct locations. In addition, you can import your locations from another company system. See Importing locations. From 1e47497e0969b35ad993484554e520952ff89596 Mon Sep 17 00:00:00 2001 From: Jo Date: Thu, 3 Oct 2024 12:07:21 +0100 Subject: [PATCH 12/12] first draft --- docs/partials/inventory/managinginventory.mdx | 2 +- docs/partials/inventory/transactions.mdx | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/partials/inventory/managinginventory.mdx b/docs/partials/inventory/managinginventory.mdx index fd0efec9..0e8bc949 100644 --- a/docs/partials/inventory/managinginventory.mdx +++ b/docs/partials/inventory/managinginventory.mdx @@ -1,4 +1,4 @@ -Managing inventory involves a variety of tasks aimed at ensuring that stock levels are optimized, products are stored correctly, and supply meets demand, efficiently. +Managing inventory involves ensuring that stock levels are optimized, products are stored correctly, and supply meets demand, efficiently. Using Inventories, you can: diff --git a/docs/partials/inventory/transactions.mdx b/docs/partials/inventory/transactions.mdx index 6b2720e6..bdd8884a 100644 --- a/docs/partials/inventory/transactions.mdx +++ b/docs/partials/inventory/transactions.mdx @@ -1,8 +1,8 @@ -The way you track stock levels in Inventories is through transactions. Inventories maintains a transactional historic log. This is a detailed, chronological record of all transactions that have affected inventory levels within a system over time. It serves as an audit trail, ensuring transparency and accountability in Inventories. +The way you track stock levels in Inventories is through transactions. Inventories maintains a transactional historic log. This is a detailed, chronological record of all transactions that have affected inventory levels within a system over time. It serves as an audit trail, ensuring transparency and accountability. ## Types of Transactions -In Inventories, stock levels are adjusted or updated through transactions. In other words, you manage stock levels by recording transactions that increase or decrease inventory. For example, increase this stock level by 10 units using the **increment** transaction. +Stock levels are adjusted or updated through transactions. In other words, you manage stock levels by recording transactions that increase or decrease inventory. For example, increase this stock level by 10 units using the **increment** transaction. Inventories has the following transaction types: @@ -10,4 +10,4 @@ Inventories has the following transaction types: - **decrement** - use this when you want to remove stock from product inventory. - **allocate** - use this when you want to allocate stock, normally to a reseller who sells on the stock. - **deallocate** - use this when you want to deallocate any previously allocated stock. -- **Set** - use this when you want to set stock in Elastic Path Composable Commerce from an external warehousing system. \ No newline at end of file +- **set** - use this to explicitly set your stock. \ No newline at end of file