.. Zoook e-Sale documentation Introduction ============ Zoook is e-commerce `OpenERP `_ App **without connector**. Forget connectors and errors. Zoook is a **web store**, developed in **Python** with `Django `_ framework, and is 100% compatible and designed to work with OpenERP. The orders, the stock, postage and prices (to list just a few features) come straight from OpenERP. One feature not available a lot of e-commerce is price rules are not same at ERP that e-commerce. You need to create new rules prices at e-commerce app and maintenance two or more rate prices. Same at stock, delivery, promotions... Zoook provides and integration e-sale and relation at client (CRM) or any model OpenERP available at web. Remember, Django is SEO application and products and categories add new features to SEO. Also available cross sells and related products features. .. note:: This documentation and the project is work in progress. *Please contribute!* Architecture ------------ The application is divided into two parts: the *Django Web App*, and the *OpenERP modules* part. The *Django-Zoook* Application part is the webstore itself, and the *modules in OpenERP* is the part allows you to configure countries, payments and delivery available to each sale shop. You can design payments related with Picking Policy, Order Policy or Invoiced Quantity (it isn't same cash on delivery payment or Paypal payment). Also the Zoook module in OpenERP is used to synchronize the `catalog cache`_. Connection with OpenERP ----------------------- Zoook uses Pyro or XML-RPC protocol and OOOP (OpenObject on Python) and Paramiko libraries to connect with OpenERP. :: Client browser <---HTTP---> Zoook e-Sale <---XML/RPC---> OpenERP For example, when a customer reserves a product in the shopping cart, Zoook creates in real time a standard *Sale Order* object in *Draft* state in OpenERP. And when the user confirms the order, Zoook moves the state of this order to *In Progress*, and the workflow will be launched a *Packing* to manages the delivery of the goods to the customer. Catalog cache ------------- Zoook only synchronize as **cache** the catalog information, but all the operations are attended by OpenERP in real time. The reason than Zoook are synchronized with OpenERP is because if your ERP is off connection, your e-commerce will be still available. Also, a lot of communication is catalog search (users or search engines), this is an example from an e-commerce store: +--------+--------+-------------+ | Period | Visits | Real Orders | +========+========+=============+ | Mar | 1744 | 9 | +--------+--------+-------------+ | Feb | 2227 | 7 | +--------+--------+-------------+ | Jun | 2167 | 8 | +--------+--------+-------------+ Zoook as Framework ------------------ Zoook is not only a shopping cart system, can be used as **developement framework** to construct any web application integrated with OpenERP. The source code has everything you need to start a new project: * Integrated with OpenERP with webservices (customers, sales, pickings, etc). * Users in Django App are mapped as partners (customers) in OpenERP. * Developed with the most popular web framework in Python: `Django `_. * Easy to modify and extend, compact and legible code.