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

  1. Collaboration helps saves time and money by optimising the purchase of goods
  2. Improves the ability to negotiate with suppliers
  3. 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