Click & Collect domains

Edit on GitHub

Click and Collect business models refers to a retail strategy where customers make purchases online and then collect their ordered products from a physical store or a designated pickup location. This model combines the convenience of online shopping with the immediacy of in-store pickup.

To implement this functionality effectively, retailers create product offers in service points, ensuring that the inventory reflects available products accurately and that items are ready for customers to pick them up. Furthermore, shipment types need to be configured to manage and streamline both delivery and pickup options. Delivery refers to orders sent directly to the customer’s address, while pickup refers to the collection of products by the customers at the service points.

Service points

  • A service point is a physical location where services are provided. Depending on the services provided, there can be different kinds of service points, like a warehouse or a physical store. The definition of a service point ultimately depends on the services it provides.

  • A Service point address is the address of a location where customers can pick up their orders. For example, if a customer selects a locker as a service point to pick up their order, they will be given the address of a specific locker location to pick up their order from.

  • A service type is a classification of services that a business offers to its customers. Service types are determined by the nature of the business. Service type examples:

    • Pickup service
    • Return service
    • Rental service
    • Repair service
  • A service represents a specific service type that is provided at a specific service point. For example, a pickup service at a retail location located at Julie-Wolfthorn-Straße 1, 10115, Berlin.

Shipment type

A shipment type is a way in which a customer receives an order after placing it. Shipment type examples:

  • Home delivery: products are delivered to the customer’s residence.
  • In-store pickup: customer places an order online and picks it up at a selected physical store.
  • Curbside pickup: customer places an order online and drives the the selected physical store. They park at a designated area, and the store’s associate brings out the order directly to the car.
  • Locker pickup: customer places an order online and picks it up from a selected secure locker using a key or code provided by the store.

Domain model

The entities and their relationships as they appear in the diagram:

Store Relates to Service Point many-to-many
Store Relates to Shipment Type many-to-many
Merchant Relates to Product Offer one-to-many
Service point Has a Service Point Address 1-to-1
Service point Relates to Sales Order through Sales Order Item one-to-many
Service point Has a Service one-to-many
Service point Has a Store many-to-many
Service Has a Service Type many-to-one
Service Relates to Product Offer many-to-many
Service type Relates to a Service one-to-many
Service type Relates to Shipment Type one-to-many
Shipment Relates to Shipping Method one-to-many
Shipment Relates to Product Offer many-to-many
Shipment Relates to Sales Shipment one-to-many
Shipment Has a Store many-to-many
Product offer Relates to Product many-to-one
Product offer Relates to Stock (Warehouse) many-to-one
Product Relates to Product Price one-to-many
Product Relates to Product Stock one-to-many
Product Has a Product Offer one-to-many
Sales order Has Sales Order Item one-to-many
Sales order Relates to Sales Shipment one-to-many
Sales order item Has a Sales Shipment many-to-one
Stock (warehouse) Has Product Offer Stock one-to-many
Stock (warehouse) Has Product Stock one-to-many

The relationships indicate how entities interact with each other. For example, a Store can have multiple Service Points, a Merchant can offer various Product Offers, and each Product Offer can be linked to multiple Products.

To show the introduced changes and extensions, new entities and relations are painted in green, and existing ones are painted in white.

Entity-relationship diagram

The entity-relationship diagram shows how domain entities are mapped to database tables.

Domains and subdomains