Opqo allows configuration of the status changes that can be performed on a work order.  This allows control over the work order status flow that Opqo users will follow.



Note: Statuses and status changes that are configured for Opqo must be valid within Maximo, as any status change that is attempted is still subject to Maximo business rules.



The default configuration for technicians supports the following status flow:


The status change options are defined in terms of transitions: Given a particular status, which status(es) can the user change the work order to.  


In the default configuration, there are two status transitions defined:

  1. When the work order is in APPR status, allow the user to change it to INPRG.  The title displayed to the user for the INPRG status change is "Start Work".
  2. When the work order is in INPRG status, allow the user to change it to COMP.  The title displayed to the user for the COMP status change is "Complete Work".


The work status change options are specified by the workStatusOptions property in the general section of the STAUTOSCRIPT.STAMCONFIG automation script in the Maximo environment.



Note: For more information on Opqo configuration and the role and contents of the STAUTOSCRIPT.STAMCONFIG script, see the Configuration Overview article.



The default configuration can be represented by the following:

appConfig = {
  "general": {
    ...
    "workStatusOptions": [
      {
        "statuses": [
          "APPR"
        ],
        "options": [
          {
            "status": "INPRG",
            "title": "Start Work",
            "isDefault": true
          }
        ]
      },
      {
        "statuses": [
          "INPRG"
        ],
        "options": [
          {
            "status": "COMP",
            "title": "Complete Work",            
            "isDefault": true
          }
        ]
      }
    ]
  }
};


The workStatusOptions property contains a list of possible status transitions, each with the following properties:


PropertyTypeDescription
statusesList of StringThe statuses that these options apply to.  This will be matched against the current status of the work order, to determine the status options that are presented to the user.

This is required and must contain at least one status.
optionsList of Options
(see below)
The status change options that are presented to the user to select from.

This is required and must contain at least one option.

See below for the properties for each option.


The options property contains a list of status change options, with each option having the following properties:


PropertyTypeDescription
statusStringThe Maximo status that the work order will be changed to, when this option is selected.

This is required.
titleStringThe title of the option that is shown to the user.

This is optional.  If it is not provided, the status will be displayed.
isDefaultbooleanAffects the visual display of the option, as presented to the user.

If true, the option is shown as a more prominent option than when false.

Generally, the most common/expected option will have this property set to true, with the others set to false.

This is optional.  The default value is false.


When identifying the options available for a work order, the list of status transitions is checked, in order, to find the first transition where statuses contains the current work order status.



Example: Adding a HOLD status


This example implements the following status flow:


In this example, we have added support for a custom status HOLD, which is a synonym of INPRG.


  1. When a work order is in INPRG status, the user may change the status to either COMP or HOLD, with COMP being the most common option selected.
  2. When a work order is in HOLD status, the user may change the status to INPRG.


The Opqo configuration for this flow is as follows:

appConfig = {
  "general": {
    ...
    "workStatusOptions": [
      {
        "statuses": [
          "APPR"
        ],
        "options": [
          {
            "status": "INPRG",
            "title": "Start Work",            
            "isDefault": true
          }
        ]
      },
      {
        "statuses": [
          "INPRG"
        ],
        "options": [
          {
            "status": "COMP",
            "title": "Complete Work",                        
            "isDefault": true
          },
          {
            "status": "HOLD",
            "title": "Place Work on Hold"
          }
        ]
      },
      {
        "statuses": [
          "HOLD"
        ],
        "options": [
          {
            "status": "INPRG",
            "title": "Resume Work",                        
            "isDefault": true
          }
        ]
      }
    ]
  }
};




If you have questions please do not hesitate to contact us or create a support ticket for more assistance.