Introduction
A metro train operator in Australia recently insourced the facility maintenance operation from its contractor, Spotless. The operation includes the general maintenance of the train stations and rail corridors, such as cleaning, gardening, roof maintenance, and firefighting equipment inspections. As part of the acquisition, the seller provided an extract of all work order data for the company to migrate into their current Maximo system.
This article describes how we assisted the metro operator in migrating the data to Maximo and streamlining the service ordering process by converting unstructured job plans to using standard services and contracts.
The challenge
The data provided is a flat Excel table containing a list of all past and two-year look-ahead work orders. The table includes a description of what needs to be done and high-level details of the subcontractors to whom the work is outsourced.
Once the data is analysed, broken down into Assets, Job Plans, PMs, and Work Order records, it is loaded to Maximo and consolidated with other existing data. In this case, the type of facility management work migrated to Maximo is not strategically critical to the business and is outsourced to external contractors. As a result, after the migration, a few hundred to a thousand PM work orders were generated every week. They needed to be sent out to the contractors. The procurement team had to manually raise Purchase Orders by copying the details of work orders to POs, getting quotations, and approving them.
A new challenge set out by the asset manager is to find a way to automate and streamline this process as much as possible.

Streamline the process with Contracts and Standard Service
After the transition, the first round of procurement took a few weeks. The team were busy getting quotes and issuing purchase orders to the contractors. All POs were created with non-standard service lines against individual work orders. After this first round, we had the pricing for a large number of frequent jobs such as cleaning, gardening, roof maintenance, and fire-fighting equipment inspections. An automation script was created that provides the asset manager with an action that can be called from the PO application. The script looks at the Purchase Order and the associated Work Orders; if those work orders were generated from PMs and Job Plans that use non-standard services, it will carry out the following:
- Create new Standard Services items with the pricing and vendor details that come from the PO
- Update the Job Plan with the new Standard Service items.

With this, the next time a work order is generated from a PM that is updated by this, it automatically inherits the Standard Service from the Job Plan. We also added a new Reorder Crontask Instance to generate PR automatically for those planned services. With this, the procurement team do not have to manually create POs and copy/paste the details over. They simply have to review and approve the PRs and POs as part of their standard workflow.
Although the process works much better at this stage, it was enhanced further by utilising Contracts. When a Contract is created for a Vendor in the system and contains a list of Standard Services, any PR generated by the above process automatically inherits the pricing as set out in the Contract. This allows the procurement team to negotiate long-term contracts with fixed pricing for Standard Services items. This eliminates the need to obtain quotations for individual POs each time one is issued. Long-term contracts also allow the company to acquire services at a lower cost and produce a better budget forecast.
