]po[ SLA Management

This "SLA Management" package allows to define and track parameters of service level agreement contracts. It defines the notion of "Service Level Agreement (SLA)", "SLA Parameter", "SLA Indicator", "SLA Service Hours" and "ticket resolution time".

(Please click on the hexagons for more information)

Service Level Agreement (SLA)

A ]po[ SLA is a special type of project that represents a service contract between the provider (the organization running the ]po[ instance) and a customer. The SLA serves as a kind of container for all tickets related to the customer:

  • Service Container:
    The SLA allows to see the history of all tickets related to a customer.

  • Financial Container:
    Service staff can log hours on a ticket. These hours will be aggregated on the SLA level and allows for time and material based timesheet invoicing.

  • Permission Container:
    The SLA controls access permissions to the individual tickets. Only "members" of the SAL and users with the privilege [add tickets for customer] are allowed to to create new tickets of an SLA. This allows to implement a customer self-service portal by adding the customer contacts as members to the SLA.

Service Level Parameter

The [SLA parameter object type] represents a parameter of a real-world SLA contract. For example, an SLA might prescribe the maximum resolution time of incidents as a function of the type of incident and its priority.

Service Level Indicator

SLA indicators are instances of the Indicator object type as defined in the Reporting Indicators package. An indicator basically consists of an SQL statement that returns a single value.

"Associating" a SLA indicator with a SLA parameter allows to track the value of a SLA parameter. The values of the SLA parameter are then available as variables for the indicator SQL statement. This way it is possible to track for example the resolution time of the SLA parameter "Max. resolution time for 'bug request' tickets is 4 hours". Defining green/yellow/red low- and high watermark values allows manager to visually track the SLA performance. Future versions of ]po[ will allow to attach notifications to SLA indicators when reaching yellow or red levels.

Service Hours

Service Hours define the time range for an SLA.

Ticket Resolution Time

Based on the definition of service hours, ]po[ [calculates the resolution time] of a ticket as the service hours elapsed while a ticket is in status "open" (or in one of the sub-states of "open").


Package Documentation

Procedure Files



callback::im_ticket_after_create::impl::im_sla_management       Callback to be executed after the creation of any ticket. 
callback::im_ticket_after_update::impl::im_sla_management       Callback to be executed after the update of any ticket. 
im_sla_check_time_in_service_hours       Returns 1 if the time (example: "09:55") falls within service hours (example: {09:00 20:00}) 
im_sla_day_of_week_list       Returns a list with weekday names from 0=Su to 6=Sa 
im_sla_management_epoch_in_service_hours       Returns 1 if the epoch falls within service hours ToDo:: Implement 
im_sla_parameter_component       Returns a HTML component to show a list of SLA parameters with the option to add more parameters 
im_sla_parameter_list_component       Returns a HTML component with a mix of SLA parameters and indicators. 
im_sla_parameter_permissions       Fill the "by-reference" variables read, write and admin with the permissions of $user_id on $ticket_id 
im_sla_service_hours_component       Returns a HTML component with a component to display and modify working hours for the 7 days of the week. 
im_sla_ticket_close_resolved_tickets_sweeper       Set ticket statatus to "closed" after the ticket is in status "resolved" for a certain time. 
im_sla_ticket_solution_time_sweeper       Calculates "resolution time" for all open tickets. 
im_sla_ticket_solution_time_sweeper_helper       Calculates "resolution time" for all open tickets. 
im_sla_ticket_traffic_light_sweeper_helper       Calculates the green/yellow/red status of tickets depending on solution time and SLA parameters. 
im_ticket_priority_lookup       Takes ticket_type and ticket_status to lookup the ticket priority in the "map". 
im_ticket_priority_map_component       Returns a HTML component with a component containing a list of ticket_type x ticket_severity => ticket_priority tuples. 

SQL Files


Content Pages

      new.tcl Show, create and edit a single SLA parameter
      related-objects-associate-2.tcl Associate the ticket_ids in "tid" with one of the specified objects.
      related-objects-associate.tcl Allow the user to create new OpenACS relationships.
      report-resolution-time-per-support-group.tcl Resolution Time per Support Group This report shows ticket information (resolution time) for the people serving tickets.
           sla-reaction-time.tcl Show Reaction time per ticket
           sla-resolution-time.tcl Show Resolution time per ticket
      service-hours-save.tcl Associate the ticket_ids in "tid" with one of the specified objects.
      sla-parameter-action.tcl Takes commands from the /intranet-sla-management/index page or the sla-parameter-indicator-component and perform the selected action on the selected items
      ticket-priority-add.tcl Add a new tuple to the priority map at the SLA
      ticket-priority-del.tcl Add a new tuple to the priority map at the SLA


  Contact Us
  Project Open Business Solutions S.L.

Calle Aprestadora 19, 12o-2a

08902 Hospitalet de Llobregat (Barcelona)


 Tel Europe: +34 609 953 751
 Tel US: +1 415 200 2465
 Mail: info@project-open.com