Common Troubleshooting: Inventory
- 1 Q: How do I configure a product that is only available on one or a couple of days of the season with inventory? (i.e. camps, seasonal programs, events, etc.)
- 2 Q: I want to set up a product that has the options for someone to book session 1 (available on date A), session 2 (available on date B ), or book both session 1 and session 2. Can I set up a product that will check inventory for these two separate dates?
- 3 Q: How can I tell whether inventory is coming from my POS to Aspenware Commerce without zeroing out a day of inventory to see the date greyed out?
- 4 Q: I’m getting an inventory related error in the order queue but the product the guest purchased doesn’t have inventory mapped to it in AW commerce.
- 5 Q: In admin, some inventory mapping rows are assigned attributes that I didn’t add.
- 6 Q: I want to support timeslots on my products that each have different inventory levels, how do I do this
- 7 Q: I setup inventory limits in the Dynamic pricing module, but it’s not properly blocking out dates.
- 8 Q: Can I add inventory to an add on product?
- 9 Q: The inventory sync is taxing my POS DB, what do you recommend?
- 10 Q: A product was sold that has inventory online and I am not seeing the inventory decrement in my POS until several minutes after the order was placed.
- 11 Q: I zeroed out inventory for a day in the POS and it took several minutes to show up as sold out in the shop.
- 12 Q: What are the scenarios when Inventory can be overbooked?
- 13 Q: What are the scenarios when Inventory can be under-sold?
- 14 Q: I’ve recently added inventory to a product, but the inventory levels aren’t coming across. It looks like my sync ran for other products, what gives?
- 15 Q: Why I am not seeing my amount remaining on the PDP despite having set the language string properly?
- 16 Q: I’m trying to update a component code or delete an entry in the inventory pools pulgin, but I’m getting an error with red triangles (see below). What’s wrong?
Q: How do I configure a product that is only available on one or a couple of days of the season with inventory? (i.e. camps, seasonal programs, events, etc.)
When setting up camps, events, we recommend adding only “start” dates to a front-load inventory pool. Then use radio button date inventory configuration for these most likely. We did this for Camps at a resort where the camp runs from July 4 – 7, but all guests book the 4th, so the only date added to the inventory pool is the 4th.
When doing seasonal programs, we often do a similar setup to the above, and just add the first day of the program to the inventory pool and use this radio button date functionality, but will hide the date on the product on the product detail page so the guest doesn’t see it, but this allows us to restrict online sales when the product is sold out.
If you need all of the dates for accounting and instructor management purposes, our recommendation is to create a separate component and inventory pool to accomplish this. This separate component will decrement inventory for all of the dates of the program and inventory should be set to auto-assign. Don’t configure this component code in the Aspenware Commerce Inventory plugin, instead use the component configured with the aforementioned steps, but this component can be used for RTP fulfillment purposes.
Q: I want to set up a product that has the options for someone to book session 1 (available on date A), session 2 (available on date B ), or book both session 1 and session 2. Can I set up a product that will check inventory for these two separate dates?
A: You can’t restrict inventory on two separate dates for one product. For the scenario you have mentioned, we have configured inventory pool workarounds. For example, When there are 3 options: Session 1, Session 2, and Both Sessions. The “both sessions” product often contains two components: one with the inventory to session 1 attached and the other with the inventory to session 2. Rather than these two inventories having different start dates specific to the start date of each of these sessions, we can work around this limitation by making all Session 1 and Session 2 inventory pools share the same date in RTP and using the shop language to communicate the actual dates for the booking guest, but behind the scenes, in RTP they are the same date. Talk to your Aspenware Representative for more details on this configuration if you have a similar product offering.
Q: How can I tell whether inventory is coming from my POS to Aspenware Commerce without zeroing out a day of inventory to see the date greyed out?
A: Navigate to a product detail page with inventory and right click, selecting ‘Inspect.’ Select ‘Network’ in the inspector and refresh the page. In the console, select a task named ‘productdetails_attributechanged’.
Expand the inventory section to see the dates and inventory values populating. If inventory values don’t exactly match POS values but inventory is coming through, consider that active locks for non transacted carts can also decrement inventory availability.
Q: I’m getting an inventory related error in the order queue but the product the guest purchased doesn’t have inventory mapped to it in AW commerce.
A: If inventory is setup on any of the DCIs or components in the POS, it should also be setup in AW Commerce using the configuration steps for inventory. If the product is not setup with inventory mappings in AW commerce, the guest will be able to freely book, and if it sells out in the POS, then the order will fail because the two systems don’t have the same constraints.
Q: In admin, some inventory mapping rows are assigned attributes that I didn’t add.
A: If mapping multiple products to POS inventory codes in a single session, refresh the admin screen between each addition. There is currently a bug that can cause erroneous combinations when inventory assignments are added back to back without the page being refreshed.
Q: I want to support timeslots on my products that each have different inventory levels, how do I do this
A: Setting up your product as a time-based activity, which has time-slots throughout the day, is one option, but does not work for products with many variants (attribute combinations) or products that need to be booked as a rental, etc. What Aspenware has worked with resorts to setup are separate products for each time slot that are each mapped to their own inventory pool or Max4Sale inventory. The time selection would be an attribute with values for each time-slot and the product attribute combination table would include entries for each time and variant with associated SKUs. For examples of products setup like this, see Woodward Park City’s Hub Products.
Q: I setup inventory limits in the Dynamic pricing module, but it’s not properly blocking out dates.
A: Dynamic pricing inventory is only meant to control how many products can be booked at a tiered price point before increasing the price and is not meant to be a true inventory control mechanism. Setup your product using POS inventory (inventory pools for RTP and Max4Sale for Sirisuware) and map them using the steps in the configuration guide if you wish to truly restrict guests from buying more than allowed quantities for a particular date.
Q: Can I add inventory to an add on product?
A: While adding inventory to an add on product is not technically a supported feature of Aspenware Commerce, there is a work around that allows you to prevent adding to cart if a guest selects an add on and the date they have selected is sold out for the selected add on product. To set this up, inventory mapping should NOT be done on the add on product itself, but rather on the core product with the add on attribute selected along with the other core . When setting this up, you’ll want to add the inventory code for the core product AND the add on product in a comma separated list. For example, notice below that the core variants for the product are selected, which map to code 76638, and the add on is also selected, so it needs an inventory code as well, the MISSING LIFT COMPONENT CODE should be replaced with an inventory code for the add on product. When setting this up, you would want to have a row with the age, ability and discipline and NOT the add on lift that was only mapped to 76638 and a second row that had age, ability and discipline AND add on lift with codes for BOTH the core product: 76638 AND the winter lift inventory code.
Q: The inventory sync is taxing my POS DB, what do you recommend?
A: The inventory sync should be set to run no more frequently than every 5 minutes, so first check whether the sync is set to run < every 5 minutes. In addition to this, if you unpublish products that are no longer being used, the sync job will be less beefy as it will only be calling back to the POS for published products. Aspenware also recently released the ability for products that have high inventory levels to only be synced once daily, which is a configurable setting and will reduce the load to the db if it is calling for less data for regular syncs. Also, check your configured season start and end date. If the season start date is not this season’s start date, adjust it so the time frame that the inventory sync is checking your POS for is isolated to this season. Finally, Aspenware put in measures to reduce load on the db during this sync. Learn more here. Reach out to your AW rep via support@aspenware.com if this issue is not mitigated by these recommendations.
Q: A product was sold that has inventory online and I am not seeing the inventory decrement in my POS until several minutes after the order was placed.
A: Aspenware’s order processor runs every 30 seconds picking up orders to place to the POS. Under heavy load, the order processor may get backed up and take several minutes between when an order completes and it shows up in the POS. Thankfully, this back up won’t result in overselling because the inventory for that processing order remains “locked” until the order successfully makes it to the POS.
Q: I zeroed out inventory for a day in the POS and it took several minutes to show up as sold out in the shop.
A: The inventory function is set to run every 5 to 20 minutes, so you will not immediately see inventory that is manually changed in the POS update in the shop until this function runs on it’s schedule. The frequency is configurable, but setting it more frequently than 5 minutes can have adverse effects to the POS performance as this is a “heavy” job.
Inventory limits available on the shop rely on POS available inventory, it is not called every time a guest navigates to an inventoried product, but rather on a configurable basis. The inventory syncing method both improves shop performance and reduces the possibility of overbooking inventory. The inventory that the shop reads from is fully contained within Aspenware and accounts for inventory from the POS (based on the last sync which runs every x minutes) and active items that are in carts where the lock is not expired and items that are in orders that are completed but not “processed” through to the POS.
Q: What are the scenarios when Inventory can be overbooked?
A: There are a few scenarios, some of which may be found only in testing, in which inventory could be oversold.
Scenario 1: If the inventory is sold out, or a resort admin manually changes slots to 0 for a date or date range, and the inventory sync to Aspenware Commerce has not yet run, a guest could checkout on Aspenware Commerce with the remaining inventory slot (or slots) recorded from when the sync ran last. This scenario could result in overselling inventory in the POS system.
IMPORTANT: For resorts using RTP|Connect order processing, in this scenario, the order may fail in the order queue. In this case, inventory will not be oversold, but the failed order will need to be handled. For resorts using Unity order processing, the Aspenware order will process successfully, which will overbook inventory for the applicable slot or slots.
Scenario 2: This scenario is rare, but if two guests are competing for the same final inventory slot or slots, and they both complete checkout within a few seconds of each other, before the lock is released for guest 1 or guest 2, both orders may successfully process to the POS, thereby overbooking the inventory.
Scenario 3: This scenario was found in internal testing, and is also rare. If product A and product B both map to the same inventory pool in the POS, and a shopper adds the last slot for product A to the cart, waits for the lock to expire, and then adds product B to the cart (thereby taking that same last slot from inventory), that guest’s order for Product A and Product B will succeed, thereby overbooking inventory. A guest cannot successfully checkout with 2 slots for product A when only 1 remains, but a guest could overbook for that same slot if it’s configured on both product A and product B.
Q: What are the scenarios when Inventory can be under-sold?
A: If a shopper books the last remaining slot in inventory when only 1 slot remains for a inventory pool for the selected date, checks out, and returns to the shop to buy that product for the same date again before the order is processed and the lock expires, the shopper might see that date/slot as available and add it to cart, but be unable to check out with that product, if the lock has expired by the time he attempts to complete the order.
Q: I’ve recently added inventory to a product, but the inventory levels aren’t coming across. It looks like my sync ran for other products, what gives?
A: Newly added inventory mappings in admin are checked and updated every hour (frequency may differ by store) and synced to the POS. This is on a different interval from other already configured products, which checks inventory levels in the POS every N minutes. Typically it runs at the top of the hour. This change was made In an effort to improve the performance of the inventory sync on the POS DB and the overall efficiency of the inventory job.
If the time interval has passed that you expect to see inventory updating and you still don’t see the inventory update, check your season start and end date. If the date that inventory is configured for is outside of the season start and end date range, the inventory will not be pulled from the POS.
Q: Why I am not seeing my amount remaining on the PDP despite having set the language string properly?
Displaying the amount remaining beneath the shopping cart depends on whether the inventory threshold has been met. This can be adjusted by going to Settings > All Settings > and searching for catalogsettings.dynamicpricingcalendar.inventorymessagethreshold
NOTE: Settings for threshold with dynamic pricing savings (as opposed to the dynamic pricing calendar) display only work for inventory (i.e. amount remaining overall for a given day not for amount remaining in tiered pricing (at a certain price).
Q: I’m trying to update a component code or delete an entry in the inventory pools pulgin, but I’m getting an error with red triangles (see below). What’s wrong?
A: In order to prevent errors, you are not be able to update a component code while there are orders that are unprocessed or in an active lock in a shopping cart. You will also be unable to delete an entry in the Inventory Pool plugin when the entry is part of a ready, failed, or processing order. The red triangles are there to prevent admins from editing a configuration where orders are either in process or failed. Once the failed order is cleared out and the inventory sync runs again, the red triangle will go away. You may need to refresh your page to see the update, however.