Working in the field of WooCommerce customization, our developers are used to all sorts of requests for features and tweaks for plugins. Now and again, however, there comes a requirement which takes even us by surprise by its sheer ingenuity!
One such request by one of our clients was to add shared carts in a WooCommerce store.
Client Requirement: A Brief Overview
The concept of shared carts is exactly what it sounds like. In instances like an e-commerce marketplace, people buy multiple products from multiple vendors. However, every individual has his own Shopping Cart and has to shop independently. There is no option for multiple people to share a single cart and shop together.
The client wanted to set up shared carts that would allow customers to shop in a group. A handy idea when you and your family need to order a bunch of products to your home, right?
A few ground rules were laid down before the actual development began. The platform of choice was WordPress and the e-commerce plugin used was WooCommerce.
To design the necessary solution, our developers approached the requirement from two perspectives;
- What settings would this entail for the administrator?
- What would be the features at the front-end, for the customer?
Features for the Administrator
The primary requirement for sharing a cart would be the ability to create a Group. We created a Manage Groups Page which could be accessed by the Admin from the Dashboard and used to manage all customer Groups.
The next part was configuring Notification emails that the Admin would have to send to users as they shared a cart or added/deleted items. This included three types of notifications; Group emails, sent to users in a particular Group; People emails, sent to users not necessarily belonging to a group; and Guest emails, sent to a Cart Owner whenever a member of his/her Group finished adding products to the cart. The emails were completely customizable, from the template to the content to be sent in every email.
Features for the Customer
The main Customer, or in this case, the Cart Owner, would be able to share a Cart with a practically unlimited number of people. However, every user would need to be logged in to add/edit products in the Cart.
The Cart Owner had the authority to create, edit, and manage a Group, by simply adding the emails of the would-be members. In addition, he/she could share the cart for a fixed duration, after which members would not be able to add/delete their own products to the shared cart. The Cart Owner could also share a Cart with random people by adding them as Guests to the Cart.
The Details of the Cart would be viewed under the Shared Activity Log, which showed real-time updates of the shared cart. The Owner was authorized to end the cart share before the specified time, if necessary. Ending the cart share would remove all products from the shared cart.
While sharing a cart, every User had essentially two carts, the individual Shopping Cart and the Shared Cart. Users could switch between these carts with ease. However, a member could not check out a Shared Cart, only the Cart Owner was able to do that. In the Shared Cart mode, a user could edit only their items, although the other members and items in the Cart would be visible, along with the name of the vendor selling the product.
The final Invoice generated would have details of all individual members, the respective costs of their products and the division of shipping charges between the members of the Group.
Applications of a Shared Cart
Shared Carts can be used in a variety of scenarios, where shopping together can be used to minimize shipping costs.
For instance, consider the case of a College or University, where a number of books for various departments are to be purchased. Instead of burdening one person with the task of gathering a list of the titles, choosing them from the ones available (while following up with the respective subject matter expert if a substitute was to be chosen), adding them and checking them out, all the relevant professors could be added to a single Group, where they would select the books they wanted, and the Cart Owner (read Librarian) could simply check them out!
Sounds convenient, doesn’t it?
What other applications would you use Shared Carts for? Tell us your amazing idea in the comments sections below!