Skip to content

Goods and services exchanged for money, or other goods and services.

License

Notifications You must be signed in to change notification settings

commonality/archetypes-products

Repository files navigation

archetypes-products

banner

The MIT License NPM version FOSSA Status Known Vulnerabilities
Dependency Status
MacOS and Ubuntu build statuses Windows build status Coveralls test coverage Codacy code quality

Models for value-based goods and services, which are exchanged for Money or other goods and services.

Table of Contents

1. Overview

Businesses and people make money by selling either goods or services. We call these goods and services "products."

@archetypes/product focuses on selling products, rather than manufacturing them. A clear and explicit model of Products enables flexible applications that can adapt to new business opportunities.

1.1. Standards

@archetypes/product comply with the standards in Table 1.1.

Table 1.1

Standard Description
[EAN.UCC System][ean-ucc-url] Product identification standards.
[ISO 2108][iso-2108-url] International Standard Book Number (ISBN)
[ISO 10957][iso-10957-url] International Standard Music Number (ISMN)

1.2. @archetypes/product Specification

Figure 1: @archetypes/product module UML class diagram. 1

@archetypes/product module UML class diagram

2. Installation

npm install @archetypes/products

Back to Table of contents [toc]

3. Usage

4. API

4.1. Product

A Product is a generalized model for representing goods and services.

4.2. ProductType

Represents types of Products (e.g., a type of LCD monitor).

4.3. ProductIdentifier

Uniquely identifies ProductTypes.

4.4. ProductInstance

Represents specific instances of a product type (e.g., a particular LCD monitor).

4.5. SerialNumber

Uniquely identifies a ProductInstance.

4.6. Batch

Uniquely identifies a set or ProductInstances of the same ProductType that are tracked together.

4.7. ProductFeatureType

Represents a type of feature associated with a ProductType.

4.8. ProductFeatureInstance

Represents a specific feature of a ProductInstance.

4.9. ProductCatalog

Represents a persistent store of product information.

4.10. CatalogEntry

Represents the information about a particular type of product in a ProductCatalog.

4.11. Package

Represents how to sell selections of products grouped together as a unit.

4.12. PackageType

Represents how to specify the possible contents of a particular type of package.

4.13. PackageInstance

Represents a particular instance of a PackageType.

4.14. ProductSet

Represents how to represent a set of ProductTypes from which selections may be made.

4.15. PropositionOfInclusion

Represents how to describe the possible contents of a package in a rule of the form:

– P: isSubsetOf( T, S, min, max )

4.16. ProductRelationship

Represents fixed relationships between ProductTypes.

  • UpgradableTo represents an upgrade relationship.

  • SubstitutedBy represents a substitution relationship.

  • ReplacedBy represents a replacement relationship.

  • ComplementedBy represents a relationship where one ProductType complements or enhances another.

  • CompatibleWith represents a relationship that shows that one ProductType is compatible with another.

  • IncompatibleWith represents a relationship that shows that one ProductType is incompatible with another.

4.17. Price

Represents the amount of money that must be paid in order to purchase a good or service.

• Pricing approaches

• Price reductions: how to represent different types of price reduction

4.18. ArbitraryPrice

Represents an ad hoc Price applied to a specific ProductInstance.

• Rules-based pricing: a walk-through of a pricing process that is driven by business rules

• Package pricing: how to represent the Price of a package

4.19. PricingStrategy

Represents pricing algorithm for a package, such as products sold by units of measure.

4.20. MeasuredProductType

Represents how to represent a ProductType, such as gasoline, that is sold by measure.

4.21. MeasuredProductInstance

Represents how to represent the amount of a MeasuredProductType (e.g., 10 gallons of gasoline) involved in a specific sale.

4.22. Service

Represents how to represent processes or activities that are offered for sale.

4.23. ServiceType

Represents how to represent a type of service.

4.24. ServiceInstance

Represents an instance or execution of a type of service.

4.25. ServiceDeliveryStatus

Records the status of the delivery process for a particular ServiceInstance.

5. Maintainers

@gregswindle

Information for Maintainers The Maintainer Guide describes how we develop and release archetype-rules (and has useful information for Maintainers and Trusted Committers).

Back to Table of contents [toc]

6. Contributions

GitHub Contributors GitHub GitHub Greenkeeper badge

Gratitude We gratefully accept Pull Requests. Here's what you need to know to get started.

Before submitting a Pull Request, please read our:

Back to Table of contents [toc]

7. License

MIT © 2019 Greg Swindle

Open Source Licenses View the latest detailed legal NOTICE report This link will take you to another Web site.

FOSSA Status

Back to Table of contents [toc]

8. Citations and References

Footnotes

  1. Arlow, J., & Neustadt, I. (2004). Enterprise Patterns and MDA (p. 205). Boston: Addison-Wesley.

About

Goods and services exchanged for money, or other goods and services.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published