3Appointment Booking Integration
Appointment Booking Integration
This chapter describes the appointment booking process integration. It includes the following topics:
Overview of Appointment Booking Integration
The appointment booking process includes the following flows:
Get and Confirm Appointment. Makes an appointment request, displays the available slots, and then confirms one of the slots.
Reschedule an Appointment. Rebooks a previously confirmed appointment.
Cancel an Appointment. Cancels a confirmed appointment.
Update an Appointment. Updates activity details.
SLA Based Appointment (Contract Scheduling). Inserts an appointment into an optimized schedule to meet the SLA Service Level Agreement (SLA) requirements of the customer.
Get Latest Appointment Details. Gets the latest appointment details from Oracle Real-Time Scheduler.
Book Appointment for Child Activity. Makes an appointment request for a bounded job.
A composite is a deployment unit of the Service-Oriented Architecture (SOA) composite architecture that Oracle SOA Suite 11g supports. A composite includes various components, such as Mediator, BPEL flow, Adapters, and so forth. Siebel Field Service Integration to Oracle Real-Time Scheduler creates a single SOA composite to perform tasks that are related to the Appointment Booking System (ABS). The entry point to this composite is an outbound Web service call from Siebel CRM.
The Web Service Definition Language (WSDL) file defines the operations and the expected message formats. The service that is available is the entry point that Siebel CRM uses to target the Siebel CRM Web service request. Separate operations are defined within the WSDL to book an appointment, cancel an appointment, and so forth.
A single Business Process Execution Language (BPEL) process handles requests that occur in this composite. The mediator sets the OPERATION_TYPE global variable in the BPEL process in one of the following ways:
To Book_Appt if the Web service operation is Book_Appointment
To Confirm_Appt if the Web service operation is Confirm_Appointment
And so forth for other Web service operations
This integration handles these requests so that it can use a single Business Process Execution Language (BPEL) process for these tasks and so that it can place a switch inside the BPEL that calls the appropriate Oracle Real-Time Scheduler Web service.
For more information, see Integration Services
Integration Flows That Book an Appointment
This topic describes the integration flows in the Appointment Booking System composite. It includes the following topics:
Integration Flow That Schedules an Appointment According to a Contract
Integration Flow That Retrieves Activity Details from Oracle Real-Time Scheduler
Integration Flow That Books an Appointment for a Child Activity
For more information, see Hook Points That Book an Appointment.
Integration Flow That Books or Reschedules an Appointment
The following illustrates the integration flow to book an appointment. The flow to reschedule an appointment is same as the flow to book an appointment. The is a synchronous request and reply flow. It uses Simple Object Access Protocol (SOAP) over Hypertext Transfer Protocol (HTTP) for all interactions with Siebel CRM and Oracle Real-Time Scheduler. For more information, see Mapping Definitions That Book, Confirm, Insert, or Reschedule an Appointment.

