11Availability-Based Assignment

About Availability-Based Assignment

Siebel Assignment Manager has the ability to assign employees based on their calendar availability and can find out whether candidates are working at the required time, and whether their calendar is free, before assigning an item to a candidate or team. This feature is used on employee-based assignment objects only, and requires the installation and licensing of the Siebel Field Service option, because it depends on the Appointment Booking System (ABS) in Siebel Field Service to check employee availability.

However, availability-based assignment is not limited to use in the Field Service application, and can be used in any application that has employee-based objects. In general, this feature is meant for use with employee-based objects that have an associated time duration, such as activities and service requests.

To use this feature, certain properties of the assignment object require configuration in Siebel Tools. The Activity assignment object is, by default, partially preconfigured for use with availability assignment; the Service Request assignment object, however, is not. Both of these assignment objects require configuration in Siebel Tools to activate availability-based assignment. For more information about these procedures, see Process of Configuring Assignment Objects for Availability-Based Assignment. Assignment Manager can also be configured to create an activity in the calendar of the candidate assigned to the object.

After an object is configured for availability-based assignment, an assignment rule activates this feature by means of a check box on the Assignment Rule detail applet. You can further customize Assignment Manager for availability-based assignment, by configuring assignment object user properties.

About Assigning Employees to Assignment Rules Based on Availability

You can create assignment rules for employee-based objects using availability-based assignment, which allows Siebel Assignment Manager to check an employee's calendar and to consider the employee's availability when determining assignment eligibility. Assignment objects must be preconfigured before using the assignment availability criteria feature.

When an assignment object is configured for availability, a user specifies the following three times for the assignment object:

  • Early Start Time. (Optional) The earliest time the assignment object can be scheduled (specified in the Calendar Early Start Time Column property of the assignment object).

  • If this time is specified, then Assignment Manager looks for an available slot for the specified duration in the employees' schedules with the starting time anywhere between the Early Start Time and the Start Time. If this time is not specified, then it defaults to the Must Start Time, which means that Assignment Manager looks for an available slot for the specified duration starting exactly at the start time.

  • Latest Start Time. The latest time the assignment object can be started (specified in the Calendar Start Time Column property of the assignment object).

  • Duration. The time in minutes required to finish the assignment object's task (specified in the Calendar Duration Column property of the assignment object).

Each of these times is accessed by Assignment Manager when determining the availability of an employee. Assignment Manager then uses the availability information like other criteria when evaluating employees for the assignment object.

Note: If the Calendar Early Start Time Column is not defined, but the Calendar Start Time Column is defined, then the Appointment Booking System checks to see whether employees are available or not at the exact Calendar Start Time. If both columns are defined, then the Appointment Booking System checks to see whether employees are available or not during the period from Calendar Early Start Time Column to Calendar Start Time Column. For more information about the Appointment Booking System, see Siebel Field Service Guide.

Assignment Manager can also be configured to add an activity to the calendar of the employee who is assigned the assignment object. For example, if a service request is created with times indicating a service duration of four hours, then Assignment Manager evaluates the object's times and employees' schedules, and selects only employees who are available for the four hours indicated by the service object. Assignment Manager then selects the highest-scoring employee available and creates an activity for the employee (if the object is configured to assign activities). Employees can manually insert activities into their calendar to block assignments during specific periods. Similarly, an employee can delete activities created by the original assignment so further assignments can be made.

Assignment Manager functions for both single employees and teams. If an object is assigned to a team, then every employee within the team is assigned an activity for the duration of the assignment (if the object is configured to assign activities). Assignment Manager can assign activities for the same object at different times based on the calendars of individual team members. A calendar activity, however, cannot be split up across multiple dates and times.

When administrators define a new rule, selecting the Check Employee Calendar box activates the assignment availability criteria.

How Siebel Assignment Manager Creates Activities for Employees During Availability-Based Assignment

If an assignment rule has the Check Employee Calendar flag checked, then availability for each employee is evaluated before assignment. If the Calendar Create Activity property is also set for the assignment object, then make sure that an activity exists in the employee's calendar for that duration to block the schedule. The following figure shows a high-level flowchart of this process, which includes the following steps:

  1. If the calendar’s Check Employee check box is selected for the Assignment Rule, then Assignment Manager . . .

  2. Receives a candidate list comprising all employees who are available for the Period Start Time/Early Start Time and the Duration.

  3. Evaluates each candidate against the assignment rule criteria.

  4. Asssigns the object to the highest scoring employee from the list.

  5. If the calendar’s Create Activity property is defined for the assignment object, then . .

  6. An activity is created for the employee’s calendar to block that employee from further scheduling for the Duration Period.


