Announcement

Collapse
No announcement yet.

Best practices for persistent shopping cart

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Best practices for persistent shopping cart

    I'd like to use a persistent shopping cart that remains unexpired for a month or even longer (the Miva maximum for cart expiration is 24 hours) while also enabling inventory tracking.

    So that leads to this question: Is there a way to overcome Miva's default behavior of pulling all products out of inventory until the basket expires? In other words, is there a way to use inventory tracking AND a persistent shopping cart?
    Guy Turck
    The Glass Baby Bottle - Toxin Free Essentials for Babies & Toddlers

    #2
    Re: Best practices for persistent shopping cart

    That would defy logic, or, you'd need to change the logic in the basket processing system to re-check inventory once someone goes through checkout.

    Think about it... If you have 1 item in stock, and someone puts it in their cart, it should be removed from the store so that other people cannot buy that same product - as you wouldn't be able to fulfill the order. If the original person doesn't complete the order (normally within 1 hour), the product CAN be automatically put back in the inventory, with the help of Restock Shelves module or manually deleting expired baskets (not practical if you want this done automatically 24 times a day). It's very similar to how TicketMaster and other companies sell limited number of products - they place a 'hold' on the tickets for a few minutes so you can complete the transaction. If you change your mind and do not complete the purchase, they release these tickets after 10-15 minutes so someone else can buy them. Until then, they are assumed to have been spoken for. Same in your store - someone added the item to the cart with intention to buy it, inventory count is decreased, and this protects you from selling 2, 3 or more of the same item that you may only have 1 in stock.

    To do it the way you describe would require changing the logic and re-checking the inventory every time you clicked on the basket contents or checkout links, temporarily removing items from inventory. But, what if someone else in the store already had that same item in their basket and they are still shopping around? Do you covertly snatch it out of their basket and put it in yours, or do you display a message "this item no longer available" even though the store inventory still shows "1 available"? This would open up a serious can of worms and a lot of impractical and unethical scenarios.

    I think what you are really after is more of a "wishlist", where if you do not complete the order but want to keep the items "in your cart" for future reference, you save your cart as a "wishlist" and you can come back to it later. If you come back in 3 weeks and certain items are no longer available, the wishlist can tell you that at that point, as the inventory may be 0 then. You snooze you lose - someone else already purchased that "last item" that you had your eye on 4 weeks ago but did not buy it right there and then.

    Comment


      #3
      Re: Best practices for persistent shopping cart

      I understand the logic of what you are saying, but it doesn't allow for a persistent shopping cart.

      As an online shopper, I like sites like Amazon that use persistent carts. I could be wrong about this, but it seems to me that most of the heavy hitters of ecommerce also use persistent shopping carts. In my own experience as an online shopper I often do not make the purchase on my initial visit. I do research, place items in a cart and maybe even look around at other sites looking for a better deal. Then, often, I sleep on it before returning to make the purchase.

      We have a wish list on our site, but it doesn't get that much use. In the real world it seems like most shoppers use their shopping cart like a wish list.

      Viking's Inventory Manager 5, I've just learned, has an option to deduct from inventory only after a purchase has been made. This seems like a good idea to me since placing an item in a cart really isn't demonstrating intent to buy as the Show Baskets module has demonstrated to us. Plus it would allow, at least in theory, for a persistent shopping cart.

      Finally, and this is very important in my mind, it allows for a small operator such as myself to compete feature-for-feature with the big ecommerce sites. If the big sites offer more convenience they're more likely to get the sale.
      Guy Turck
      The Glass Baby Bottle - Toxin Free Essentials for Babies & Toddlers

      Comment


        #4
        Re: Best practices for persistent shopping cart

        Yes, I understand your point of view, what I'm saying is that the above scenario works for Amazon.com and other large companies because they typically have very large inventories and chances of them running out are very very slim. If your inventory is equally impressive, then yes, you can hack the system to extend the basket timeout to 1 month or longer. Most stores smaller than Amazon.com typically have much more limited inventory, and no backordering systems to keep track of oversold items so they can fulfill these orders once they replenish their own stock.

        I don't recall if someone wrote a module for basket timeout already, or if you can just edit the timeout in one of the Miva Merchant databases, manually. If nothing shows up on mivacentral.com - perhaps one of the Miva developers can let you know which database setting controls the basket timeout.

        Comment


          #5
          Re: Best practices for persistent shopping cart

          Baskets Field lastupdate CHAR( 10 ) is where the time gets inserted each time a page comes up.

          Stores Field baskexp NUMBER( 0 , 0 ) controls how long they are good for.
          Last edited by wcw; 08-12-09, 12:30 PM.
          Bill Weiland - Emporium Plus http://www.emporiumplus.com/store.mvc
          Online Documentation http://www.emporiumplus.com/tk3/v3/doc.htm
          Question http://www.emporiumplus.com/mivamodu...vc?Screen=SPTS
          Facebook http://www.facebook.com/EmporiumPlus
          Twitter http://twitter.com/emporiumplus

          Comment


            #6
            Re: Best practices for persistent shopping cart

            Pinging that the lastupdate field (with the currently unix timesamp) would reset the basket's expiry. If you want to lengthen the global timeout, the setting is in the Stores table (baskexp). However, I want to say that there is a maximum timeout hardcoded for that setting -- but maybe I'm wrong.
            Last edited by Brandon MUS; 08-12-09, 12:32 PM.

            Comment


              #7
              Re: Best practices for persistent shopping cart

              In Merchant 4, if I recall correctly, the time limit is "soft-coded." :^) You can override it by manually changing the database field. But any time you make a change to any field in that admin page, the limit will be re-applied. Since most users don't modify those settings very often, it's a decent work-around.

              Looking at the different opinions being expressed here, it looks like persistence is an issue where different merchants will have their own opinions and priorities. I don't think inventory has to be huge; it just has to be big enough in proportion to the volume of orders. Some merchants use fulfillment services that give them access to large inventories. Some products are "soft goods" or services, and inventory isn't even an issue.

              MMCorp guys, maybe you could remove that limit in some future update?

              Thanks --
              Kent Multer
              Magic Metal Productions
              http://TheMagicM.com
              * Web developer/designer
              * E-commerce and Miva
              * Author, The Official Miva Web Scripting Book -- available on-line:
              http://www.amazon.com/exec/obidos/IS...icmetalproducA

              Comment

              Working...
              X