Академический Документы
Профессиональный Документы
Культура Документы
Business Events
Version 5.0
September 2007
BUSINESS EVENTS
Copyright
2007 MICROS Systems, Inc. All rights reserved. No part of this publication may be reproduced, photocopied, stored on a
retrieval system, or transmitted without the express prior written consent of the publisher. MICROS Systems, Inc. retains the right
to update or change the contents of this document without prior notice. MICROS Systems, Inc. assumes no responsibility for the
contents of this document.
OPERA is a trademark of MICROS Systems, Inc.
On Oracle and the On Oracle logo are trademarks of Oracle Corporation.
Information in this document is subject to change without notice.
MICROS Systems, Inc. makes no warranty of any kind with regard to this material, including but not limited to the implied
warranties of marketability and fitness for a particular purpose.
MICROS Systems, Inc. shall not be liable for errors contained herein or for incidental or consequential damages in connection
with the furnishing, performance, or use of this material.
Document Number:
MICROS Systems, Inc.
Fidelio Technologies Inc.
2640 Golden Gate Parkway, Suite 211
Naples, FL 34105
Voice: (239) 643-7999 / Fax: (239) 643-7911
PAGE 2
SEPTEMBER 2007
BUSINESS EVENTS
Table of Contents
OVERVIEW..................................................................................................................................... 4
EXTERNAL SYSTEM SET-UP ............................................................................................................ 5
BUSINESS EVENT CONFIGURATION ............................................................................................... 6
Business Event Setup Screen ................................................................................................................ 6
Business Event Setup Edit Screen.......................................................................................................... 7
PAGE 3
SEPTEMBER 2007
BUSINESS EVENTS
Overview
Opera Business Events provide third party vendors the ability to extract data on over 2500
configuration combinations on the following Opera modules: Availability, Block, Cashiering,
Configuration, Housekeeping, Night Audit, Profile, Rate, and Reservation. In order to begin
collecting business event data, an external system or third party license code is required, such
as a Micros-Fidelio or third party Central Reservation System, Spa System, or Yield
Management system. Once the license code(s) is activated, subscription of business events can
commence. In addition to subscribing to the over 2500 module/business event/data element
combinations, Business Event setup configuration allows for optional customization of
subscribed data by using where clauses to further filter business event data.
Once configuration is complete, only transactions whose modules/data elements/action type
combinations are subscribed to will generate a message in Extensible Markup Language (XML)
format to the Business Event Out Queue for dequeuing by the third party vendor or external
system.
PAGE 4
September 2007
BUSINESS EVENTS
If the YS would like to get Business Events that are generated from both OPERA PMS
and the CRS.
The Publisher would then be set on YS External System. Highlight YS->Publisher>New->select the External System YS would like to receive generated Business Events
from (CRS in this scenario)->select a Property->Close
If the CRS would like to receive Business Event messages when the YS sets restrictions
or Hurdle Rates.
The Publisher would then be on CRS External System. Highlight CRS->Publisher>New->select the External System CRS would like to receive generated Business
Events from (YS in this scenario)->select a Property->Close
PAGE 5
September 2007
BUSINESS EVENTS
An External System and Module must be selected before configuring business events. This may
be done by entering the name or selecting from the list of values. Modules available include
Availability, Block, Cashiering, Configuration, Enrollment, Housekeeping, End of Day, Profile,
Rate and Reservation. Select the New/Edit button to select Data Elements and establish Where
Clause Conditions.
PAGE 6
September 2007
BUSINESS EVENTS
Search Criteria
External System. Select the down arrow to select the external system from a single-select list
of values.
Module. Select the down arrow to select the module from the single-select list of values.
Grids
Business Event. Displays the Business Events that are configured for the External System and
Module that are showing in the Search Criteria.
Data Element. Displays the Data Elements that are configured for the Business Event, that is
part of the External System and Module showing in the Search Criteria.
Button Functions
Search. Searches for the criteria that is entered in the External System and Module search
criteria fields. Button is inactive until both of the search criteria fields have been selected and
filled.
New. Adds a new data element for the selected business event. This does not mean that the
Business Event that is highlighted is the one that the new data element will be applied to. As
seen in the Business Event Setup Edit Screen section below, the Business Event that the data
element is applied to is selected from the Business Event list of values.
Edit. Edits the selected business event that is highlighted in the Business Event grid. Button is
not available when no records are displayed in the grids.
Delete. Deletes the selected business event that is highlighted in the Business Event grid. A
Yes/No prompt is displayed to confirm deletion of the business event. Button is not available
when no records are displayed in the grids.
Close. Closes out of the Business Event functionality.
PAGE 7
September 2007
BUSINESS EVENTS
Note: This setup will determine the data received in the XML Message. The event items will be sent if
at least one of the selected items is changed.
Data Elements can be selected by highlighting one element at a time (and left click) or using
the Space Bar. An X will appear next to the Data Elements indicating the selection. The Element
Search field is available for searching on a specific data element name.
Where Conditions. To configure a Where Condition, select the Condition button on the
Business Event Setup screen.
PAGE 8
September 2007
BUSINESS EVENTS
Operator
=
!=
Like/Not Like
In
Description
Equality test. Checks for equality of two operands.
Inequality test (i.e., not equals). Checks for
inequality of two operands.
Case sensitive, character-string pattern matching
with wild cards - to match exactly one character
and % to match zero or more characters.
Selects rows in which the column value is equal to
any one of a list.
Between
And
Or
Example
Room Type = 'PM'
Room Type != 'PM'
Departure Carrier Code
Like 'Delta' (all or part of
the word can be entered)
Departure Carrier Code In
'Delta', 'Northwest',
'American Airlines'
Arrival Estimate Time
Between '01-05-00' and
'02-01-00'
New Room Type != 'PM
And New Reservation Type
= 'Due In'
New Room Type != 'PM Or
New Reservation Type =
'Due In'
Column 3. Descriptive text may be entered into the text field. Text must be separated using a
comma (,) when specifying multiple objects. For example, Delta, Northwest.
Column 4. (Not Required) And/Or used for multiple Where Conditions pertaining to one
module/data element combination.
Button Functions
Add. Select the Add button to configure a new Where Condition. After entering values in the
appropriate fields, select the OK button to save the condition. Multiple Where Conditions may
be configured by simply continuing these steps.
Update. Highlight the condition you wish to modify and make the appropriate changes. Select
the Update button and OK to save these changes.
Delete. Highlight the condition you wish to delete and select the Delete button. Multiple
Where Conditions can be deleted at one time by marking the conditions with an X and then
selecting Delete.
Note: Where Conditions should be constructed with the understanding that if the conditions are met
that a message will be triggered.
Example: The result of this condition would be to send reservations that have a block code of
Test Block.
Data
Element
Block Code
Operator
Descriptive Text
Test Block
And/Or
When the business event set-up is complete and all of the above assumptions are met,
messaging will begin. Messages will be sent to the business event queue for retrieval from the
External System.
Note: Business Events (also referred to as a trigger) will only be sent and contain the specific data
elements established during set up.
PAGE 9
September 2007
BUSINESS EVENTS
Dequeing Messages
Special Characters: In order to have the capability to parse the output of messages containing
special characters (for example, foreign language correspondence), the client PC that dequeues
should have the same NLS_LANG registry setting as the database.
If multiple Oracle Homes exist, then all the Oracle Homes should have the same NLS_LANG
configured as above.
PAGE 10
September 2007
BUSINESS EVENTS
Note: When changing a status of Out of Order or Out of Service, a business event will be triggered
for both the new room status and the previous status. This is done because if a property is not
subscribed to both the Out of Order and Out of Service business events and only one, then if the
room status is changed to the other, the business event will not be triggered and the external system
would never know that the room status had been updated.
Dequeue function
Function get_event_XML
out_event
in_wait_mode
in_commit_inside
return integer;
This procedure should delete the records of the dequeued message from business_events table
once it successfully delivered the xml string. The parameter in_commit_inside will always be
passed as N when it is across the instance of the database.
Remarks:
Function InitSettings: Needs to check if the given resort id is valid, if the given external
system id is valid; if the given values are valid stores the values in the global variables; needs
to call pms_init ? Store result in iInitStatus
PAGE 11
September 2007
BUSINESS EVENTS
Returncodes
0
-2
-3
-4
-99
0
-1
-2
-99
Example:
Declare
vResort varchar2(20) := FDH;
vExtSystem varchar2(20) := OPUS2;
vEvent varchar2(32000);
boShowOld boolean := True;
boIgnoreNull boolean := False;
iResult integer;
begin
iResult := Business_Event_Ext.InitSettings
(vResort, vExtSystem, boShowOld, boIgnoreNull);
if iResult=0 then
loop
iResult := Business_Event_Ext.Get_Event_XML(vEvent, null, null)
if iResult=0 then
-- call logic to send / store / process XML
else
-- call logic to handle / log return code
Exit;
end if;
end loop;
else
-- call logic to handle / log return code
end if;
end;
Part I I
External system -> OPERA PMS
Package : pms_p
PROCEDURE initialize(in_user IN VARCHAR2,
in_password IN VARCHAR2,
in_resort IN VARCHAR2 DEFAULT NULL,
in_business_date in date default null)
in_user ---'XXXXX'
in_password = '$$$XXXXX$$'
in_resort = 'FDH'
in_business_date --null.
Note: Xs represent user and password established for your company.
Note: The external system needs to call this initialization routine every time they login into
PMS system.
PAGE 12
September 2007
BUSINESS EVENTS
Note: Purging Data - The Business Event Queue will purge messages that are 96 hours old. This job
will be triggered by night audit in PMS. Data will not be purged UNTIL the End of Day routine is
completed in Opera; therefore it is feasible to accumulate data beyond the 96-hour threshold as in
the case of a new install not running the night audit for more than 96-hours.
PAGE 13
September 2007
BUSINESS EVENTS
Reservations
Blocks
Profiles
Availability
Night Audit
Rates
Profiles History
Configuration
With the exception of Profiles History, all the above are standard modules in Business Event
Setup. Data synchronization is dependent on the subscription of Business Events and Data
Elements within each module. Profiles History consists of stored reservation history records
from a legacy system that has migrated to Opera and is stored in the Reservation History table.
This is assuming data migration took place.
Upon entry to the Business Event Synchronization menu, a message will display to warn the
user of the affect this will have on the Opera application. This is a warning message only. The
message display reads as follows:
Please ensure all users are logged out of Opera. This process will cause a slowdown of the
application and large amounts of data to be placed in the action logs.
To capture messages generated by the Business Event Synchronization, the Business Events
Processor must be running. Select the appropriate External System from the drop-down menu.
Check the appropriate Business Event Module(s) that the data is being requested for and enter
the corresponding dates for the data being requested. Multiple modules can be selected at a
time. The generated XML messages will be sent in the standard format and can be dequeued in
the normal manner. The messages sent to the Out Queue will be grouped per Module. For
instance, if Reservations and Availability Resynchronization was run, first all Reservation
messages will be generated and then Availability messages will be generated.
PAGE 14
September 2007
BUSINESS EVENTS
Note: As synchronized data can carry a high volume of transactions, it is essential that this
utility is executed during off peak processing, when limited access can be restricted to Opera so
as to not adversely affect system performance.
In addition it should be noted that due to the nature of the amount of data being
passed between the systems, it is essential that archive logs are constantly being
monitored and that sufficient space exists.
PAGE 15
September 2007
BUSINESS EVENTS
<key>10460</key>
<creationDate>2001-08-07T13:59:26.000</creationDate>
<businessDate>2001-07-24T13:42:20.000</businessDate>
<Name dataType="string">
<newValue>Johnson</newValue>
<oldValue>Johnson</oldValue>
</Name>
<ConfirmationNo dataType="string">
<newValue>10480</newValue>
<oldValue>10480</oldValue>
</ConfirmationNo>
<TravelAgentName dataType="string">
<newValue>Seven Seas Travel</newValue>
<oldValue>Seven Seas Travel</oldValue>
</TravelAgentName>
<CompanyName dataType="string">
<newValue>Atlas Corporation</newValue>
<oldValue>Atlas Corporation</oldValue>
</CompanyName>
Note: Non-synchronized business events will continue to display the eventState = STANDARD.
Data Element.
PAGE 16
September 2007
BUSINESS EVENTS
Action Types (Action Types for each module are located to the right of the Data Type
column).
Trouble Shooting:
In Queue:
To delete subscriptions from the backend must do in the following order due to child/parent
relationships
BEGIN
DELETE FROM ACTION_TYPE_SUBSCRIPTION_WHERE WHERE EXT_SYSTEM_CODE = 'FTCRS';
DELETE FROM ACTION_TYPE_SUBSCRIPTION_DTLS WHERE EXT_SYSTEM_CODE = 'FTCRS';
DELETE FROM ACTION_TYPE_SUBSCRIPTION WHERE EXT_SYSTEM_CODE = 'FTCRS';
COMMIT;
END;
PAGE 17
September 2007