I am dealing with an ordering system and seeking to know to begin with why it had been designed the actual way it was.

One thing I can not seem to comprehend is why the machine produces a distinctive Order record for any possible client before the client places an order.

So, ultimately an order gets into and selects what they need to purchase after which, prior to the Place your order button is displayed, a purchase record has already been saved for that potential customer.

The result of the - that is what's disturbing me - is the fact that you will find 1000's of abandoned orders within the system in which the user never clicked on around the final Place your order button to finalize the purchase.

Should not an order record be produced only after the consumer clicks "Place your order"? So why do it otherwise?

Knowing from that which you stated, application provides very helpful functionality. It takes note of everything user selected, so he is able to close the page, check other shops, think more, return to your website and find out his order saved for him.

Also, ten 1000's additional rows in database can cost you a cent, and so i see pointless to bother with it. And when it becomes an issue, you are able to routinely clean them up, e.g. if user does not appear for any month.

Francis, you will find lots of causes of this the foremost and formost being statistics even though you will find different ways to do this, it's a great way to know (a) was an order abandoned and (b) when along the way. It's also great for letting the consumer return and "checkout" a couple of days later :)

Does the machine operate in the overall ecommerce fashion with seperate "basket" and "order" organizations? Or do you use it simply by accumulating a purchase entity because the user add products for their order after which finalises that?

When the latter scenario then, as already pointed out, it most likely works in the manner you describe as a way of storing a purchase happening. But when it is the former scenario (having a separate basket), then you are in thats it just a little odd and does appear unnecessary.

Usually devoted ecommerce systems designed in the ground-up, separate the concepts of "basket" (a piece happening) from "order" (the finished product). But you will find lots of systems that could have developed with time, and might possibly not have been initially made with ecommerce in your mind, in which you get process occurring which are just a little untidy and under optimal.