Organizational Shared Carts
With this release, personal carts can be shared with other users in the same organization so that buyers can collaborate to complete the buying process. Any other buyer in the same organization can amend the contents of the shared organization cart and submit the order, subject to approval limits.
Once shared, the shared organization cart becomes the sharer’s current cart. The cart sharer can switch back to a personal cart. All users in the organization can switch between personal and shared organization carts.
A shared organization cart can also be unshared, either by converting it back to a personal cart or removing it altogether. When converted to a personal cart, the contents of the shared organization cart are merged with the user’s current personal cart.
UI Support for Shared Organization Carts
With this release, the Open Storefront Framework (OSF) supports shared organization carts. Components 'SharedCartsListDesktop' and 'ExtendedCartItemDetails' deliver the necessary support needed for shared organization carts.
Tracking Contributors of a Shared Organization Cart
Within the order itself, up to three separate personas are recorded and made available as needed in endpoint responses and webhook payloads:
- The cart creator (who shared the cart)
- The last modifier of the cart
- The submitter of the cart (for submitted orders)
See Appendix A in the Tips and Considerations section for further information
Automatic Purging of Inactive Shared Organization Carts
Shared organization carts which have been inactive for too long will be automatically purged:
- Empty shared organization carts will be purged after 4 hours of inactivity
- Non-empty shared organization carts will be purged after 8 weeks of inactivity
- An email notice can be sent 1 week prior to the expected purge date for an inactive shared cart.
- Need to enable the ‘Shared Cart Purge Imminent’ email notification type for email notice to be sent.
- Recipients of the email will be the user who shared the cart and the most recent user to update the cart, assuming they are both still members of the same organization
Merchant Control of Shared Organization Cart Feature
The getSharedOrganizationCartSettings and saveSharedOrganizationCartSettings endpoints allow read and write access to the settings that control this feature. Settings are:
Setting Name |
Default Value |
Description |
---|---|---|
enabled |
true |
Whether the Shared Organization Cart feature is enabled |
hoursUntilEmptyCartPurgeDue |
4 |
Number of hours before inactive empty shared organization carts are purged |
weeksUntilPurgeDue |
8 |
Number of weeks before inactive shared organization carts are purged |
weeksBeforePurgeForNotice |
1 |
Number of weeks prior to the anticipated purge date for an inactive shared org cart for it to be purged |
- Collaboration helps saves time and money by optimising the purchase of goods
- Improves the ability to negotiate with suppliers
- Reduces shipping costs
Steps to Enable
You don't need to do anything to enable this feature.
Tips And Considerations
- Should you wish to disable this feature, you can use the new saveSharedOrganizationCartSettings endpoint (PUT /ccadmin/v1/merchant/sharedOrganizationCart) to set the ‘enabled’ property to false
Appendix A: Properties of a Shared Organization Cart for Endpoint Responses and Webhook Payloads
Cart Property |
Property Type |
Description |
---|---|---|
sharedWithOrganization (*) |
Boolean |
Denotes if the cart/order is a shared organization cart |
lastModifierId (*) |
String |
ID of the user who last modified the cart/order |
submittedBy (*) |
String |
ID of the user who submitted the order (if submitted order) |
profileId |
String |
ID of the user who created the cart |
profile |
JSON Object |
Holds first and last name of the user who created the cart |
Appendix B: New and Updated Order Endpoints
With this release there are the following new order store endpoints:
- shareOrder (PUT /ccstore/v1/orders/current/share)
- unshareCurrentOrder (PUT /ccstore/v1/orders/current/unshare)
The following existing endpoint has been updated to support shared organization carts:
- getAllOrdersForProfile (GET /ccstore/v1/orders): A new query parameter orderType has been introduced. Default value for orderType is 'all'. Below are the possible values for orderType:
- all: returns the list of personal and shared organizational orders for the current profile
- personal: returns the list of personal orders for the current profile
- shared: returns the list of shared organizational orders for the current profile