Shopping Carts

What is involved in having a website that can take an order?

There are dozens of places offering turn-key solutions to setting up a website. They make it look simple. Have you ever wondered what goes on behind the scenes to make any of those platforms work?

There is a web server which is software running on a system that responds to requests for information. The pictures, descriptions, pricing, details, and scripting have to be generated and maintained. For our site, there are content pages that are fairly simple. We type up the content, format it, and post it on the site. Item pages (referred to as a PDP, product description page) are generated dynamically from a database. The database is part of our backend system. It keeps track of the item name, image, price, inventory, where it is located in our facility, and more.

Some information on dynamically generated pages can be more challenging to get. Take quantity available for example. That is easy, right? Not necessarily. For our curriculum packages we do not build them before they are ordered. Technically, we have zero of them on-hand and if we have any open orders then the available quantity shows as a negative number. If we show "Available: 0" on our website or "Available: -10" then some might think we are out and may not order. Some may pick a different product that shows we have it available. We could have the system calculate how many of the package could be built and show that number. However, that presents other challenges. What if our printshop is in the middle of printing more teacher manuals and we know that they will be ready by tomorrow. The system doesn't know that and would again report that we do not have any to ship. Our solution? For now, we simply show "Available: Yes" for packages and items delivered digitally -- as long as we know everything will be available to ship the order out in 1-2 days. For other individual items, we let the system show the actual number available. But even that number is a moving target. With each new order the number available changes for any items on that order. This can lead to a situation where the item showed it was available when added to the cart but by the time you go to checkout you receive a message that the item is no longer available.

Another important component of most websites is the shopping cart. Webserver software does not directly support a shopping cart. This is additional software and depending on how the website is setup it could be running on the same server or on its own server. While it may seem rather simple, this is one of the more complex pieces of most websites. Beyond the basics of adding items to a cart, the shopping cart validates the items in the cart; verifies the price is correct; handles coupons or other discounts; calculates shipping; allows for editing your cart; offers suggestions; handles customer account creation; checkout; and various other features. The checkout process in particular requires many separate systems to be working together. The website has security measures in place to safely collect the payment information. That information has to be securely sent to a gateway processor to validate the information and get approval for the payment. The gateway processor communicates with the merchant payment processing network which in turn communicates with the processor for the bank that issued the card. While this process normally takes just a few seconds, if there are issues with any step, then the payment processing can be delayed or fail. Thankfully, the process works well most of the time.

A final piece of the shopping cart is that once checkout is complete you'll get a thank you page and most websites follow up with an email with the order details. But behind the scenes it moves to order fulfillment. For some websites that is a very manual step. For My Father's World, our website shopping cart is integrated with our backend order manager which allows website orders to flow through the system quickly. Since it is integrated, you can also see the status of your order during fulfillment and get your tracking numbers from your account on the website.

This is just a portion what makes a website work. There are many different systems working together to get you information, track a cart, process a checkout and get your product to you.

--Scott S.