Explanation of Callouts
The integration flow to book or reschedule an appointment includes the following steps:
Receives input from Siebel CRM.
Siebel CRM makes a Web service call to the Book_Appointment method of the ABSService Web service.
The mediator forwards the request to the BPEL flow.
The decision diamond represents a case statement. If the flow is a book appointment flow, then this integration performs the flow illustrated in the Integration Flow to Book or Reschedule an Appointment. For other flows, see the appropriate topic in this book.
To get slots from Oracle Real-Time Scheduler, the BPEL flow calls the M1-RouteAppointmentRequestToScheduler Web service method of Oracle Real-Time Scheduler.
If there is a network error, then this integration automatically attempts to communicate again with the Web service. A network error indicates that this integration cannot establish communication with the Oracle Real-Time Scheduler Web service.
The BPEL flow formats the slots that Oracle Real-Time Scheduler returns and sends them back to Siebel CRM.
For more information, see Integration Services.
How This Integration Locks Assignments and Schedules
This integration locks assignments and schedules in the following ways:
If the Lock Assignment flag is set in the Web service input that the BPEL flow receives, then this integration sets the ROW_ID of the employee at the Allowed Crew Name field while sending the request to Oracle Real-Time Scheduler.
If the Lock Schedule flag is set in the input, then this integration does not set the period of the request from the earliest start field and latest start field that the input specifies. Instead, it uses the planned start and planned end fields of the input. This integration uses a tolerance of plus or minus ten minutes for the duration of the time period.
Domain Value Map That Books or Reschedules an Appointment
A domain value map (DVM) is an SOA utility that facilitates the mapping of a list of values from one application to another application. In this integration, the Siebel application provides source values to Oracle Real-Time Scheduler. For example, assume the State value in a list of values includes the following values:
CA in Siebel CRM
California in Oracle Real-Time Scheduler
The DVM maps CA to California.
The following table describes the DVM that occurs in the book and reschedule appointment flow. This integration assumes that all DVMs are stored on the Oracle Meta Data Services (MDS). The Oracle MDS is a shared area in Oracle Fusion Middleware. It can reference a database or files. To support access to the same DVMs and cross references for multiple composites, this integration assumes Oracle MDS references a database. For more information, see Configuring Domain Value Maps.
DVM | Description |
---|---|
SBL_ORS_Parameter_Definition.dvm |
This integration uses the following DVM parameters:
For more information, see Mapping Run-Time Parameters. |
DVM- SBL_ORS_Endpoint_Definition.dvm |
This integration uses the Appointment Booking DVM parameter. |
Integration Flow That Confirms an Appointment
The integration flow to confirm an appointment is the same as the flow to book or reschedule an appointment illustrated in Integration Flow That Books or Reschedules an Appointment except for the following differences:
Siebel CRM makes a Web service call to the Confirm_Appointment method of the ABSService Web service.
To confirm the chosen slot, the BPEL flow calls the M1-MaintainActivityByHost Web service method of Oracle Real-Time Scheduler.
The BPEL flow sends the reply that it receives from Oracle Real-Time Scheduler to Siebel CRM. The reply from Oracle Real-Time Scheduler can be a success or failure.
For more information, see Integration Services and Mapping Definitions That Manage an Appointment.
DVM That Confirms an Appointment
The following table describes the DVM to confirm an appointment. For more information, see Configuring Domain Value Maps.
DVM | Description |
---|---|
SBL_ORS_Parameter_Definition.dvm |
This integration uses the following DVM parameters:
|
DVM- SBL_ORS_Endpoint_Definition.dvm |
This integration uses the Activity Maintenance DVM parameter. |
Integration Flow That Cancels an Appointment
The integration flow to cancel an appointment is the same as the flow to confirm an appointment described in Integration Flow That Confirms an Appointment except for the following differences:
Siebel CRM calls the Cancel_Appointment method.
To cancel the appointment in Oracle Real-Time Scheduler, the BPEL flow calls the M1-ActivityStatusUpdatesFromHost Web service method of Oracle Real-Time Scheduler.
For more information, see Integration Services and Mapping Definitions That Cancel an Appointment.
DVM That Cancels an Appointment
The following table describes the DVM to cancel an appointment. For more information, see Configuring Domain Value Maps.
DVM | Description |
---|---|
SBL_ORS_Endpoint_Definition.dvm |
This integration uses StatusUpdatesFromHost DVM parameter. |
Integration Flow That Schedules an Appointment According to a Contract
The integration flow to schedule an appointment according to a contract is the same as the flow to confirm an appointment described in Integration Flow That Confirms an Appointment except for the following differences:
Siebel CRM calls the Upsert_Activity method.
To insert the activity in Oracle Real-Time Scheduler, the BPEL flow calls the M1-MaintainActivityByHost Web service method of Oracle Real-Time Scheduler.
For more information, see Integration Services.
DVM That Schedules an Appointment According to a Contract
The following table describes the DVM to schedule an appointment according to a contract. For more information, see Configuring Domain Value Maps.
DVM | Description |
---|---|
SBL_ORS_Endpoint_Definition.dvm |
This integration uses Activity Maintenance DVM parameter. |
Integration Flow That Updates and Inserts an Appointment
The integration flow to update and insert an appointment is the same as the flow to confirm an appointment described in Integration Flow That Confirms an Appointment except for the following differences:
Siebel CRM calls the Upsert_Activity method. Upsert means to perform an update operation and an insert operation.
To insert the activity in Oracle Real-Time Scheduler, the BPEL flow calls the M1-MaintainActivityByHost Web service method.
DVM That Updates and Inserts an Appointment
The DVM to update and insert an appointment is the same as the DVM to schedule an appointment according to a contract. For more information, see DVM That Schedules an Appointment According to a Contract.
Output XSD That Updates and Inserts an Appointment
The output XML Schema Definition (XSD) to update and insert an appointment is the same as the output XSD it uses to confirm an appointment. For more information, see Integration Services.
Integration Flow That Retrieves Activity Details from Oracle Real-Time Scheduler
The details of an appointment continue to change in Oracle Real-Time Scheduler even after the customer service representative (CSR) confirms the appointment. Details include Crew assigned to the activity, planned start, and so forth. If the CSR requires the current details of the activity, then the CSR must click Refresh Activity in Siebel CRM.
The integration flow to retrieve activity details is the same as the flow to book or reschedule an appointment illustrated in Integration Flow That Books or Reschedules an Appointment except for the following differences:
Siebel CRM calls the Retrieve_Activity_State method of the ActivityStateRetrieval Web service.
To get the latest details on the activity from Oracle Real-Time Scheduler, the BPEL flow calls the M1-ActivityStatusInquiry Web service method.
The BPEL flow formats the reply that it receives from Oracle Real-Time Scheduler and then sends this reply to Siebel CRM.
This integration uses the ActivityLatestStateRetrieval_EBF project to get appointment details.
For more information, see the following topics:
DVM That Gets Appointment Details
The following table describes the DVM to get appointment details. This integration assumes that all DVMs are stored on the Oracle MDS. For more information, see Configuring Domain Value Maps.
DVM | Description |
---|---|
SBL_ORS_Endpoint_Definition.dvm |
This integration uses the ActivityStatusInquiry DVM parameter. |
ORS_to_SBL_ActivityStatusMapping.dvm |
Used to extract the Siebel CRM equivalent of an Oracle Real-Time Scheduler status. For more information, see Configuring Domain Value Maps. |
Integration Flow That Books an Appointment for a Child Activity
Users must associate an already booked activity, which will be the parent activity for the current activity, and set the minimum offset duration (within which the child activity has to be scheduled from parent activity) and the maximum offset (within which the child activity has to be scheduled from parent activity) activity. The minimum offset and maximum offset are in minutes and considered from the Start time of the Parent activity.
When you click of Book Appointment, Siebel CRM makes a Web service call to the Upsert_Appointment method of the ABSService Web service. The mediator forwards the request to the BPEL flow to insert the activity in Oracle Real-Time Scheduler. The BPEL flow then calls the M1- MaintainActivityByHost Web service method from the Oracle Real-Time Scheduler. Instead of displaying the slots, Siebel CRM will display a confirmation message while booking an appointment for Child Activity.
Web Services That Book an Appointment
This topic describes Web services that book an appointment.
Outbound Web Service That Books an Appointment
The following table describes the outbound Web service for the Appointment Booking System.
Web Service Name | Proxy Business Service Name |
---|---|
ABSWebService |
ABSWebServiceSoap |
The Data Type property is Integration Object for all method arguments of the ABSWebService Web service that book an appointment.
Name | Integration Object Name | Type |
---|---|---|
Book_Appointment_IN:in |
Abssiebel |
Input |
Book_Appointment_OUT:out |
BOOK_APPT_RESPONSE |
Output |
Name | Integration Object Name | Type |
---|---|---|
Cancel_Appointment_IN:in |
Abssiebel |
Input |
Cancel_Appointment_OUT:out |
CANCEL_APPT_RESPONSE |
Output |
Name | Integration Object Name | Type |
---|---|---|
Confirm_Appointment_IN:in |
Abssiebel |
Input |
Confirm_Appointment_OUT:out |
CONFIRM_APPT_RESPONSE |
Output |
Name | Integration Object Name | Type |
---|---|---|
Contract_Scheduling_IN:in |
Abssiebel |
Input |
Contract_Scheduling_OUT:out |
CONFIRM_APPT_RESPONSE |
Output |
Name | Integration Object Name | Type |
---|---|---|
Upsert_Activity_IN:in |
Abssiebel |
Input |
Upsert_Activity_OUT:out |
UPSERT_ACTIVITY_RESPONSE |
Output |
Integration Objects That Book an Appointment
Integration Object Name | Business Object | Type |
---|---|---|
Abssiebel |
Action |
Hierarchy |
BOOK_APPT_RESPONSE |
Not applicable |
XML |
CONFIRM_APPT_RESPONSE |
||
CANCEL_APPT_RESPONSE |
||
UPSERT_ACTIVITY_RESPONSE |
Integration Component | Business Component | Parent Integration Component |
---|---|---|
Action |
Action |
Not applicable |
Action_Service Address |
CUT Address |
Action |
FS Activity Skill |
FS Activity Skill |
Action |
FS Activity Skill Item |
FS Activity Skill Item |
FS Activity Skill Item |
Integration Component | Business Component | Parent Integration Component |
---|---|---|
CHS_REPLY |
CHS_REPLY |
BOOK_APPT_RESPONSE |
ERROR |
ERROR |
BOOK_APPT_RESPONSE |
RESULT |
RESULT |
BOOK_APPT_RESPONSE |
Integration Component | Business Component | Parent Integration Component |
---|---|---|
CANCEL_APPT_RESPONSE |
CANCEL_APPT_RESPONSE |
Not applicable |
ERROR |
ERROR |
CANCEL_APPT_RESPONSE |
RESULT |
RESULT |
CANCEL_APPT_RESPONSE |
Integration Component | Business Component | Parent Integration Component |
---|---|---|
CONFIRM_APPT_RESPONSE |
CONFIRM_APPT_RESPONSE |
Not applicable |
ERROR |
ERROR |
CONFIRM_APPT_RESPONSE |
RESULT |
RESULT |
CONFIRM_APPT_RESPONSE |
Integration Component | Business Component | Parent Integration Component |
---|---|---|
UPSERT_ACTIVITY_RESPONSE |
UPSERT_ACTIVITY_RESPONSE |
Not applicable |
ERROR |
ERROR |
UPSERT_ACTIVITY_RESPONSE |
RESULT |
RESULT |
UPSERT_ACTIVITY_RESPONSE |