Apendix C PMS Integration
Apendix C PMS Integration
3B
B
Appendix C
PMS Integration
Introduction
There are three ways to connect the PMS and Vision:
Direct Integration on the VingCard Vision server, via DLL calls (see this Appendix)
When the user leaves Vision, it will return to its minimized state, and give focus back to the PMS
system.
The PMS main menu could implement these Win32 API calls to handle it:
// Delphi Code to bring the Vision application in front
var
Wnd: HWnd;
begin
Wnd := FindWindow('TApplication', 'Vision');
if Wnd <> 0 then
SendMessage(Wnd, WM_SYSCOMMAND, SC_RESTORE, 0);
end;
// Delphi Code to minimize the Vision application
var
Wnd: HWnd;
begin
Wnd := FindWindow('TApplication', 'Vision');
if Wnd <> 0 then
SendMessage(Wnd, WM_SYSCOMMAND, SC_MINIMIZE, 0);
end;
Overview
In order to use the PMSIF.DLL/TCPPMSIF.DLL all Vision modules must to be properly installed
through the regular installation application, shipped with Vision. The Vision installation will require a
proper license code, which gives authorization to use the library.
The library requires that the main Vision application be running. The Vision main application loads all
other necessary modules needed to make Guest keycards.
The Vision main module executable can be started with a /MIN parameter, to tell it to operate in
minimized mode.
Modes of operation
The Vision system has four modes of operation when Guest keycards are made using the
PMSIF.DLL/TCPPMSIF.DLL library. The modes are set in the Vision setup module and stored in
the Vision database.
Mode
Description
Silent
Vision only displays the VingCard logo when encoding starts. When the card is
encoded the logo goes away.
Windows
Vision displays a standard Windows dialog with the same information as the
Touch screen mode.
Touch screen
Vision displays a touch screen message with room number and the number of
cards it encodes. The user can abort encoding by an abort button. When the card
is encoded the message goes away.
Full Vision
The Vision Guest keycard application uses the PMS input as default values and
runs a normal stand-alone full screen application. The user can enter and change
values as required.
Library functions
The PMSIF.DLL/TCPPMSIF.DLL interface library contains 11 functions/procedures to control the
keycard issuing and related topics from the PMS application.
The caller should use the stdcall calling convention when importing functions. This convention
passes parameters from right to the left, and the function removes parameters from the stack upon
returning.
PMSIF.DLL/TCPPMSIF.DLL library functions
Function Name
Description
PMSifRegister
PMSifUnregister
PMSifEncodeKcdLcl
PMSifEncodeKcdRmt
PMSifReturnKcdLcl
PMSifGetUserGroups
PMSifGetDefUserGroup
PMSifGetKeycardTypes
PMSifShutdownVision
PMSifRegister
Syntax-VB:
Syntax-Delphi:
Arguments:
Returns:
Description:
PMSifUnregister
Syntax-VB:
Syntax-Delphi:
Returns:
Description:
PMSifEncodeKcdLcl
Syntax-VB:
Syntax-Delphi:
Arguments:
Description:
PMSifEncodeKcdRmt
Syntax-VB:
Syntax-Delphi:
Arguments:
Description:
PMSifReturnKcdLcl
Syntax-VB:
Syntax-Delphi:
Arguments:
Returns:
Description:
PMSifGetUserGroups
Syntax-VB:
Syntax-Delphi:
Arguments:
Returns:
Description:
PMSifGetDefUserGroup
Syntax-VB:
Syntax-Delphi:
Arguments:
Returns:
Description:
PMSifGetKeycardTypes
Syntax-VB:
Syntax-Delphi:
Arguments:
Returns:
Description:
PMSifGetDefKeycardType
Syntax-VB:
Syntax-Delphi:
Arguments:
Returns:
Description:
PMSifGetAddress
Syntax-VB:
Syntax-Delphi:
Returns:
Arguments:
Description:
This function returns the PMS address (00-99) for a workstation name.
Use this function with PMSifEncodeKcdRmt, if the Vision PMS
address mapping is unknown.
The caller is responsible of allocating at least 2 bytes of buffer space + 1.
PMSifShutdownVision
Syntax-VB:
Syntax-Delphi:
Returns:
Description:
//CheckOutOldCheckInNew
//Room Number
//Keycard Type = guest
//CheckIn Date yyyymmddhhmm
//CheckOut Date yyyymmddhhmm
//User Group = VIP
//First Name
//Family Name
For example:
Account number 1112234567, Country 840(USA), Expiration date Dec. 94 Balance 8900
'11112234567=84094128900'
chDta = chDta + chr(ASCII_RS) + '2' +
'11112234567=84094128900';
//Track2 data
PMSifEncodeKcdLcl(ff, chDta, False, '1000', 'Randy', 'Smith');
When creating cards on a remote Vision station, it is necessary to include a destination and
source address. The destination address is a number between 0-99. The number for a specific
Vision station is defined in Vision setup:
PMSifEncodeKcdRmt(ff, chDta, '01', '02', False, '1000',
'Randy', 'Smith');
When creating both local and remote Keycards, you need to give a valid Keycard type and a
valid User group. These are lock terms in Vision. If these values are not available in the PMS
system, you can use one of the library functions to retrieve them.
See protocol parameter FID_USER_TYPE and FID_USER_GROUP in the Vision System
Handbook, and the following functions:
PMSifGetUserGroups
PMSifGetDefUserGroup
PMSifGetKeycardTypes
PMSifGetDefKeycardType
If you want to shut down the Vision system, for example when the PMS system shuts down,
you can solve this with a call to:
PMSifShutdownVision
Remember that the Guest Keycard service is not available after a successful call to this function.