HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityDoc feedbackLog In
GitHubNuGetDev CommunityDoc feedback

Extend order status

In previous Commerce versions, OrderStatus and OrderShipmentStatus were enums, so could not be extended. In Optimizely Customized Commerce 13, a breaking change converted OrderStatus and OrderShipmentStatus from enums to classes. As a result, you can no longer apply bitwise operations to instances of OrderStatus and OrderShipmentStatus.

To register a new OrderStatus:

OrderStatus.RegisterStatus(new OrderStatus(128, "WaitingForFeedback"));

To get all registered OrderStatuses, including built-in ones, use this code.

var statuses = OrderStatus.RegisteredStatuses;

Related blog post: New feature in Commerce 13: Extendable OrderStatus and OrderShipmentStatus