Registry PM Authorization Web Service - Duthie Power

Version 9.0 and Above

This functionality is highly customized for the client it was written to.  It should NOT be implemented for other customers.  If functionality similar to is desired for a different customer, contact Data-Basics support to request quote for this modification.

Web User Record:
Create a Web User record with the User Id set to guest and the Password set to guest.


Id: web-settings-guest

Setting Key: SubmitStatus  Setting Value: Submitted

Setting Key: SubmitMessage  Setting Value: Thank you for Submitting your Authorization

The Setting Value specifies the text that will be displayed after the customer has clicked the Submit on the web authorization form.

Setting Key: URL Setting Value: URL of guest page

This specifies the URL for the guest pack for maintenance authorizations.

Setting Key:GuestUID Setting Value: guest

Setting Key: GuestPWD Setting Value: guest

This registries specify the password and user id for the Guest page. Note that system, not the user, will manage the login using the following settings.


Id: web-settings-ms-authorization

Setting Key: pricepergallon   Setting Value: current price per gallon

The Setting Value will be displayed in the Authorization form.  For example, 6.00. Note that the system will provide the text and dollar sign; enter only the value itself.

Key: submittedStatus  Setting Value: valid technician status

This is the status the Work Order Tech line will be set to when the work is approved (e.g., invoiceapproved).

Id: web-settings

See Help for additional existing registries required for web services.



The following graphics should appear in the web directory specified in the web-settings registry's web-dir option.



The sidebarLogoOnly.gif should be 112 pixels wide by at least 440 pixels high. The logo may appear at the top of this file if it is also being use for the Client Web login. It will appear on the right-hand side of the webpage.

The authorization.gif will appear to the left of the sidebarLogoOnly.gif file at the top of the webpage.  It should display any desired text/graphics for the authorization form.


To Use this Functionality:

1. SAMPro's Web Server must be running.  You will want this web server service to always remain running like other SAMPro services you may have.

2.  Assign all of your PM's to a fictitious technician called "PM Wait".  

3. Create an Notification based escalation event in your PM Work Order's Escalation Profile that is triggered when the status becomes "Waiting Service".  The PM work order needs to be created with an initial status of “Waiting Service” in order for this mod to work. You can control Preventative Maintenance Work Orders to be assigned a special status when they are created through the sys-web-access registry. Although, please note that PM Work Orders will always be set to a status of “Waiting Parts” (regardless of registry) when Required Resource parts are written to the PM line.

New Token: ^maintenanceserviceauthorizationlink^

A new Escalation Profile token has been implemented as part of this enhancement.  The token entered into the profile's Email Text should read ^maintenanceserviceauthorizationlink^.  This token will be replaced by a web link to the guest page when the scheduled event executes; the customer will simply click this link to access the Maintenance Authorization page.

The authorization email will be created with the Email From specified in the Notification record; if this field is not completed, the DefaultEmailSender option in sys-email will provide this value. The Email To will default from the applicable Client or Client Site record specified in the Notification.

The link consists of these components: the URL from the registry entry, the guest account login from the registry, the work order id and rn, and the scheduled event id which generated the e-mail. The id, rn and event values are extracted from the link and used to 'authenticate' the incoming request.  SQL statements confirm that the values make sense relative to one another.  Access is denied when the link's values are not successfully authenticated.

Example: Escalation Profile

Source: workorder

Action Type: notification

Notify Id: The Notification record pointing set for your Customer notifications.

Status From: any

Status To: Waiting Service

Time Base: creation

Day: Hrs: Min: 1 (minute)

4. Create a Notification based escalation event in your PM Work Order's Escalation Profile that is triggered when the status becomes "invoiceapproved" (or any other existing status you specified in the web-settings-ms-authorization registry)  which will generate an email to notify an employee that a PM has been approved.

5. The generated email will contain a link your customer can click on that will the linked web form with specific info related to the PM work order generated for them.

6. When the customer clicks on the Submit button in the form the status of the PM WO will change to "invoiceapproved" (or any other existing status you choose) and update the Work Order as follows:

PO#: The value the web user entered in the PO field
User 1: The amount of fuel needed
User 2: The capacity of the tank

7. A user will then review approved PM WO's and fill in any needed fuel charges onto the Work Order Other tab and assign the work order to a technician and a date to be performed.