Creates a Shopping Cart with all it's fields and relationships.
A prospect customer can create a cart
A customer can also create a cart, and the cart should be associated with the user.
Following validations are applied:
-
Product eligibility validation ensures the cart contains only eligible products. The validation checks are performed by an external service based on TMF679 Product Offering Qualification API REST Specification
The cart cannot be created if the given products do not fulfill the validation
It will validate if a offer can be swapped.
-
Service eligibility checks if the cart contains serviceable items. The validation checks are performed by an external service based on TMF645 - Service Qualification API REST Specification.
If the service is unqualified then the cart items are saved for later.
-
Custom validation ensures that the cart's content fulfills the tenant's validity rules, if such are pre-defined.
Each tenant is allowed to define validation rule sets, against which the validity of the cart shall be checked.
The cart cannot be created if it fails to meet the validation rule set.
Following validation are performed on Cart Item Relationship:
If cartItem Relationship Id exists.
If there exists another cartItem with same Id as cartItem Relationship Id
If cartItem Relationship type is one of the valid value. (Valid values are swap, swapped by, hasAddOn, depends on, ports-in, ported-in by).
If cartItem Relationship Id is not same as the cartItem Id.
The promotions are applied to the cart as follows
-
Promotions and discounts (Customer is eligible for) is applied to the shopping cart based on the selected /added product offerings.
-
Applied promotions are used from TMF671 - Promotion Management
Promotion is added automatically to the shopping cart based on the defined promotion criteria / conditions
The total price of the cart is recalculated when discount is applied.
If the customer updates the cart and updated cart does not satisfy promotion criteria, the promotion is automatically removed from the shopping cart and the total price is recalculated accordingly
Can be called by: user,m2m,customer,unauthenticated
Required roles: sc.ops