High-Level Flowchart of Availability-Based Assignment: Described in the surrounding text..

Assignment Manager evaluates whether the Check Employee Calendar flag is checked (calendar rules) or not (noncalendar rules) and processes the rules differently based on this indication. If Assignment Manager is assigning activities, and if only one employee passes and that employee is from a calendar rule, then the original activity is reused and the employee is added to the owners list for that activity. This action blocks the employee's schedule. If more than one employee passes, then separate activities are created for each employee. In this case, the parent activity of all these additional activities is set to the original activity to make sure that all are related to each other.

If Assignment Manager is not assigning activities, then separate activities are created for each employee who passes and blocks their schedules.

Process of Configuring Assignment Objects for Availability-Based Assignment

When you configure assignment objects for availability-based assignment, Siebel Assignment Manager can review an employee's calendar as a criterion for assignment. If the employee's calendar has no activities booked at the time required by the object, and has a sufficient time period available for the object's duration, then the employee qualifies for assignment.

    Requirements

    Before configuring the assignment object, make sure that the following information is satisfied:

    • The Field Service component group is enabled.

      For more information about the Field Service component group, see Siebel System Administration Guide.

    • A mapping of the server to the Field Service components and region exists.

      For more information about Field Service components and regions, see Siebel Field Service Guide.

    • Employees are associated with service regions.

      For more information about Field Service regions, see Siebel Field Service Guide.

    • The object that you are configuring for assignment availability has the necessary columns in its database table.

      For more information about configuring for availability, see Extending an Assignment Object's Base Table for Availability-Based Assignment.

    By default, the Activity assignment object has the required columns in its database table for Start Time and Duration; however, one column must be extended if the Early Start Time property is desired. All other assignment objects must have their base tables extended if you want them enabled for availability-based assignment.

    To configure assignment objects for availability-based assignment, you must perform the following tasks:

    1. Extending an Assignment Object's Base Table for Availability-Based Assignment

    2. Configuring Assignment Object Properties for Availability-Based Assignment

    3. Configuring Assignment Object User Properties for Availability-Based Assignment

      Note: It is recommended that you review the topics on extension tables and columns in Configuring Siebel Business Applications before completing this process.

      Extending an Assignment Object's Base Table for Availability-Based Assignment

      Using Siebel Tools, you extend an assignment object's base table for availability-based assignment by performing the following tasks.

      This task is a step in Process of Configuring Assignment Objects for Availability-Based Assignment.

      To extend an assignment object's base table for availability-based assignment

      1. Start Siebel Tools.

      2. In the Object Explorer, expand the Table object, and then select Column.

      3. In the Tables window, query for the appropriate table.

        For example, if you are extending the Service Request assignment object, then query for the S_SRV_REQ table.

      4. With the table selected, choose Tools, then Lock Project (or Alt+L), to lock the project.

      5. In the Columns list, choose Edit, then Add New Record, to add the records as described in the following table.

        Property

        Record 1

        (Required)

        Record 2

        (Required)

        Record 3

        (Optional)

        Name

        X_DURN_MIN

        X_START_TIME

        X_EARLY_START_TIME

        Physical Type

        Number

        UTC Date Time

        UTC Date Time

        Length

        22

        7

        7

        Precision

        22

        Not applicable

        Not applicable

        Scale

        7

        Not applicable

        Not applicable

        LOV Type

        APPOINTMENT_DURATION

        Not applicable

        Not applicable

        Cascade Mode

        Ignore

        Ignore

        Ignore

        TxnLog Code

        TRUE

        TRUE

        TRUE

      6. After you have created the new records that you need in the Table column window, click Apply.

        Doing this sends the new columns to the appropriate tables in the database.

      7. Complete the fields in the Apply Schema dialog box.

        1. In the Tables field, click the select button, and choose one of the following:

          • All

          • Current Query

          • Current Row

        2. In the Table Owner Password field, enter the appropriate value.
        3. Click Apply.

          The base table is now extended with the following three columns: X_DURN_MIN, X_EARLY_START_TIME, and X_START_TIME.

          Note: For IBM DB2 for z/OS, you must create a storage control file to accommodate the table space. You provide the location of the control file in the Apply Schema dialog box accordingly. Create the storage control file from the SIEBSRVR_ROOT /bin directory, with a buffer pool size of either 16 KB or 32 KB. If the Siebel Server is running on UNIX or Linux, then the storage control file generation is command-driven. If the Siebel Server is running on Windows, then you generate the storage control file using the GUI.

        With the appropriate columns in place, you can now configure availability criteria for the assignment object.

        Configuring Assignment Object Properties for Availability-Based Assignment

        Using Siebel Tools, you configure an assignment object for availability-based assignment by setting the assignment object property and user property values and exposing some of those values in the user interface.

        This task is a step in Process of Configuring Assignment Objects for Availability-Based Assignment.

        To configure an assignment object for availability-based assignment

        1. Start Siebel Tools.

        2. In the Object Explorer, expand Workflow Policy Object and select the assignment object.

        3. With the object selected, choose Tools, then Lock Project (or Alt+L), to lock the project.

        4. In the Assignment Objects list, set the property values, as shown in the table below.

        The following table shows the assignment object property values that you set for availability-based assignment. Each property is specified as one value string.

        Property

        Description

        Calendar Activity Additional Fields

        (Optional) When this property is specified, Assignment Manager sets the field value to the row ID of the assignment object when it creates the activity. Assignment Manager also sets the additional fields to the specified field values. For example, for the Service Request object, you can specify the following fields: Activity SR Id, Type, To Do.

        Calendar Early Start Time Column

        (Optional) The table column that references the early start time of the object. For example, X_EARLY_START_TIME.

        Calendar Start Time Column

        The table column that references the start time of the object. For example, X_START_TIME.

        If a value is not specified in the Calendar Start Time Column property for an assignment object, then Assignment Manager does not check calendars when assigning that object, even if the Check Employee Calendar flag is checked on the assignment rule. Instead, Assignment Manager assigns all candidates who meet the criteria for the rule.

        For example, if you do not specify the Start Date or Due Date for an activity, then Assignment Manager does not check calendars when assigning this activity, even if the assignment rule has the Check Employee Calendar flag checked. Instead, Assignment Manager assigns all candidates who meet the criteria for the rule.

        Calendar Duration Column

        The table column that references the duration of the object. For example, WORK_TM_MIN.

        Calendar Create Activity

        (Optional) Check this column if you want an activity created for the assigned employee.

        TRUE = Activity is created in employee's calendar

        FALSE = Activity is not created in employee's calendar

        Note: You must configure this property if you plan to use the Appointment Booking System to detect conflicts. For more information about the Appointment Booking System, see About Availability-Based Assignment and see Siebel Field Service Guide.

        After the properties are configured for the assignment object, they must be made visible to the end user by adding them to the appropriate business component and applets.

        Configure certain assignment user properties to come from either the object row itself or through constants.

        For a procedure on how to do this, see Configuring Assignment Object User Properties for Availability-Based Assignment.

        To make assignment object properties visible to the user

        1. In the Object Explorer, expand Business Component, and select the appropriate business component.

        2. With the business component selected, choose Tools, then Lock Project (or Alt+L), to lock the project.

        3. In the Fields list, add the records as described in the following table.

          Property

          Record 1

          Record 2

          Record 3

          Name

          X_DURN_MIN

          X_EARLY_START_TIME

          X_START_TIME

          Changed

          Check the flag

          Check the flag

          Check the flag

          Column

          X_DURN_MIN

          X_EARLY_START_TIME

          X_START_TIME

          Text Length

          22

          7

          7

          Precision

          22

          Not applicable

          Not applicable

          Type

          DTYPE_INTEGER

          DTYPE_DATETIME

          DTYPE_DATETIME

          Use Default Sensitivity

          Check the flag

          Check the flag

          Check the flag

        4. In the Object Explorer, expand Applet, and select the appropriate List Applet.

        5. With the business component selected, choose Tools, then Lock Project (or Alt+L), to lock the project.

        6. In the List Column list, add the records as described in the following table.

          Property

          Record 1

          Record 2

          Record 3

          Field

          X_DURN_MIN

          X_EARLY_START_TIME

          X_START_TIME

          Changed

          Check the flag

          Check the flag

          Check the flag

          Available

          Check the flag

          Check the flag

          Check the flag

          Display Name

          X_DURN_MIN

          X_EARLY_START_TIME

          X_START_TIME

          HTML Display Mode

          Encode Data

          Encode Data

          Encode Data

          HTML List Edit

          Check the flag

          Check the flag

          Check the flag

          HTML Row Sensitive

          Check the flag

          Check the flag

          Check the flag

          HTML Type

          Text

          Text

          Text

          Runtime

          Check the flag

          Check the flag

          Check the flag

          Text Alignment

          Left (that is, first character alignment)

          Left (that is, first character alignment)

          Left (that is, first character alignment)

        7. Select the appropriate browser from the Target Browser picklist.

          To expose the Target Browser picklist, launch Siebel Tools. Choose View, then Toolbars, then Configuration Context, and select the Target Browser option from the toolbar.

          Configuring Assignment Object User Properties for Availability-Based Assignment

          Using Siebel Tools, you configure the values of the Activity Type, Activity Priority, and Breakable Flag user properties for an assignment object to come from either the object row itself or through constants.

          This task is a step in Process of Configuring Assignment Objects for Availability-Based Assignment.

          To configure assignment object user properties for availability-based assignment

          1. Start Siebel Tools.

          2. In the Object Explorer, expand Workflow Policy Object and select the assignment object.

          3. With the object selected, choose Tools, then Lock Project (or Alt+L), to lock the project.

          4. In the Assignment Objects list, choose Edit, then New Record, to add the property values, as shown in the following table.

          5. After the user properties are configured for the assignment object, they must be made visible to the end user by adding them to the appropriate business component and applets.

            Note: Configure the views and applets with Start Time and Duration fields, such as is the case with Activity.

          For information about how to make the properties visible to the end user, see Using Siebel Tools.

          The following table shows the assignment object user property values that you set for availability-based assignment.
          Note: A column user property takes precedence over the corresponding value user property. For example, if you define a Breakable Flag Column user property and a Breakable Flag Value user property, then the Breakable Flag Column user property takes precedence. As an alternate method, you can configure the Calendar Activity Additional Fields property on the assignment object to specify the values of certain fields. Assignment Manager assigns in this order: column user property, then value user property, and then Calendar Activity Additional Fields property.

          Property

          Description

          Activity Breakable Flag Column

          The name of the column in the assignment object primary table that stores the value of the Breakable Flag property. When this property is defined and the Check Employee Calendar flag is checked on the assignment rule, Assignment Manager queries for the Activity Breakable Flag Column when it retrieves data from the object row, and passes this value to the Appointment Booking System when evaluating employee availability.

          For example, you can create a user property for the Activity assignment object with name=Activity Breakable Flag Column and value=ALLOW_BREAK_FLG.

          Activity Breakable Flag Value

          The constant value that is passed to the Appointment Booking System for the Breakable Flag field in the availability-based assignment. For example, you can create a user property for the Service Request assignment object where the name is Activity Breakable Flag Value, and the value is Y.

          Activity Priority Column

          The name of the column in the assignment object primary table that stores the value of the Activity Priority. When this property is defined and the Check Employee Calendar flag is checked on the assignment rule, Assignment Manager queries for the Activity Priority Column column when it retrieves data from the object row and passes this value to the Appointment Booking System when evaluating employee availability.

          For example, you can create a user property for the Activity assignment object, with name=Activity Priority Column and value=ALLOW_BREAK_FLG.

          Activity Priority Value

          The constant value that is passed to the Appointment Booking System for the Activity Priority field in availability-based assignment. For example, you can create a user property for the Service Request assignment object with name=Activity Priority Value and value=TRUE.

          Activity Type Column

          The name of the column in the assignment object primary table that stores the value of the Activity Type. When this property is defined and the Check Employee Calendar flag is checked on the assignment rule, Assignment Manager queries for this column when it retrieves data from the object row and passes this value to the Appointment Booking System when evaluating employee availability.

          For example, you can create an Activity assignment object with name=Activity Type Column and value=ALLOW_BREAK_FLG.

          Activity Type Value

          The constant value that is passed to the Appointment Booking System for the Activity Type field in availability-based assignment. For example, you can create a Service Request assignment object with name=Activity Type Value and value=TRUE.

            Example of Configuring the Service Request Assignment Object for Availability-Based Assignment

            This topic gives one example of creating an assignment rule that evaluates a service request object and assigns the object to the highest-scoring employee based on the employee's skill level and availability. You might use this feature differently, depending on your business model.

            The service request object, which is often associated with a job, a finite time period, and a specific owner, is an example of an object that can be assigned using Assignment Manager's availability-based assignment feature.

            To use the availability assignment feature, certain setup procedures must be performed in the Siebel Field Service application before creating the assignment rule. For more information about this feature and its requirements, see About Availability-Based Assignment. Several configurations must also be made to the assignment object before using the availability feature. See Process of Configuring Assignment Objects for Availability-Based Assignment.

              Requirements

              The following procedures assume that a service region (California Service Region), employees (West Coast Service Representative and West Coast Service Manager), and a product (Pentium III Desktop) are already defined. For information about defining service regions, see Siebel Field Service Guide.

                Setting Up Siebel Field Service for Availability Assignment

                Use the following procedure to set up the Siebel Field Service application for availability assignment.

                To set up the Field Service application for availability assignment
                1. Verify that a schedule exists with valid hours by navigating to the All Schedules view (Administration - Service screen, Schedules view).

                  For this example, select the 12x5 Support schedule in the Schedules List, and click the Schedule Hours view tab. Make sure that the hours listed are valid. The following figure shows this view (the Schedule Hours view tab).


                  The Schedule Hours view tab: In this image, the schedule for Monday to Friday is 7am to 7pm and Type is Normal. For Saturday, the schedule is 7am to 7pm and the Type is Overtime.
                2. Set up a Service Region.

                  Navigate to the Administration - Scheduling screen, and then the Service Regions view. For this example, select the California Service Region. In the Schedule field, select 12x5 Support.

                3. Set up the parameter set for the Service Region.

                  With California Service Region selected, navigate to the Parameters Sets view (in the Administration - Scheduling screen). For this example, select the West Coast Parameters used by the California Service Region, and then click the Parameters tab. Update the following parameter records:

                  • ABS Days to Start = 0

                  • ABS Days to End = 20

                  • ABS Logging Level = 4

                4. Set up server key mappings by navigating to the Server Key Mappings view in the Administration - Scheduling screen.

                  For this example, create a new record and save it with the following field values:

                  • Server = Siebel Server

                  • Process # = 0

                  • Service Region = California Service Region

                  • Component = ApptBook

                5. Associate employees to the service region by navigating to the Administration - User screen, and then the Employees view.

                  For this example, select the West Coast Service Representative and the West Coast Service Manager and click the Field Service Details tab. Edit the Schedule and Service Region fields with 12x5 Support and California Service Region, respectively.

                  Note: If service regions are modified or deleted, then you must release assignment rules to update the rulecache.dat file.

                  After the Field Service application is configured, create the assignment rule that uses the assignment availability feature.

                  Creating a Field Service Assignment Rule

                  Use the following procedure to create a field service availability assignment rule.

                  To create a field service assignment rule
                  1. Create the assignment rule by navigating to the Administration - Assignment screen, and then the Assignment Rules List view.

                    1. In the Assignment Rules List, choose Edit, then New Record.

                    2. In the new record, enter the following settings:

                      • Name = West Coast Service

                      • Objects to Be Assigned = Service Request

                      • Assignee Filter = One, Best Fit

                    3. Click the Check Employee Calendar checkbox to enable the rule for availability-based assignment.

                  2. Determine assignment criteria.

                    Navigate to the Criteria view tab and create Product criteria for the assignment rule. For this example, service representatives are evaluated with the Compare Object to Person comparison method, based on an employee's product knowledge.

                  3. Determine assignment criteria values.

                    Navigate to the Values view and create a new record with Pentium III desktop.

                  4. Define employees for the assignment rule.

                    Navigate to the Assignment Employee view and add West Coast Service Representative and the West Coast Service Manager to the assignment rule.

                  5. Release the assignment rule.

                    When a service request is created with attributes that match both West Coast service representatives, Siebel Assignment Manager, through the Appointment Booking System, assigns the employee who has available time in his or her calendar and work schedule. Optionally, the Appointment Booking System can create an activity in the assigned employee's calendar. For more information about the Appointment Booking System, see Siebel Field Service Guide.

                    The following figure shows an example of a field service assignment rule, where:

                    • Name = West Coast Service

                    • Objects to Be Assigned = Service Request

                    • Rule Group = FS_DISP_RULE GROUP

                    • Assignee Filter = One, Best Fit

                    • Candidate Passing Score = 0

                    • The Check Employee Calendar checkbox is activated, thereby enabling the rule for availability-based assignment.


                    A Field Service Assignment Rule with the Check Employee Calendar Field Activated: This image is described in the surrounding text.