Bonjour,
Nous relançons le projet de développement du module de Marketplace. Voici plus bas les grands principes sur lesquels nous pensons partir par rapport au traitement du panier et sa présentation ( .../cart et .../order/invoice ) ainsi que la génération d'une commande globale ( utile au gestionnaire de la marketplace ) et des commandes par vendeur.
Ce sont des éléments évidement essentiels pour démarrer du bon pied... Nous sollicitons vos avis et faisons appel à votre expérience. Qu'en pensez-vous ?
D'avance merci.
Objectifs
************
- Présenter une page panier présentant les items commandés regroupés par vendeurs avec le prix de la livraison puis le total.
- Présenter une page de vérification de commande présentant les items commandés regroupés par vendeurs avec le prix de la livraison puis le total. Avec un seul bouton pour lancer la commande globale.
- Avoir une trace de la commande globale. Avec dates, commandes liées et possibilité de mettre des commentaires ou autres infos utiles.
- Avoir des commandes qui sont en fait celles de base de Thélia, mais lié à un vendeur. Un vendeur pourra gérant sa commande ( modifier statut, générer pdf, etc ).
Postulat de base
*********************
Il existe un objet "Vendeur" et un objet "Commande globale"1 en plus des objets de base de Thelia.
Déroulé d'une commande par un client
*************************************************
1. Le client ajoute des items à son panier.
2. A tout moment, il peut consulter son panier et voir sa commande globale divisée en sections présentant en fait les commandes par vendeur avec un prix de livraison et un sous-total. De là, il peux continuer à ajouter des items ou bien passer commande.
3. Si il passe commande, il arrive à l'étape deux ( Facturation et livraison ). Il choisi son adresse de livraison et choisi normalement son mode de livraison. Peut être qu'au début il n'aura pas vraiment le choix et qu'à cette étape seront présenté uniquement les frais de livraison par vendeur et un total des frais de livraison. Nous n'envisageons pas pour le moment de proposer des modes de livraison différents en fonction des vendeurs. Il peut passer à l'étape 3 "Vérifier ma commande",
4. A l'étape 3, "Vérification de la commande", le client voit sa commande globale divisée en sections présentant en fait les commandes par vendeur avec les items et leurs prix, un prix de livraison et un sous-total. Puis en dessous, le total des frais de livraison, du prix des items HT et TTC. De là, le client peut procéder au paiement de sa commande globale.
Gestion du panier d'un point de vue technique
************************************************************
En fait, pour le panier, je pense étendre la loop cart pour y ajouter la notion de vendeur et avoir la possibilité de faire des calculs d'expédition par vendeur. En fait, là, le but est d'afficher des informations simplement.
Traitement de la commande globale et des commandes par vendeur
**************************************************************************************
L'idée est d'utiliser l'événement ORDER_BEFORE_CREATE pour intercepter la commande et générer des commandes thelia par vendeur puis générer une commande globale1 puis stopper le processus de commande thelia et d'afficher une page disant que la commande s'est bien passée ! Ou pas....
Vocabulaire
-------------
1. Commande globale : Nouvel objet ayant pour attribut un identifiant, une date de création et de mise à jour, un statut, un champs commentaire et certainement d'autres champs utiles. Elle sera liée à des commandes thelia et éventuellement à un client ( On pourrait le déduire des commandes, mais ça simplifierait peut être les choses de l'avoir sous la main ).